Często w starych środowiskach trafiamy na mnóstwo grup w AD, które były stworzone a potem nie są używane a nawet nie mają członków. Przedstawię, krótki skrypt, który wylistuje wszystkie grupy w AD i poda nam ilość członków w każdej z nich.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$groups = Get-ADGroup -Filter * $results = @() foreach ($group in $groups) { $members = Get-ADGroupMember -Identity $group.DistinguishedName -Recursive | Measure-Object | Select-Object -ExpandProperty Count $result = [PSCustomObject]@{ GroupName = $group.Name MemberCount = $members } $results += $result } $results = $results | Sort-Object -Property MemberCount $results | Format-Table -AutoSize |
Jako wynik dostaniemy listę wszystkich grup wraz z liczbą ich grup, posortowaną od najmniejszej do największej ilości. Poniżej wstawiam fragment wyniku.