Powershell: Lista grup we wskazanym OU


 

metro-powershell-logo
Dzisiaj kilka słów o Powershellu w kontekście znajdywania grup w Active Directory. Choć tego typu obiekty można wyszukiwać również w interfejsie graficznym (np. przystawką Active Dirtectory Users and Computers), konsola PS daje ogromne możliwości filtrowania wyników i zapisywania ich.

Za znajdywanie grup w AD odpowiada cmdlet “Get-ADGroup”. To polecenie zwróci nam wszystkie grupy w AD wraz z podstawowymi informacjami (typ, ścieżka OU, nazwa):

Get-ADGroup -Filter * ‘OU=grupy,DC=spece,DC=it’

Oto przykład informacji o jednej grupie. W środowisku produkcyjnym, grup będzie dużo więcej (czasem dziesiątki tysięcy), co nie tylko będzie mało czytelne w konsoli PS, lecz także pochłonie trochę czasu na wygenerowanie wyniku.

DistinguishedName : CN=specowagrupa12_Special,OU=Grupy,DC=SPECE,DC=IT
GroupCategory : Security
GroupScope : Global
Name : secowagrupa12_Special
ObjectClass : group
ObjectGUID : 063ea243-d7a2-4eea-9aed-ca67aad551f1
SamAccountName : secowagrupa12_Special
SID : S-1-2-21-101536179-1125923169-1519857712-26115

Jednym z dostępnych parametrów jest “SearchBase”, który odpowiada za przeszukanie wskazanego OU. Ścieżkę OU podajemy w pojedyńczym cudzysłowiu:

Get-ADGroup -Filter * -SearchBase ‘OU=grupy,DC=spece,DC=it’

W ten sposób znajdziemy wyłącznie grupy typu “security” (odpowiednio, grupy dystrybucyjne znajdziemy podając parametr “Distribution”):

Get-ADGroup -Filter {GroupCategory -eq ‘security’} -SearchBase ‘OU=grupy,DC=spece,DC=it’

Jak zawsze przypominam o możliwościach filtrowania wyników poprzez wybranie interesujących nas parametrów.
Tutaj wyświetlimy wyłącznie nazwy grup i SID’y:

Get-ADGroup -Filter * -SearchBase ‘OU=grupy,DC=spece,DC=it’ | select SamAccountName,SID

Oczywiście wynik warto zrzucić do pliku CSV:

Get-ADGroup -Filter * -SearchBase ‘OU=grupy,DC=spece,DC=it’ | Export-Csv c:\lista_grup.csv

Jeśli interesuje Was Powershell, tutaj znajdziecie sporo przydatnych artykułów z tej dziedziny.


Podobne Tematy:

  • Marcin Ceberek

    To ja mam taką zagwozdkę jak wybrać W PS wszystkie konta w AD które są wyłączone oraz mają atrybut mail nie pusty lub pole e-mail w zakładce General jest wypełnione?

    • marczu

      -filter {Enabled -eq $false -and mail -like „*”}

      • Marcin Ceberek

        Dzięki wielkie

  • scribe_pl

    spece żyją!