如何通过powershell获得一个广告组中包含多个子组的所有成员?
我想得到所有广告组成员的名字,但其中有很多子组。 我想知道如何更改下面的代码以实现目标。如何通过powershell获得一个广告组中包含多个子组的所有成员?,powershell,Powershell,我想得到所有广告组成员的名字,但其中有很多子组。 我想知道如何更改下面的代码以实现目标。 $UserList=Get-ADGroupmember-identity-adgroup |%{Get-aduser$|.samaccountname | select-userprincipalname}如果我正确理解了这个问题,您的代码几乎满足了您的需求,它现在只显示其他广告对象,而不仅仅是用户 如果是这种情况,则需要插入Where Object子句以过滤掉所有非用户对象: $UserList = Ge
$UserList=Get-ADGroupmember-identity-adgroup |%{Get-aduser$|.samaccountname | select-userprincipalname}
如果我正确理解了这个问题,您的代码几乎满足了您的需求,它现在只显示其他广告对象,而不仅仅是用户
如果是这种情况,则需要插入Where Object
子句以过滤掉所有非用户对象:
$UserList = Get-ADGroupmember -Identity adgroup -Recursive |
Where-Object { $_.objectClass -eq 'user' } | ForEach-Object {
Get-ADUser -Identity $_.SamAccountName | Select-Object UserPrincipalName
}
这将返回一个对象数组。如果您需要的是一个字符串数组(仅限用户名),请将参数ExpandProperty
添加到选择对象:
Select-Object -ExpandProperty UserPrincipalName
另外,如果您只想获得组中直接成员的用户列表,您可以删除
-递归开关如果我理解正确,您的代码几乎满足您的要求,它现在只显示其他广告对象,而不仅仅是用户
如果是这种情况,则需要插入Where Object
子句以过滤掉所有非用户对象:
$UserList = Get-ADGroupmember -Identity adgroup -Recursive |
Where-Object { $_.objectClass -eq 'user' } | ForEach-Object {
Get-ADUser -Identity $_.SamAccountName | Select-Object UserPrincipalName
}
这将返回一个对象数组。如果您需要的是一个字符串数组(仅限用户名),请将参数ExpandProperty
添加到选择对象:
Select-Object -ExpandProperty UserPrincipalName
注意:如果您只想获取组中直接成员的用户列表,您可以删除-Recursive
开关,这样您只需要用户组成员,然后忽略嵌套/子组?那么您只需要用户组成员,然后忽略嵌套/子组?