Skip to content

Instantly share code, notes, and snippets.

@trevorbryant
Created November 7, 2018 19:04
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save trevorbryant/b8725c5cf320ec131fdc8b3ee6451f14 to your computer and use it in GitHub Desktop.
Save trevorbryant/b8725c5cf320ec131fdc8b3ee6451f14 to your computer and use it in GitHub Desktop.
Enumerate member objects of target Active Directory group
$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