我一直在试用一个脚本来让AD组和组内的组成为AD用户。 该脚本无法有效地找到组中的组,我必须使用多个foreach循环。 是否可以使这个命令更有效/更小而不是使用foreach循环?
function GetADSubGroups ($object)
{
Get-ADPrincipalGroupMembership $object | ForEach {
$_
Get-ADPrincipalGroupMembership $_ | ForEach {
$_
Get-ADPrincipalGroupMembership $_ | ForEach {
$_
Get-ADPrincipalGroupMembership $_
}
}
}
}
GetADSubGroups 'testuser' | select name
答案 0 :(得分:1)
您可以使用while循环来消除所有foreach循环。同时删除Select
cmdlet并使用点表示法。所有这一切都应该加快25%左右。
$groups = Get-ADPrincipalGroupMembership 'testuser'
$allGroups =$null
While($groups){
$allGroups += $groups.Name
$groups = $groups.Name | Get-ADPrincipalGroupMembership
}
$allGroups