New-ADUser Ustvarite uporabnike v AD-ju z uporabo PowerShell-a

Najlažjega ustvarjanja novega uporabnika v domeni Active Directory je uporaba grafičnega priključka ADUC (Uporabniki in računalniki Active Directory) z grafičnim mmc-om. Toda v primeru, da morate hkrati ustvariti več računov v domeni, je lahko ustvarjanje v ročnem načinu za skrbnika precej mučen postopek. V tem članku si bomo ogledali primer avtomatizacije ustvarjanja uporabniških računov v AD-ju s pomočjo ukaznega okna PowerShell. Novi aduser.

Vsebina:

  • S pomočjo ukaznega okna New-ADUser ustvarite nov AD račun.
  • Masovno ustvarjanje novih uporabnikov v AD-ju iz skripta CSV PowerShell

S pomočjo ukaznega okna New-ADUser ustvarite nov AD račun.

Cmdlet Novi aduser vključeno v modul Active Directory za PowerShell. Če želite uporabljati ta modul, morate na računalnik namestiti ustrezno različico RSAT in omogočiti komponento Active Directory Module za Windows PowerShell.

Za uvoz modula v PowerShell sejo zaženite ukaz:

Uvozni modul aktivni imenik

Celotno skladnjo za ukazno ploščo New-ADUser je mogoče dobiti z ukazom

Get-Command New-ADUser -Syntax

Če želite ustvariti nov uporabniški račun v AD-ju, morate v minimalni različici samo določiti njegovo ime.
Novi ADUser testuser1

Kot lahko vidite, je bil v uporabniškem vsebniku ustvarjen nov uporabniški račun in je onemogočen. Če želite uporabljati ta račun, ga morate omogočiti (cmdlet Enable-ADAccount), nastaviti geslo (cmdlet Set-ADAccountPassword) in / ali druge atribute (če je potrebno).

Če želite ustvariti popoln funkcionalni račun v določenem vsebniku (OU) domene z geslom in ga takoj aktivirati, uporabite ta ukaz.

New-ADUser -Name "Test User2" -GivenName "Test" -Priimek "User2" -SamAccountName "testuser2" -UserPrincipalName "[email protected]" -Path "OU = Uporabniki, OU = Računi, OU = SPB, DC = winitpro, DC = loc "-AccountPassword (Read-Host -AsSecureString" Vhodno geslo ") -Anabled $ true

Ekipa vas bo pozvala, da takoj navedete geslo za novega uporabnika (v zaščiteni obliki)

Opomba. Uporabniško geslo mora biti skladno z varnostnimi pravilniki gesla za domeno glede dolžine, zapletenosti itd., Sicer bo cmdlet vrnil napako: New-ADUser: Geslo ne ustreza zahtevam dolžine, zapletenosti ali zgodovine domene. Za ustvarjanje edinstvenega gesla za vsakega uporabnika lahko uporabite že pripravljen skript PowerShell .

Podatke o ustvarjenem uporabniku domene lahko dobite z ukaznim ukazom Get-ADUser:

Get-ADUser testuser2

Masovno ustvarjanje novih uporabnikov v AD-ju iz skripta CSV PowerShell

V primeru, da morate v storitvi Active Directory ustvariti večje število uporabnikov hkrati, je seznam uporabnikov shranjeno v obliki Csv (Excel) datoteko in nato zaženite poseben skript PowerShell. V tej datoteki morate izpolniti vse uporabniške atribute, ki so za vas pomembni.

Na primer, moja datoteka Excela z uporabniki je sestavljena iz 9 stolpcev in ima naslednjo obliko glave:

FirstName; LastName; Začetki; SamAccountName; Telefon; Oddelek; JobTitle; Geslo; OU

Izpolnite uporabniške podatke in shranite datoteko Excel v formatu CSV z vejicami kot ločitve. Kodiranje datoteke mora biti UTF-8 (pomembno!). Poleg tega od leta v vrednosti stolpca OU so vejice, ubežati jih morate z dvojnimi narekovaji.

Zdaj lahko uvozite to datoteko CSV (new_ad_users2.csv) in ustvarite nove uporabnike v domeni. Spodaj je predstavljena koda za dokončen skript PowerShell:

Opomba.

  • Uporabniško ime v domeni bomo začeli v angleščini, zato bomo za prepisovanje imen uporabnikov iz cirilice v latinico dodali ločeno funkcijo skriptu Translit.
  • Če uporabljate »;", V ukazni ukaz Import-Csv dodajte -delimiter"; "

Uvozni modul aktivni imenik
Uvoz-Csv "C: \ ps \ new_ad_users2.csv" | Predmet ForEach
$ upn = $ _. SamAccountName + "@ contoso.loc"
$ uname = $ _. LastName + "" + $ _. FirstName + "" + $ _. Začetki
# prevedi priimek, ime in patronimiko v prečrkovanje
$ transLastName = Translit ($ _. LastName)
$ transFirstName = Translit ($ _. prvo ime)
$ transInitials = Translit ($ _. začetnice)
$ transuname = $ transLastName + "" + $ transFirstName + "" + $ transInitials
New-ADUser -Name $ transuname '
-DisplayName $ uname '
-GivenName $ _. FirstName '
-Priimek $ _. Priimek "
-Začetnice $ _. Začetnice '
-OfficePhone $ _. Telefon '
-Oddelek $ _ oddelek '
-Naslov $ _. JobTitle '
-UserPrincipalName $ upn '
-$ _. SamAccountName $ _.
-Pot $ _. OU "
-AccountPassword (PretvoriTo-SecureString $ _. Geslo -AsPlainText -force) -Omogočeno $ true

# sama funkcija transliteracije
funkcija global: 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] 'in' = "i"
[char] 'In' = "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' = "Ja"

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

if ($ Translit [$ CHR] -cne $ Null)
$ outCHR + = $ Translit [$ CHR]
drugače
$ outCHR + = $ CHR

Pisanje-izhod $ outCHR

Po zagonu skripta odprite konzolo ADUC, razširite določen vsebnik in se prepričajte, da se v AD-ju pojavljajo novi uporabniški računi (ustvarjanje uporabniških računov v AD-ju lahko spremljate takole: dobite seznam računov AD, ustvarjenih v zadnjih 24 urah.)

Ustvarjene račune lahko takoj dodate v določeno skupino AD s pomočjo ukaznega okna Add-AdGroupMember. Če želite to narediti, morate rahlo spremeniti skript z dodajanjem vrstice v zanki:

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

Ali nemudoma nastavite fotografijo uporabnika v AD-ju tako, da se prikaže v Outlooku in Lyncu:

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