New-ADUser Vytváranie používateľov v AD pomocou PowerShell

Najjednoduchší spôsob vytvorenia nového používateľa v doméne Active Directory je použitie grafického modulu snap-in MMC ADUC (Active Directory Users and Computers). Ale v prípade, že potrebujete vytvoriť niekoľko účtov v doméne naraz, môže byť ich vytvorenie v manuálnom režime pre administrátora dosť náročné. V tomto článku sa pozrieme na príklad automatizácie vytvárania používateľských účtov v službe AD pomocou cmdlet PowerShell. New-ADUser.

obsah:

  • Na vytvorenie nového účtu AD použite cmdlet New-ADUser.
  • Hromadná tvorba nových používateľov v službe AD zo skriptu PowerShell CSV

Na vytvorenie nového účtu AD použite cmdlet New-ADUser.

cmdlet New-ADUser zahrnuté v module Active Directory pre PowerShell. Ak chcete používať tento modul, musíte do počítača nainštalovať príslušnú verziu protokolu RSAT a povoliť komponent Active Directory Module pre Windows PowerShell..

Ak chcete modul importovať do relácie PowerShell, spustite príkaz:

Adresár importovaného modulu

Úplná syntax pre rutinu New-ADUser sa dá získať pomocou príkazu

Get-Command New-ADUser - Syntax

V minimálnej verzii stačí na vytvorenie nového používateľského účtu v službe AD uviesť iba jeho meno.
New-ADUser testuser1

Ako vidíte, nový užívateľský účet bol vytvorený v kontajneri Používatelia a je zakázaný. Ak chcete používať tento účet, musíte ho povoliť (Enable-ADAccount cmdlet), nastaviť heslo (cmdlet Set-ADAccountPassword) a / alebo ďalšie atribúty (ak sú potrebné).

Ak chcete vytvoriť plnohodnotný funkčný účet v konkrétnom kontajneri (OU) domény s heslom a okamžite ho aktivovať, použite tento príkaz.

New-ADUser - meno "Test User2" -GivenName "Test" - Priezvisko "User2" -SamAccountName "testuser2" -UserPrincipalName "[email protected]" -Path "OU = Users, OU = Accounts, OU = SPB, DC = winitpro, DC = loc "-AccountPassword (Read-Host -AsSecureString" Input Password ") - Povolené $ true

Tím vás vyzve, aby ste okamžite zadali heslo pre nového používateľa (v chránenej podobe)

poznámka. Heslo používateľa musí byť z hľadiska dĺžky, zložitosti atď. V súlade s bezpečnostnými zásadami pre heslo domény, inak cmdlet vráti chybu: New-ADUser: Heslo nespĺňa požiadavky na dĺžku, zložitosť alebo históriu domény. Na vytvorenie jedinečného hesla pre každého používateľa môžete použiť hotový skript PowerShell .

Informácie o vytvorenom užívateľovi domény je možné získať pomocou rutiny Get-ADUser:

Get-ADUser testuser2

Hromadná tvorba nových používateľov v službe AD zo skriptu PowerShell CSV

V prípade, že v službe Active Directory potrebujete vytvoriť veľké množstvo používateľov naraz, je vhodnejšie uložiť zoznam používateľov vo formáte. CSV (Excel) a potom spustite špeciálny skript PowerShell. V tomto súbore musíte vyplniť všetky atribúty používateľa, ktoré sú pre vás významné.

Napríklad môj súbor Excel s používateľmi pozostáva z 9 stĺpcov a má nasledujúci formát hlavičky:

Krstné meno; Priezvisko; Iniciály; SamAccountName; Telefón; Oddelenie; JobTitle; Heslo; OU

Vyplňte používateľské údaje a uložte súbor Excel vo formáte CSV čiarkami ako oddeľovače. Kódovanie súboru musí byť UTF-8 (dôležité!). Okrem toho, pretože v hodnotách stĺpca OU sú čiarky, musíte im uniknúť úvodzovkami.

Teraz môžete tento súbor CSV importovať (new_ad_users2.csv) a vytvoriť nových používateľov v doméne. Kód dokončeného skriptu PowerShell je uvedený nižšie:

poznámka.

  • Začneme užívateľské meno v doméne v angličtine, preto na prepisovanie mien používateľov z cyriliky do latinčiny pridáme do skriptu samostatnú funkciu Translit.
  • Ak použijete „;”, Pridajte -delimiter“; ”do rutiny cmdlet Import-Csv

Adresár importovaného modulu
Import-Csv "C: \ ps \ new_ad_users2.csv" | ForEach-Object
$ upn = $ _. SamAccountName + “@ contoso.loc”
$ uname = $ _. Priezvisko + "" + $ _. Meno + "" + $ _. Iniciály
# preložiť priezvisko, krstné meno a mecenášstvo do prepisu
$ transLastName = Translit ($ _. LastName)
$ transFirstName = Translit ($ _. FirstName)
$ transInitials = Translit ($ _. Initials)
$ transuname = $ transLastName + "" + $ transFirstName + "" + $ transInitials
New-ADUser - meno $ transuname '
-DisplayName $ uname '
-Krstné meno $ _. Krstné meno '
-Priezvisko $ _. Priezvisko '
-Iniciály $ _. Iniciály '
-OfficePhone $ _. Phone '
-Oddelenie $ _. Oddelenie '
-Názov $ _. JobTitle '
-UserPrincipalName $ upn '
-SamAccountName $ _. SamAccountName '
-Cesta $ _. OU '
-Heslo účtu (ConvertTo-SecureString $ _. Heslo -AsPlainText -force) -Povolené $ true

# funkcia prepisu
globálna funkcia: Translit
param ([reťazec] $ inString)
$ Translit = @
[char] 'a' = "a"
[char] 'A' = "A"
[char] 'b' = "b"
[char] 'B' = "B"
[char] 'in' = "v"
[char] 'B' = "V"
[char] 'g' = "g"
[char] 'G' = "G"
[char] 'd' = "d"
[char] 'D' = "D"
[char] 'e' = "e"
[char] 'E' = "E"
[char] 'ё' = "yo"
[char] 'yo' = "yo"
[char] 'w' = "zh"
[char] 'J' = "Zh"
[char] 'z' = "z"
[char] 'Z' = "Z"
[char] 'a' = "i"
[char] 'A' = "I"
[char] 'th' = "j"
[char] 'Y' = "J"
[char] 'k' = "k"
[char] 'K' = "K"
[char] 'l' = "l"
[char] 'L' = "L"
[char] 'm' = "m"
[char] 'M' = "M"
[char] 'n' = "n"
[znak] 'H' = "N"
[char] 'o' = "o"
[char] 'O' = "O"
[char] 'n' = "p"
[char] 'P' = "P"
[char] 'p' = "r"
[char] 'P' = "R"
[char] 'c' = "s"
[char] 'C' = "S"
[char] 't' = "t"
[char] 'T' = "T"
[char] 'y' = "u"
[char] 'U' = "U"
[char] 'f' = "f"
[char] 'f' = "f"
[char] 'x' = "h"
[char] 'X' = "H"
[char] 'q' = "c"
[char] 'C' = "C"
[char] 'h' = "ch"
[char] 'H' = "Ch"
[char] 'w' = "sh"
[char] 'W' = "Sh"
[char] 'u' = "sch"
[char] 'Щ' = "Sch"
[char] 'ъ' = ""
[char] 'b' = ""
[char] 's' = "y"
[char] 'S' = "Y"
[char] 'b' = ""
[char] 'b' = ""
[char] 'e' = "e"
[char] 'E' = "E"
[char] 'yu' = "yu"
[char] 'Yu' = "Yu"
[char] 'i' = "ya"
[char] 'I' = "Ya"

$ outCHR = ""
foreach ($ CHR in $ inCHR = $ inString.ToCharArray ())

if ($ Translit [$ CHR] -cne $ Null)
$ outCHR + = $ Translit [$ CHR]
inak
$ outCHR + = $ CHR

Zápis-výstup $ outCHR

Po spustení skriptu otvorte konzolu ADUC, rozbaľte určený kontajner a uistite sa, že sa v AD objavia nové používateľské účty (môžete sledovať vytváranie užívateľských účtov v AD takto: Získajte zoznam AD účtov vytvorených za posledných 24 hodín.)

Vytvorené účty je možné okamžite pridať do konkrétnej skupiny AD pomocou cmdlet Add-AdGroupMember. Aby ste to mohli urobiť, musíte skript mierne upraviť pridaním riadku v slučke:

Add-AdGroupMember -Identity AllowPublicInet -Members $ _. SamAccountName

Alebo okamžite nastavte fotografiu používateľa v službe AD tak, aby sa zobrazovala v programoch Outlook a Lync:

Set-ADUser $ _. SamAccountName -Replace @ thumbnailPhoto = ([byte []] (Get-Content "C: \ ps \ user1_photo.jpg" -Encoding byte))