Použití Active Directory pro PowerShell ke správě domény

Modul Active Directory pro Windows PowerShell Dnes je to jeden z hlavních nástrojů pro správu domény, správu objektů ve službě Active Directory a přijímání různých informací o počítačích, uživatelích a skupinách. Jakýkoli správce systému Windows by měl být schopen používat nejen grafické AD moduly (nejčastěji je to ADUC - uživatelé Active Directory a počítače), ale také rutiny cmd tohoto modulu PowerShell pro provádění každodenních úloh správy Active Directory. V tomto článku se podíváme na to, jak nainstalovat modul RSAT-AD-PowerShell, jeho základní funkce a oblíbené rutiny, které by měly být užitečné při správě a práci s AD.

Obsah:

  • Nainstalujte si Active Directory pro PowerShell na Windows Server
  • Nainstalujte RSAT-AD-PowerShell na Windows 10
  • Cmdlets AD Module pro PowerShell
  • Použití modulu RSAT-AD-PowerShell pro správu AD

Nainstalujte si Active Directory pro PowerShell na Windows Server

Modul Active Directory pro Windows PowerShell je již integrován do operačních systémů Windows Server (počínaje Windows Server 2008 R2), ale ve výchozím nastavení není aktivován.

V systému Windows Server 2016 můžete povolit modul AD pro PoSh v systému Windows Server 2016 z ovládacího panelu Správce serveru (Přidat role a funkce -> Funkce -> Nástroje pro vzdálenou správu serveru -> Nástroje pro správu rolí -> Nástroje AD DS a AD LDS -> Modul Active Directory pro Windows PowerShell).

Modul můžete také nainstalovat z příkazového řádku pomocí příkazu PowerShell:

Install-WindowsFeature - Název "RSAT-AD-PowerShell" --IncludeAllSubFeature

Modul RSAT-AD-PowerShell můžete nainstalovat nejen na řadič domény. Každý členský server nebo dokonce pracovní stanice to udělá. Na řadičích domény AD je modul nainstalován automaticky při nasazení role ADDS (při upgradu serveru na řadič domény).

Modul spolupracuje s AD prostřednictvím webových služeb Active Directory, které musí být nainstalovány v řadiči domény (interakce na portu TCP 9389).

Nainstalujte RSAT-AD-PowerShell na Windows 10

Modul RSAT-AD-PowerShell můžete nainstalovat nejen na servery, ale také na pracovní stanice. Tento modul je součástí balíčku. RSAT (Nástroje pro správu vzdáleného serveru), které lze stáhnout a nainstalovat ručně v okně 7, Windows 8.1. Po instalaci RSAT je AD modul pro PowerShell nainstalován z ovládacího panelu (Ovládací panely -> Programy a funkce -> Zapnutí a vypnutí funkcí Windows -> Nástroje pro správu vzdáleného serveru -> Nástroje pro správu rolí -> Nástroje AD DS a AD LDS).

Ve Windows 10, 1809 a novějších je balíček RSAT již zabudován do distribuční sady (jako Features on Demand), takže můžete použít příkaz k instalaci modulu:

Add-WindowsCapability -online -Name “Rsat.ActiveDirectory.DS-LDS.Tools ~~~~ 0.0.1.0”

Cmdlets AD Module pro PowerShell

Modul Active Directory pro Windows PowerShell obsahuje mnoho rutin pro interakci s AD. V každé nové verzi RSAT se jejich počet zvyšuje (147 cmdletů pro AD je k dispozici v systému Windows Server 2016).

Před použitím cmdletů modulů je nutné importovat do relace PowerShell (v systému Windows Server 2012 R2 / Windows 8.1 je modul importován automaticky):

Import-Module ActiveDirectory

Pokud není modul nainstalován ve vašem počítači, můžete jej importovat z řadiče domény (potřebujete práva správce domény) nebo z jiného počítače:

$ rs = New-PSSession -ComputerName DC_or_Comp_with_ADPosh
Importovací modul - PS relace $ rs - Název ActiveDirectory

Úplný seznam dostupných rutin můžete zobrazit příkazem:

Get-Command - modul adresáře pro aktivaci modulu

Celkový počet příkazů v modulu:

Get-Command -module activedirectory | Meas-Object

Většina rutin modulu RSAT-AD-PowerShell začíná předponou Get-, Set- nebo New-.

  • Třída Cmdlets Jdi- slouží k získání různých informací z AD (Get-ADUser - uživatelské vlastnosti, Get-ADComputer - nastavení počítače, Get-ADGroupMember - členství ve skupině atd.). Pro jejich provedení nemusíte být administrátorem domény, každý uživatel domény může spouštět skripty PowerShell, aby získal hodnoty většiny atributů AD objektů (s výjimkou chráněných, jako v příkladu s LAPS).
  • Třída Cmdlets Set- slouží ke změně parametrů objektů v AD, například můžete změnit vlastnosti uživatele (Set-ADUser), počítače (Set-ADComputer), přidat uživatele do skupiny atd. Chcete-li tyto operace provést, musí mít váš účet práva k objektům, které chcete změnit (viz článek Delegování práv správce v AD).
  • Týmy začínající na Nové- umožňuje vytvářet objekty AD (vytvořit uživatele - New-ADUser, skupina - New-ADGroup).
  • Cmdlets Odebrat- odstranit objekty AD.

Můžete získat pomoc ohledně jakéhokoli cmdlet, jako je tento:

get-help New-ADComputer

Příklady použití cmdletů služby Active Directory lze napsat takto:

(get-help Set-ADUser) .examples

V PowerShell ISE můžete použít popisky při zadávání parametrů cmdlet modulu.

Použití modulu RSAT-AD-PowerShell pro správu AD

Pojďme se podívat na několik typických úkolů správce, které lze provést pomocí příkazů modulu AD pro PowerShell..

Užitečné příklady použití různých rutin AD modulu pro PowerShell jsou již na webu popsány. Podrobné pokyny naleznete v odkazech v textu..

New-ADUser: Vytvoření uživatele v AD

Pomocí rutiny New-ADUser můžete v AD vytvořit nového uživatele. Můžete vytvořit uživatele pomocí příkazu:

New-ADUser - Jméno "Andrey Petrov" -GivenName "Andrey" - Jméno "Petrov" -SamAccountName "apetrov" -UserPrincipalName "[email protected]" -Path "OU = Users, OU = Ufa, DC = winitpro, DC = loc "-AccountPassword (Read-Host -AsSecureString" Input Password ") - Povoleno $ true

Další informace o týmu New-ADUser (včetně příkladu hromadného vytváření účtů v doméně) naleznete v článku .

Get-ADComputer: Získejte informace o počítačích domény

Chcete-li zobrazit informace o počítačích v konkrétním OU (název počítače a datum poslední registrace v síti), použijte rutinu Get-ADComputer:

Get-ADComputer -SearchBase 'OU = Russia, DC = winitpro, DC = ru' -Filter * -Properties * | Název FT, LastLogonDate -Autosize

Add-AdGroupMember: Přidání uživatele do skupiny AD

Chcete-li přidat uživatele do existující skupiny zabezpečení v doméně AD, spusťte příkaz:

Add-AdGroupMember -Identity MskSales -Members apterov, divanov

Seznam uživatelů ve skupině AD a nahrání do souboru:

Get-ADGroupMember MskSales -recursive | ft samaccountname | Out-File c: \ script \ export_users.csv

Další informace o správě skupin AD z prostředí PowerShell..

Set-ADAccountPassword: Reset uživatelského hesla v AD

Chcete-li obnovit heslo uživatele v AD z prostředí PowerShell, proveďte následující kroky:

Set-ADAccountPassword apterov -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “P @ ssw0rd1” -Force-Verbose) -PassThru

Uzamčení / odemčení uživatele

Zakázat účet:

Zakázat-ADAccount apterov

Povolit účet:

Povolit-ADAccount apterov

Odblokování účtu po blokování zásad hesla:

Odemkněte-ADAccount apterov

Search-ADAccount: Hledání neaktivních počítačů v doméně

Chcete-li najít a zablokovat všechny počítače v doméně, které nebyly zaregistrovány v síti déle než 100 dnů, použijte cmdlet Search-ADAccount:

$ timespan = New-Timespan - Dny 100
Search-ADAccount -AccountInactive-CompputersOnly -TimeSpan $ timespan | Zakázat účet AdAccount

New-ADOrganizationalUnit: Vytvoření struktury OU v AD

K rychlému vytvoření typické struktury organizačních jednotek v AD můžete použít skript PowerShell. Předpokládejme, že musíme vytvořit několik organizačních jednotek s městy, ve kterých se vytvoří standardní kontejnery. Ruční vytvoření takové struktury pomocí grafické konzole ADUC je poměrně dlouhé a AD modul pro PowerShell vám umožňuje tento problém vyřešit během několika sekund (nepočítaje čas na napsání skriptu):

$ fqdn = Get-ADDomain
$ fulldomain = $ fqdn.DNSRoot
$ domain = $ fulldomain.split (".")
$ Dom = $ doména [0]
$ Ext = $ doména [1]
$ Sites = ("SPB", "MSK", "Soči")
$ Services = („Uživatelé“, „Správci“, „Počítače“, „Servery“, „Kontakty“)
$ FirstOU = "Russia"
New-ADOrganizationalUnit - Jméno $ FirstOU - Description $ FirstOU -Path "DC = $ Dom, DC = $ EXT" - ChránenéFromAccidentalDeletion $ false
foreach ($ S na $ Sites)

New-ADOrganizationalUnit - Jméno $ S -Popis "$ S" -Path "OU = $ FirstOU, DC = $ Dom, DC = $ EXT" -ProtectedFromAccidentalDeletion $ false
foreach ($ Serv in $ Services)

New-ADOrganizationalUnit - Název $ Serv - Popis "$ S $ Serv" - Cesta "OU = $ S, OU = $ Nejprve, DC = $ Dom, DC = $ EXT" - ChráněnéFromAccidentalDeletion $ false


Po spuštění skriptu jsme dostali takovou OU strukturu v AD.

K přenosu objektů mezi kontejnery AD můžete použít rutinu Move-ADObject:

$ TargetOU = "OU = Buhgalteriya, OU = Počítače, DC = corp, DC = winitpro, DC = ru"
Get-ADComputer -Filter 'Name-like "BuhPC *"' | | Move-ADObject -TargetPath $ TargetOU

Get-ADReplicationFailure: Ověřte replikaci v AD

Pomocí rutiny Get-ADReplicationFailure můžete zkontrolovat stav replikace mezi řadiči domény AD:

Get-ADReplicationFailure - Cíl DC01, DC02

Načtěte informace o všech řadičích domény v doméně pomocí rutiny Get-AdDomainController:

Get-ADDomainController -filter * | vyberte jméno hostitele, IPv4Address, IsGlobalCatalog, IsReadOnly, OperatingSystem | format-table -auto

V tomto článku jsme tedy prozkoumali základní funkce a vlastnosti použití modulu AD pro PowerShell pro správu AD. Doufám, že tento článek vás povzbudí k dalšímu prozkoumání schopností tohoto modulu a automatizaci většiny úkolů správy AD..