Powershell: jak znaleźć (i skasować) puste grupy w AD?

Niedawno pisałem o wyszukiwaniu grup W AD. Niedługo potem, sam brałem udział w porządkowaniu grup AD w swojej firmie, gdzie celem było znalezienie i skasowanie pustych grup, co oczywiście jest świetną okazją do rozwinięcia poprzedniego wpisu.

Puste grupy można znaleźć na kilka sposobów. Ja proponuję naki oto warunek:

Get-ADGroup -Filter * -Properties Members | where { $_.Members.Count
-eq 0 }
Możemy zawęzić obszar poszukiwań do wskazanego OU:

Get-ADGroup -Filter * -searchbase ‘OU=grupy,OU=SpecoweOU,DC=SPECE,DC=IT’ -Properties Members | where { $_.Members.Count
-eq 0 }

I jak zawsze zachęcam do zapisania wyniku np. w pliku CSV:

Get-ADGroup -Filter * -searchbase ‘OU=grupy,OU=SpecoweOU,DC=SPECE,DC=IT’ -Properties Members | where { $_.Members.Count
-eq 0 } | export-Csv c:\puste_grupy_brest.csv

Kasowanie grup za pomocą Powershell

Kasowanie znalezionych grup jest banalnie proste. Odpowiada za to cmdlet remove-adgroup, który dopiszemy do naszego skryptu:

Get-ADGroup -Filter * -searchbase ‘OU=grupy,OU=SpecoweOU,DC=SPECE,DC=IT’ -Properties Members | where { $_.Members.Count
-eq 0 } | remove-adgroup

Więcej o Powershellu znajdziecie w naszym specowym kursie:)

Łukasz Skalikow

Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

Przeczytaj także...

Dodaj komentarz