Public/get-AllegisADRecursiveGroupMembership.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
function get-AllegisADRecursiveGroupMembership ($groupName,$domain) { function get-AllegisADchildgroup ($groupName,$domain,[string[]]$checkedgroups){ if ($domain -eq $null){ $group=get-adgroup $groupname -Properties members }else{ $group=get-adgroup $groupname -server $domain -Properties members } if ($group.SamAccountName -in $checkedgroups.samaccountname){return} $checkedgroups+=$group foreach ($member in $group.Members) { #write-host $member -fore green if ($domain -eq $null){ $object = $member | Get-ADObject -Properties samaccountname }else{ $object = $member | Get-ADObject -server $domain -Properties samaccountname } if ($object.ObjectClass -eq 'group'){ get-AllegisADchildgroup -groupName $object.samaccountname -domain $domain -checkedgroups $checkedgroups }else{ $object.samaccountname } } } get-AllegisADchildgroup -groupName $groupname -domain $domain } |