Created
November 7, 2018 19:04
-
-
Save trevorbryant/b8725c5cf320ec131fdc8b3ee6451f14 to your computer and use it in GitHub Desktop.
Enumerate member objects of target Active Directory group
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$Users = @() | |
$Export = @() | |
$RecursiveUsers = @() | |
$AdminGroups = $args | |
ForEach ($Group in $args) { | |
Get-ADGroupMember "$Group" -ErrorAction SilentlyContinue | ForEach-Object { | |
$Export = New-Object -TypeName PSObject | |
$Export | Add-Member -MemberType NoteProperty -Name Group -Value $Group | |
$Export | Add-Member -MemberType NoteProperty -Name distinguishedName -Value $_.distinguishedName | |
$Export | Add-Member -MemberType NoteProperty -Name Name -Value $_.Name | |
$Export | Add-Member -MemberType NoteProperty -Name objectClass -Value $_.objectClass | |
$Export | Add-Member -MemberType NoteProperty -Name objectGUID -Value $_.objectGUID | |
$Export | Add-Member -MemberType NoteProperty -Name SamAccountName -Value $_.SamAccountName | |
$Export | Add-Member -MemberType NoteProperty -Name SID -Value $_.SID | |
$Users += $Export | |
} | |
} | |
$Users | Where-Object {$_.objectClass -eq 'group' -and $_.SamAccountName -ne $AdminGroups} | ForEach-Object { | |
$Group = $_.SamAccountName | |
Get-ADGroupMember $_.Name -ErrorAction SilentlyContinue | ForEach-Object { | |
$Export = New-Object -TypeName PSObject | |
$Export | Add-Member -MemberType NoteProperty -Name Group -Value $Group | |
$Export | Add-Member -MemberType NoteProperty -Name distinguishedName -Value $_.distinguishedName | |
$Export | Add-Member -MemberType NoteProperty -Name Name -Value $_.Name | |
$Export | Add-Member -MemberType NoteProperty -Name objectClass -Value $_.objectClass | |
$Export | Add-Member -MemberType NoteProperty -Name objectGUID -Value $_.objectGUID | |
$Export | Add-Member -MemberType NoteProperty -Name SamAccountName -Value $_.SamAccountName | |
$Export | Add-Member -MemberType NoteProperty -Name SID -Value $_.SID | |
$Users += $Export | |
} | |
} | |
$Users |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment