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