我有一个powershell脚本,我已经写了,从一个OU获取所有的组,并将它们存储在一个variables$组。 我想能够访问每个组的用户,但似乎有麻烦。 我试过了:
foreach($group in $groups){$get-ADUser $group}
这给了我以下错误:
You must provide a value expression on the right-hand side of the '-' operator. At line:1 char:33 + foreach($group in $groups){$get- <<<< ADUser $group} + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : ExpectedValueExpression
我在Windows 7机器上使用Windows Server 2003 R2。 我很新,所以任何帮助,非常感谢。
仅检索作为用户的成员,而不检索组:
foreach($group in $groups) { Get-ADGroupMember $group | Where-Object {$_.objectClass -eq "user"} }
如果您希望间接使用组的成员的用户(通过嵌套组成员身份),请使用-Recursive开关参数:
foreach($group in $groups) { Get-ADGroupMember $group -Recursive | Where-Object {$_.objectClass -eq "user"} }
然后,您可以将输出分配给variables以供进一步使用,如下所示:
$AllGroupMembers = foreach($group in $groups) { Get-ADGroupMember $group -Recursive | Where-Object {$_.objectClass -eq "user"} }
尝试这个:
foreach ($group in $groups) { Get-ADGroupMember $group | select Name }
Get-ADUser正在寻找一个Active Directory用户对象,你基本上要做的是在Active Directory组对象上使用该cmdlet。