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:)


Podobne Tematy: