Powershell: Znajdowanie grupy, do której nikt nie jest przypisany

3-Kwi-2014

Najpierw ustalmy, czy jest dostępny moduł ActiveDirectory:

Get-Module -ListAvailable
Import-Module ActiveDirectory

Do pobrania listy wszystkich grup służy:

 Get-ADGroup

Jeżeli chcesz odfiltrować tylko niektóre grupy możesz się posłużyć parametrem filter:

Get-ADGroup -Filter „name -like ‚GS_SQL_*'”

Domyślnie w/w polecenie nie pokazuje kto jest członkiem tych grup. Żeby taka informacja została dołączona należy posłużyc się opcją Properties i wskazać, że chcesz aby pobrać również listę członków tej grupy:

Get-ADGroup -Filter „name -like ‚GS_SQL_*'” -Properties Members

ObiektyMicrosoft.ActiveDirectory.Management.ADGroup mają teraz wypełnioną właściwość Members. Members to kolekcja obiektów. Aby policzyć ile obiektów jest w tej kolekcji użyj właściwości Count:

Get-ADGroup -Filter „name -like ‚GS_SQL_*'”-Properties Members | Select Name, @{n=’Count’;e={$_.Members.Count}}

No to chyba już wiadomo, jak wybrać te grupy, które mają puste members:

Get-ADGroup -Filter „name -like ‚GS_SQL_*'”-Properties Members |  where { $_.Members.Count -eq 0 }

Gotowe!

Dodaj komentarz:

Autor: Rafał Kraik