Möchte man das AD aufräumen, kann es zum Beispiel interessant sein, Gruppen mit Ihrer Mitgliederanzahl anzuzeigen (und z.B. leere zu entfernen). Dieses snippet sollte dabei helfen.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# Kürzeste Form: Get-ADUser -F *|?{$_.GroupCategory -like "Security"}|%{echo "$($_.Name) $((Get-ADGroupMember $_).count)"} # Ausgeschrieben: Get-ADUser -F * | Where-Object {$_.GroupCategory -like "Security"} | Foreach-Object {Write-Output "$($_.Name) $((Get-ADGroupMember $_).count)"} # Ausgabe: # Tolle_Gruppe 3 # Noch_eine_Gruppe 15 # Und-noch-eine 0 # Etwas schöner und sinnvoller mit Ausgabe als PSObject: Get-ADUser -F * | Where-Object {$_.GroupCategory -like "Security"} | Foreach-Object { $ADGrp = New-Object -TypeName psobject $ADGrp | Add-Member -MemberType NoteProperty -Name "Name" -Value $_.Name $ADGrp | Add-Member -MemberType NoteProperty -Name "MemberCount" -Value (Get-ADGroupMember $_).count Write-Output $out } # Das ganze kann man dann noch filtern (z.B. nach leeren Gruppen): *vorheriger codeblock* | Where-Object {$_.MemberCount -eq 0} |