Služba Microsoft Active Directory slouží jako centralizovaný bod pro správu, autorizaci a ověřování. V systému AD se přístup k síťovým prostředkům uděluje bezpečnostním principům, jako jsou uživatelské účty a účty počítačů, a tato oprávnění se mohou v průběhu času měnit. Pro zjednodušení správy přístupu a zvýšení zabezpečení používají střední a velké společnosti často bezpečnostní skupiny služby Active Directory, které mohou obsahovat uživatelské účty, počítačové účty a další skupiny. Často také používají distribuční skupiny pro správu e-mailových distribučních seznamů. Jak skupiny zabezpečení, tak distribuční skupiny mají jedinečné identifikátory zabezpečení (SID) a globálně jedinečné identifikátory (GUID).

Snap-in ADUC MMC je skvělý pro správu obou typů skupin, ale prostředí PowerShell představuje mnohem efektivnější způsob jejich hromadné správy.

Pokud ještě nejste obeznámeni se skupinami AD a jejich správou, přečtěte si před dalším postupem příručku Active Directory Group Management Best Practice.

Mějte také na paměti, že pro použití těchto skriptů PowerShell je nutné importovat modul pro interakci se službou AD – Active Directory Module for Microsoft Windows PowerShell. Tento modul byl zaveden v systému Windows Server 2008 R2 a ve výchozím nastavení je povolen v systému Windows Server 2012 a novějších. Úplný seznam rutin modulu AD získáte spuštěním následujícího příkazu:

Get-Command -Module ActiveDirectory

Úplný seznam obsahuje 147 rutin; pouze těchto jedenáct se však týká skupin služby Active Directory:

  • Add-ADGroupMember
  • Add-ADPrincipalGroupMembership
  • Get-ADAccountAuthorizationGroup
  • Get-ADGroup
  • Get-ADGroupMember
  • Get-ADPrincipalGroupMembership
  • New-ADGroup
  • Remove-ADGroup
  • Remove-ADGroupMember
  • Remove-ADPrincipalGroupMembership
  • Set-ADGroup

Vytvoření skupiny Active Directory pomocí PowerShellu

Pro vytvoření skupiny AD, použijte rutinu New-ADGroup. Jeho syntaxi získáte spuštěním následujícího příkazu:

Get-Command New-ADGroup –Syntax

Nejjednodušší způsob vytvoření skupiny je spuštění tohoto krátkého skriptu:

New-ADGroup "Group Name"

Systém vás požádá o zadání parametru „GroupScope“ a poté vytvoří novou skupinu. Tato skupina však bude mít výchozí hodnoty, například:

  • Bude vytvořena ve výchozím kontejneru LDAP s názvem „Users“.
  • Bude mít typ skupiny „Security“.
  • Pole members, member of, description, email a notes budou prázdná.

Představme si, že chceme vytvořit skupinu zabezpečení s názvem „Quality“ v našem DC AD. Použijme následující parametry:

New-ADGroup "Quality" -Path "OU=Production,DC=enterprise,dc=com" -GroupCategory Security -GroupScope Global -PassThru –Verbose

Pokud chcete vytvořit univerzální distribuční skupinu, stačí změnit parametr -GroupCategory na „Distribution“ a parametr -GroupScope na „Universal“. Můžete také změnit cestu LDAP změnou parametru -Path.

Odstranění skupiny Active Directory pomocí prostředí PowerShell

Pro odstranění skupiny AD použijte rutinu Remove-ADGroup. Nejjednodušší skript pro tento účel bude vypadat takto:

Remove-ADGroup -Identity Quality

Budete vyzváni k potvrzení odstranění skupiny.

Přidání uživatelů a počítačů do skupiny pomocí prostředí PowerShell

Pomocí rutiny Add-AdGroupMember můžete přidat uživatele do skupiny AD. Pokud byste například potřebovali přidat dva uživatele, B.Jacksona a E.Franklin, do skupiny „Quality“, bude skript vypadat takto:

Add-AdGroupMember -Identity Quality -Members B.Jackson, E.Franklin

Po přidání uživatelů do bezpečnostní skupiny můžete spustit níže uvedený skript a ověřit, zda jsou uvedeni jako členové:

Get-ADGroupMember -Identity Quality

Pokud potřebujete přidat uživatele do jiné bezpečnostní nebo distribuční skupiny, například „Domain Admins“, zadejte jako hodnotu parametru -Identity „Domain Admins“. Pokud potřebujete, aby jedna skupina byla členem jiné skupiny, zadejte název skupiny jako hodnotu parametru -Members. Stejný princip platí i pro počítačové účty, ale na konec názvu počítačového účtu je třeba připojit znak dolaru ($). Chcete-li například přidat počítač „WKS043“ do skupiny, zadejte jako hodnotu parametru -Members hodnotu „WKS043$“:

Add-AdGroupMember -Identity Quality -Members WKS043$

Přidání uživatele do více skupin

Chcete-li přidat uživatele do více skupin najednou, spusťte následující skript.

"Managers","Quality" | Add-ADGroupMember -Members ` (Read-Host -Prompt "Enter User Name")

Budete vyzváni k zadání uživatelského jména.

Přidání uživatelů do skupiny ze souboru CSV

Pokud chcete do skupiny přidat velký počet uživatelů, můžete je zadat v souboru CSV a poté tento soubor importovat. Všimněte si, že seznam uživatelských jmen v souboru CSV musí obsahovat SamAccountNames ve sloupci „users“, jak je uvedeno níže:

Chcete-li přidat uživatele do skupiny ze souboru CSV, spusťte následující skript prostředí PowerShell:

Import-CSV C:\scripts\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Quality" -members $_.users}

Kopírování uživatelů z jedné skupiny do jiné

Pokud chcete zkopírovat všechny členy z jedné skupiny do jiné skupiny, spusťte následující skript:

Get-ADGroupMember "Quality" | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity "QualityControl" -Members $_}

Odstranění uživatelů nebo počítačů ze skupiny

Chcete-li odebrat uživatele ze skupiny, použijte rutinu Remove-ADGroupMember:

Remove-ADGroupMember -Identity Quality -Members J.Robinson

Chcete-li odebrat účet počítače ze skupiny, zadejte název počítače se znakem dolaru ($) na konci jako hodnotu parametru -Members.

Odstranění více uživatelských účtů ze skupiny

Snadným způsobem, jak odstranit více uživatelů ze skupiny AD, je vytvořit soubor CSV se seznamem uživatelských jmen a poté tyto uživatele odstranit z objektu skupiny pomocí tohoto skriptu:

Import-CSV C:\scripts\users.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity "Quality" -members $_.users}

Odstranění uživatele ze všech skupin

Chcete-li odebrat uživatele ze všech skupin, spusťte tento skript:

Get-ADUser -Identity E.Franklin -Properties MemberOf | ForEach-Object { $_.MemberOf | Remove-ADGroupMember -Members $_.DistinguishedName -Confirm:$false}

Všimněte si, že uživatel ztratí členství ve všech skupinách kromě „Domain Users“, které lze v případě potřeby odebrat ručně.

Hlášení o skupinách služby Active Directory

Když už víme, jak provádět mnoho běžných úloh správy služby Active Directory souvisejících se skupinami pomocí prostředí PowerShell, podívejme se, jak nahlásit, jaké skupiny ve službě AD existují:

Chcete-li vypsat všechny skupiny ve službě AD, použijte následující skript:

Get-ADGroup -filter * -properties GroupCategory | ft name,groupcategory

Samozřejmě budete chtít také zkontrolovat členy skupin AD a změny členství ve skupinách AD. Zde jsou odkazy na pokyny k provádění těchto složitějších úkolů:

  • Jak sledovat změny členství ve skupinách služby Active Directory
  • Jak získat přehledy o členství uživatelů ve skupinách služby AD
  • Jak exportovat členy určité skupiny služby AD
  • Správa organizačních jednotek a přesun jejich objektů pomocí prostředí PowerShell

Závěr

Nyní jste se naučili spravovat skupiny a členství ve skupinách ve službě Active Directory pomocí skriptů prostředí PowerShell, zkuste provést některé úlohy správy skupin sami. Buďte však opatrní a nezapomeňte povolit funkci koše služby Active Directory, abyste mohli snadno vrátit změny zpět, pokud se něco pokazí. Nezapomeňte, že modul snap-in ADUC MMC je skvělý pro správu skupin a členství ve skupinách, ale prostředí PowerShell je mnohem lepší pro hromadnou správu skupin.

Jeff je ředitelem oddělení Global Solutions Engineering ve společnosti Netwrix. Je dlouholetým bloggerem, řečníkem a prezentátorem společnosti Netwrix. Na blogu Netwrix Jeff sdílí lifehacky, tipy a triky, které mohou výrazně zlepšit vaše zkušenosti se správou systému.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.