Skip to content

Instantly share code, notes, and snippets.

@junecastillote
Last active January 7, 2020 01:44
Show Gist options
  • Save junecastillote/ba6949533f2360f6b4399f522b0725f7 to your computer and use it in GitHub Desktop.
Save junecastillote/ba6949533f2360f6b4399f522b0725f7 to your computer and use it in GitHub Desktop.
Function to recursively list group members (nested)
## Function to recursively list group members (nested)
Function Get-MembersRecursive {
param (
[parameter()]
[string]$RecipientName
)
$groupMembers = @()
$group = Get-Group $RecipientName -ErrorAction SilentlyContinue
foreach ($groupMember in $group.Members) {
$memberObj = Get-Recipient $groupMember -ErrorAction SilentlyContinue
if ($memberObj) {
if ($memberObj.count -gt 1) {
$memberObj = Get-Recipient -Filter ('Name -eq ' + "'$($groupMember)'")
}
if ($memberObj.RecipientTypeDetails -match 'group') {
$groupMembers += (Get-MembersRecursive $groupMember)
}
else {
$groupMembers += $memberObj
}
}
}
$groupMembers = $groupMembers | Sort-Object -Property Name -Unique
return $groupMembers
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment