【发布时间】:2018-05-29 04:32:41
【问题描述】:
我是 Powershell 脚本的新手。我正在尝试在 GUI 框中检索域用户信息,例如帐户信息、密码过期/锁定信息、DL 组、邮箱、安全组(用户所属的组)等。
我可以获取帐户/密码信息,但是无法在文本框中获取群组成员信息。我只从组成员中获得第一组。 这是一个代码:
$userinfo = (Get-aduser $user -Properties *)
"============================================================================================================"
"`t `t `t `t `t `t ACCOUNT DETAILS"
"============================================================================================================"
$userinfo | fl DisplayName, EmailAddress, Enabled, Title, @{n="Manager";e={(Get-aduser -id $_.manager).name}},Department,@{n="Extension";e={$_.IPphone}}, TelephoneNumber, Created, Modified, UserPrincipalName, SamAccountName,@{n="Country";e={$_.co}}, Office, msExchWhenMailboxCreated
"============================================================================================================"
"`t `t `t `t `t PASSWORD/LOCKOUT DETAILS"
"============================================================================================================"
$userinfo | fl LockedOut, PasswordExpired, lockoutTime, LastLogonDate , LastBadPasswordAttempt, PasswordLastSet, @{Name="Password Expires in (days)";Expression={(new-timespan -start $EndDate -end ([datetime]::FromFileTime((Get-aduser $user -Properties "msDS-UserPasswordExpiryTimeComputed")."msDS-UserPasswordExpiryTimeComputed"))).Days}}
"============================================================================================================"
"`t `t `t `t `t Distribution Groups (AD)"
"============================================================================================================"
$userinfo.memberof | %{(get-adgroup -id $_ -Properties:groupcategory| ?{$_.groupcategory -match "Distribution" }).name}
这是输出文本框。
在文本框中显示结果时,Foreach 似乎无法正常工作。如果您需要更多信息,请告诉我。
【问题讨论】:
-
我错了还是你没有填写变量
$miduser?如果是这样,$miduser.memberof是空的,因此Foreach-Object没有什么可使用的,对吧? -
@Olaf,它将是 $userinfo 而不是 $miduser。当我在控制台上运行它或导出到 csv 时它工作正常,但不是在文本框中。
-
@TessellatingHeckler,我没有使用格式列表的输出。相反,我正在使用对象的 memberof 属性。在 ise 上运行或导出到 csv 但在 windows 窗体的文本框上运行时,相同的代码可以正常工作。
标签: powershell