New-ADUser Kreirajte korisnike u AD-u pomoću PowerShell-a

Najlakši način za stvaranje novog korisnika u Active Directory domeni je korištenje ADUC (Active Directory Korisnici i računala) grafičkog mmc priključka. No u slučaju da morate stvoriti nekoliko računa u domeni odjednom, njihovo kreiranje u ručnom načinu rada može biti prilično mučan postupak za administratora. U ovom ćemo članku pogledati primjer automatizacije stvaranja korisničkih računa u AD-u pomoću PowerShell cmdleta. Novo-ADUser.

sadržaj:

  • Upotrijebite cmdlet New-ADUser da biste stvorili novi AD račun.
  • Masovno stvaranje novih korisnika u AD-u iz CSV PowerShell skripte

Upotrijebite cmdlet New-ADUser da biste stvorili novi AD račun.

cmdlet Novo-ADUser uključeno u modul Active Directory za PowerShell. Za upotrebu ovog modula morate instalirati odgovarajuću verziju RSAT-a na računalo i omogućiti Active Directory Module za Windows PowerShell komponentu.

Za uvoz modula u PowerShell sesiju pokrenite naredbu:

Uvoz-modul aktivni direktorij

Potpuna sintaksa za New-ADUser cmdlet može se dobiti pomoću naredbe

Get-Command novo-ADUser-sintaksa

U minimalnoj verziji, da biste stvorili novi korisnički račun u AD-u, morate samo navesti njegovo ime.
Novi ADUser testuser1

Kao što vidite, novi korisnički račun kreiran je u spremniku Korisnici i onemogućen je. Da biste koristili ovaj račun, morate ga omogućiti (Enable-ADAccount cmdlet), postaviti lozinku (Set-ADAccountPassword cmdlet) i / ili druge atribute (ako je potrebno).

Da biste stvorili potpuno funkcionalni račun u određenom spremniku (OU) domene s lozinkom i odmah je aktivirali, koristite ovu naredbu.

New-ADUser -Name "Test User2" -GivenName "Test" -Priziv "User2" -SamAccountName "testuser2" -UserPrincipalName "[email protected]" -Path "OU = Korisnici, OU = Računi, OU = SPB, DC = winitpro, DC = loc "-AccountPassword (Read-Host -AsSecureString" Ulazna lozinka ") -Enabled $ true

Tim će vas zatražiti da odmah navedete lozinku za novog korisnika (u zaštićenom obliku)

primjedba. Korisnička lozinka mora biti u skladu s sigurnosnim pravilima za lozinku domene za duljinu, složenost itd., Inače će cmdlet vratiti grešku: New-ADUser: Lozinka ne zadovoljava duljinu, složenost ili povijest zahtjeva domene. Možete koristiti gotovu skriptu PowerShell-a za generiranje jedinstvene lozinke za svakog korisnika .

Informacije o korisniku domene stvorene mogu se dobiti pomoću cmdleta Get-ADUser:

Get-ADUser testuser2

Masovno stvaranje novih korisnika u AD-u iz CSV PowerShell skripte

U slučaju da u Active Directoryu trebate stvoriti veliki broj korisnika odjednom, korisnije je popis korisnika spremiti u formatu CSV (Excel) datoteku, a zatim pokrenite posebnu skriptu PowerShell-a. U ovoj datoteci morate ispuniti sve korisničke atribute koji su vam važni.

Na primjer, moja datoteka Excel s korisnicima sastoji se od 9 stupaca i ima sljedeći format zaglavlja:

FirstName; LastName; Inicijal; SamAccountName; Phone; Department; JobTitle; Password; OU

Ispunite korisničke podatke i spremite Excel datoteku u CSV formatu s zarezima, kao razgraničitelje. Kodiranje datoteke mora biti UTF-8 (važno!). Osim toga, od god u vrijednostima stupca OU postoje zarezi, trebate ih izbjeći dvostrukim navodnicima.

Sada možete uvesti ovu CSV datoteku (new_ad_users2.csv) i stvoriti nove korisnike u domeni. Kod za gotov PowerShell skript predstavljen je u nastavku:

primjedba.

  • Pokrenut ćemo korisničko ime u domeni na engleskom jeziku, dakle, da bismo prepisali imena korisnika s ćirilice na latinski, skriptu ćemo dodati zasebnu funkciju Translit.
  • Ako koristite ";", Dodajte -delimiter"; "u cmdlet Import-Csv

Uvoz-modul aktivni direktorij
Uvezi-Csv "C: \ ps \ new_ad_users2.csv" | ForEach-Objekt
$ upn = $ _. SamAccountName + "@ contoso.loc"
$ uname = $ _. Prezime + "" + $ _. Prvo ime + "" + $ _. Inicijali
# prevesti prezime, ime i patronim u transliteraciju
$ transLastName = Translit ($ _. LastName)
$ transFirstName = Translit ($ _. Prvo ime)
$ transInitials = Translit ($ _. Inicijali)
$ transuname = $ transLastName + "" + $ transFirstName + "" + $ transInitials
Novo-ADUser -Name $ transuname '
-DisplayName $ uname '
-GivenName $ _. FirstName '
-Prezime $ _. Prezime '
-Inicijali $ _. Inicijali '
-OfficePhone $ _. Telefon '
-Odjel $ _. Odjel '
-Naslov $ _. JobTitle '
-UserPrincipalName $ upn '
-SamAccountName $ _. SamAccountName '
-Put $ _. OU '
-AccountPassword (PretvoriTo-SecureString $ _. Lozinka -AsPlainText -force) -Omogućeno $ true

# sama funkcija transliteracije
globalna funkcija: Translit
param ([string] $ 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] 'i' = "i"
[char] 'I' = "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"
[char] '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' = "Da"

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

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

Ispis $ outCHR

Nakon pokretanja skripte, otvorite ADUC konzolu, proširite navedeni spremnik i osigurajte da se novi korisnički računi pojavljuju u AD-u (možete pratiti stvaranje korisničkih računa u AD-u ovako: Nabavite popis AD računa kreiranih u posljednja 24 sata.)

Izrađeni računi mogu se odmah dodati određenoj grupi AD pomoću cmdleta Add-AdGroupMember. Da biste to učinili, morate malo izmijeniti skriptu dodavanjem retka u petlji:

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

Ili odmah postavite fotografiju korisnika u AD-u tako da se prikazuje u Outlooku i Lyncu:

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