2013 juil. 8
Get group membership (recursive and take care of circular nested group)
14:06 - Par Bruce JDC - Exchange - Lien permanent
# get group members recursive, ignored circular nested group
param(
[parameter(mandatory=$true,position=0)]
$group
)
# get group members recursive, ignored circular nested group
param(
[parameter(mandatory=$true,position=0)]
$group
)
$Global:members = @()
$Global:list_members_extended = @()
function mygroup($name) {
foreach ($groupe in (get-distributiongroupmember $name | group-object RecipientType)) {
if ($groupe.name -eq "MailUniversalDistributionGroup") {
$groupe.group | foreach {
if ($Global:list_members_extended -notcontains $_.name) {
$Global:list_members_extended += $_.name
mygroup $_.name
}
}
} else {
$Global:members += $groupe.group | select alias
}
}
}
mygroup $group
return ($members)