Spravujte skupiny AD pomocí PowerShell

V tomto článku se podíváme na schopnost PowerShell spravovat skupiny domén Active Directory. Budeme se zabývat tím, jak vytvořit novou skupinu v AD, přidat do ní uživatele (nebo ji smazat), uvést seznam uživatelů skupiny a některé další užitečné akce se skupinami domén, které jsou velmi užitečné při každodenní správě. Pro správu skupin AD v PowerShell pro Active Directory jsou k dispozici následující základní rutiny:

Obsah:

  • New-ADGroup - vytvoří novou skupinu reklam
  • Add-AdGroupMember - přidání uživatelů do skupiny AD
  • Remove-ADGroupMember - odebrání uživatelů ze skupiny
  • Get-ADGroup - získejte informace o skupině AD
  • Get-ADGroupMember - seznam uživatelů skupiny AD

Chcete-li použít tyto rutiny cmd v relaci PowerShell, musí být načten speciální modul interakce AD - Modul Active Directory pro Windows PowerShell. Tento modul byl poprvé představen v systému Windows Server 208 R2. V systému Windows Server 2012 a novějších je tento modul ve výchozím nastavení povolen. Může být nainstalován a povolen na klientských počítačích jako jedna z komponent RSAT. Zkontrolujte, zda je modul načten následujícím způsobem:

Get-module -listavailable

Jak vidíte, modul ActiveDirectory je načten. Pokud ne, importujte jej příkazem:

Adresář importního modulu

Kompletní seznam příkazů modulu lze získat takto:

Get-Command - Modul ActiveDirectory

Modul obsahuje celkem 147 cmdletů, z nichž 11 může pracovat se skupinami.

Get-Command - Modul ActiveDirectory - Jméno "* Skupina *"

Zde je jejich seznam:

  • Add-ADGroupMember
  • Add-ADPrincipalGroupMembership
  • Get-ADAccountAuthorizationGroup
  • Získejte reklamní sestavu
  • Získejte-ADGroupMember
  • Get-ADPrincipalGroupMembership
  • Nová reklamní sestava
  • Remove-ADGroup
  • Remove-ADGroupMember
  • Remove-ADPrincipalGroupMembership
  • Set-adgroup

New-ADGroup - vytvoří novou skupinu reklam

Pomocí příkazu vytvořte novou skupinu v určeném kontejneru služby Active Directory (OU) Nová reklamní sestava:

New-ADGroup "TestADGroup" -path 'OU = Groups, OU = Moscow, DC = corp, dc = winitpro, DC = ru' -GroupScope Global -PassThru -Verbose

Použití atributu Popis můžete zadat popis skupiny a pomocí Zobrazované jméno změnit zobrazovaný název.

Parametr Groupcope Můžete zadat jeden z následujících typů skupin:

  • 0 = DomainLocal
  • 1 = Globální
  • 2 = univerzální

Distribuční skupinu můžete vytvořit takto:

New-ADGroup "TestADGroup-Distr" - cesta 'OU = Skupiny, OU = Moskva, DC = corp, dc = winitpro, DC = ru' -GroupKategorie Distribuce -GroupScope Global -PassThru -Verbose

Add-AdGroupMember - přidání uživatelů do skupiny AD

Uživatelé můžete přidat do skupiny Active Directory pomocí cmdlet Přidat.-AdGroupMember. Přidejte do nové skupiny dva uživatele:

Add-AdGroupMember -Identity TestADGroup -Members user1, user2

Pokud je seznam uživatelů, které chcete přidat do skupiny, poměrně velký, můžete seznam účtů uložit do souboru CSV, poté tento soubor importovat a přidat každého uživatele do skupiny..

Formát souboru CSV je následující (seznam uživatelů jeden na řádek, název sloupce - uživatelé)

Import-CSV. \ Users.csv - Uživatelé čtečky | ForEach-Object Add-AdGroupMember -Identity 'TestADGroup' - tvoří $ _. Users

Chcete-li získat všechny členy jedné skupiny (groupA) a přidat je do jiné skupiny (groupB), použijte tento příkaz:

Get-ADGroupMember “GroupA” | Get-ADUser | ForEach-Object Add-ADGroupMember -Identity „Group-B“ - Členové $ _

Pokud chcete zkopírovat členy všech vnořených skupin (rekurzivně) do nové skupiny, musíte použít následující příkaz:

Get-ADGroupMember -Identity “GroupA” -Recursive | Get-ADUser | ForEach-Object Add-ADGroupMember -Identity „GroupB“ - Členové $ _

Remove-ADGroupMember - odebrání uživatelů ze skupiny

Chcete-li odebrat uživatele ze skupiny AD, musíte použít příkaz Remove-ADGroupMember. Ze skupiny odstraníme dva uživatele:

Remove-ADGroupMember -Identity TestADGroup -Members user1, user2

Potvrďte odebrání uživatelů ze skupiny:

Pokud chcete ze skupiny uživatelů odstranit seznam ze souboru CSV, použijte tento příkaz:

Import-CSV. \ Users.csv - Uživatelé čtečky | ForEach-Object Remove-ADGroupMember --Identity 'TestADGroup' -members $ _. Users

Get-ADGroup - získejte informace o skupině AD

Rutina vám pomůže získat informace o skupině. Získejte reklamní sestavu:

Get-ADGroup 'TestADGroup'

Tento příkaz zobrazí informace o základních atributech skupiny (DN, typ skupiny, název, SID). Chcete-li zobrazit hodnotu všech atributů skupiny domén AD, spusťte následující příkaz:

Get-ADGroup 'TestADGroup' - vlastnosti *

Jak vidíte, nyní atributy, jako je vytvoření skupiny a čas modifikace, popis atd..

Pomocí rutiny Get-ADGroup můžete najít všechny zájmové skupiny podle konkrétní šablony. Například musíte najít všechny skupiny AD, jejichž název obsahuje frázi administrátoři :

Get-ADGroup -LDAPFilter “(name = * admins *)” | Tabulka formátů

Get-ADGroupMember - seznam uživatelů skupiny AD

Zobrazit seznam uživatelů skupiny:

Get-ADGroupMember 'TestADGroup'

Chcete-li ve výsledcích ponechat pouze uživatelská jména, postupujte takto:

Get-ADGroupMember 'TestADGroup' | ft jméno

Pokud jsou do této skupiny zahrnuty další skupiny domén, použijte k zobrazení úplného seznamu členů, včetně všech vnořených skupin Rekurzivní.

Get-ADGroupMember 'server-admins' -recursive | ft jméno

Chcete-li nahrát seznam účtů, které jsou v určité skupině, do souboru CSV (pro další použití v Excelu), spusťte následující příkaz:

Get-ADGroupMember 'server-admins' -recursive | ft samaccountname | Out-File c: \ ps \ admins.csv

Chcete-li přidat data uživatelského účtu v AD do textového souboru, použijte rutinu Get-ADUser. Například kromě účtu musíte zobrazit pozici a telefonní číslo skupinového uživatele:

Get-ADGroupMember -Identity 'server-admins' -recursive | foreach Get-ADUser $ _ -properties title, OfficePhone | Select-Object title, OfficePhone

Počet uživatelů ve skupině můžete vypočítat takto:

(Get-ADGroupMember --Identity 'admins domény')

Ukázalo se, že ve skupině „administrátoři domén“ máme 7 administrátorských účtů.

Chcete-li najít seznam prázdných skupin v konkrétní OU, použijte tento příkaz:

Get-ADGroup -Filter * -Properties Members -searchbase “OU = Moskva, DC = corp, dc = winitpro, DC = en” | kde - not $ _. members | vyberte Název