New-ADUser Hozzon létre felhasználókat az AD-ben a PowerShell használatával

Az Active Directory tartományban új felhasználó létrehozásának legegyszerűbb módja az ADUC (Active Directory felhasználók és számítógépek) mmc grafikus beépülő modul használata. De abban az esetben, ha egyszerre több fiókot kell létrehoznia egy domainben, a kézi üzemmódban történő létrehozás meglehetősen unalmas eljárás lehet a rendszergazda számára. Ebben a cikkben példát mutatunk be a felhasználói fiókok létrehozásának automatizálására az AD-ben a PowerShell-parancsmag segítségével. Új-ADUser.

Tartalom:

  • Használja az New-ADUser parancsmagot új AD-fiók létrehozásához.
  • Új felhasználók tömeges létrehozása az AD-ben a CSV PowerShell parancsfájlból

Használja az New-ADUser parancsmagot új AD-fiók létrehozásához.

parancsmaggal Új-ADUser benne a modulban PowerShell Active Directory. A modul használatához telepítenie kell az RSAT megfelelő verzióját a számítógépre, és engedélyeznie kell az Active Directory modult a Windows PowerShell összetevőhöz..

A modul PowerShell-munkamenetbe történő importálásához futtassa a következő parancsot:

Import-Modul aktív könyvtár

Az New-ADUser parancsmag teljes szintaxisa a parancs segítségével szerezhető be

Get-Command New-ADUser -Syntax

A minimális verzióban az új felhasználói fiók létrehozásához az AD-ben csak a nevét kell megadnia.
Új ADUser tesztfelhasználó1

Mint láthatja, új felhasználói fiók jött létre a Felhasználók tárolóban, és le van tiltva. A fiók használatához engedélyeznie kell azt (Enable-ADAccount parancsmag), beállítania kell egy jelszót (Set-ADAccountPassword parancsmag) és / vagy egyéb attribútumokat (ha szükséges).

Ehhez a parancshoz teljes értékű funkcionális fiók létrehozásához egy jelszóval rendelkező domain adott tárolójában (OU), és azonnal aktiválnia kell ezt a parancsot.

New-ADUser -Name "Test User2" -GivenName "Test" -Surname "User2" -SamAccountName "testuser2" -UserPrincipalName "[email protected]" -Path "OU = Users, OU = Accounts, OU = SPB, DC = winitpro, DC = loc "-AccountPassword (Olvasás-Host -AsSecureString" Beviteli jelszó ") -Enabled $ true

A csapat felszólítja Önt, hogy azonnal adja meg az új felhasználó jelszavát (védett formában)

megjegyzés. A felhasználói jelszónak meg kell felelnie a domain jelszó biztonsági politikájának, hossza, összetettsége stb. Szempontjából, különben a parancsmag hibaüzenetet jelenít meg: New-ADUser: A jelszó nem felel meg a domain hosszának, összetettségének vagy előzményeinek. Használhat kész PowerShell-parancsfájlt, hogy minden felhasználó számára egyedi jelszót hozzon létre .

A létrehozott tartományi felhasználóval kapcsolatos információk a Get-ADUser parancsmag segítségével szerezhetők be:

Get-ADUser tesztfelhasználó2

Új felhasználók tömeges létrehozása az AD-ben a CSV PowerShell parancsfájlból

Abban az esetben, ha az Active Directory-ban nagyszámú felhasználót kell egyszerre létrehoznia, sokkal kényelmesebb a felhasználói listát a következő formátumban menteni: CSV (Excel) fájlt, majd futtassa a speciális PowerShell szkriptet. Ebben a fájlban ki kell töltenie az összes számodra fontos felhasználói attribútumot.

Például az én Excel-fájlom a felhasználókkal 9 oszlopból áll, és a következő fejlécformátummal rendelkezik:

Keresztnév; Vezetéknév; Kezdeti név; SamAccountName; Telefon; Osztály; Munkacím; Jelszó; OU

Töltse ki a felhasználói adatokat és mentse elválasztóként az Excel fájlt CSV formátumban vesszővel. A fájlkódolásnak UTF-8-nak kell lennie (fontos!). Ezen felül, azóta vesszők vannak az OU oszlop értékeiben, kettős idézőjelekkel kell azokat elkerülni.

Most importálhatja ezt a CSV fájlt (new_ad_users2.csv), és új felhasználókat hozhat létre a domainben. A kész PowerShell-szkript kódja az alábbiakban látható:

megjegyzés.

  • A felhasználónevet a domainben angolul indítjuk, ezért a felhasználó nevek átírására kirilicából latinra külön szót fogunk hozzáadni a szkripthez Translit.
  • Ha a „;”, Add -delimiter„; ”az Import-Csv parancsmaghoz

Import-Modul aktív könyvtár
Import-Csv "C: \ ps \ new_ad_users2.csv" ForEach-Object
$ upn = $ _. SamAccountName + “@ contoso.loc”
$ uname = $ _. LastName + "" + $ _. FirstName + "" + $ _. Initials
# fordítsa le a vezetéknevet, utónevet és családnevet transzliterációba
$ transLastName = Translit ($ _. Vezetéknév)
$ transFirstName = Translit ($ _. FirstName)
$ transInitials = Translit ($ _. kezdőbetűk)
$ transuname = $ transLastName + "" + $ transFirstName + "" + $ transInitials
New-ADUser -Name $ transuname '
-DisplayName $ uname '
-GivenName $ _. FirstName '
-Vezetéknév $ _. Vezetéknév '
-Initials $ _. Initials '
-OfficePhone $ _. Telefon '
-Osztály $ _. Osztály ”
-Cím $ _. JobTitle '
-UserPrincipalName $ upn '
-SamAccountName $ _. SamAccountName '
-$ _ Elérési út. OU '
-AccountPassword (ConvertTo-SecureString $ _. Jelszó -AsPlainText -forrás) -Enabled $ true

# maga a transzliterációs funkció
globális funkció: Translit
param ([karakterlánc] $ 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] 'és' = "i"
[char] 'és' = "én"
[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] '' = "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]
más
$ outCHR + = $ CHR

Írás-output $ outCHR

A szkript futtatása után nyissa meg az ADUC konzolt, bontsa ki a megadott tárolót, és ellenőrizze, hogy az új felhasználói fiókok megjelennek-e az AD-ben (az AD felhasználói fiókok létrehozását az alábbi módon követheti nyomon: Készítsen az elmúlt 24 órában létrehozott AD-fiókok listáját.)

A létrehozott fiókokat azonnal hozzá lehet adni egy adott AD csoporthoz az Add-AdGroupMember parancsmag segítségével. Ehhez kissé módosítania kell a szkriptet a hurok sorának hozzáadásával:

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

Vagy azonnal állítsa be a felhasználói fényképet AD-ben úgy, hogy az megjelenjen az Outlookban és a Lync-ben:

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