使用Powershell从Active Directory组中获取所有用户

我有一个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。