Amikor felhasználói fiókokat hoz létre az Active Directory-ban, a rendszergazda általában minden egyes fiókhoz egyedi kezdeti jelszót állít be, amelyet ezután közöl a felhasználóval (általában amikor a felhasználó először jelentkezik be, ezt a jelszót meg kell változtatnia az AD userAccountControl attribútum „A felhasználónak meg kell változtatnia a jelszót a következő bejelentkezéskor” opcióval). mert nem akarja minden alkalommal új véletlenszerű jelszót kitalálni a felhasználók számára, vagy ha a PowerShell parancsfájlt használ felhasználói fiókok létrehozásához AD-ben, automatizálhatja az egyedi felhasználói jelszavak létrehozását a PowerShell használatával.
Jelszó létrehozásához használhatja a módszert GeneratePassword a System.Web.Security.Membership .Net osztályából. Komplex jelszót állítunk elő a következő parancsokkal:
Add-Type -AssemblyName System.Web
[System.Web.Security.Membership] :: GeneratePassword (10.2)
A GeneratePassword módszer lehetővé teszi legfeljebb 128 karakter hosszú jelszó generálását. A módszer két paramétert vesz bemenetként - a jelszó hosszát (az én esetemben 10 karakterek) és a nem alfanumerikus speciális karakterek minimális száma, mint például!, -, $, &, @, #,% stb. (2 különleges karakter). Mint láthatja, az én esetemben egy jelszót generáltunk tm-qZl! uQv
az adott érvek szerint.
_ ! $. R% 2 * [
a felhasználó irreális lesz.Ezért, amikor új felhasználókat hoz létre a PowerShell-parancsmag segítségével, az egyedi jelszóval ellátott New-ADUser a következő parancsokkal használható:
Add-Type -AssemblyName System.Web
Új-ADUser -Név "Anton Semenov" -GivenName "Semenov" -Felnév "Anton" -SamAccountName "asemenov" -UserPrincipalName "[email protected]" - Útvonal "OU = Felhasználók, OU = MSK, DC = winitpro, DC = com "-AccountPassword ([System.Web.Security.Membership] :: GeneratePassword (10,2)) -Enabled $ true
A GeneratePassword módszert akkor is használhatja, amikor visszaállítja az Active Directory felhasználói jelszavát..
Ha a szervezet szigorú jelszó-házirendeket alkalmaz, bizonyos esetekben a GeneratePassword módszer által generált jelszó nem felel meg a domain jelszó házirendjének. Mielőtt jelszót rendelne egy felhasználónak, ellenőrizheti, hogy megfelel-e a jelszó összetettségére vonatkozó irányelveknek. Természetesen nincs értelme annak hosszúságát és a jelszóban való felhasználói bejelentkezés hiányának ellenőrzését. Ellenőrizheti, hogy a jelszó összetettsége megfelel-e legalább 3 irányelvkövetelménynek. A jelszónak meg kell felelnie a bonyolultsági követelményeknek (a jelszónak három típusú karaktert kell tartalmaznia a listából: számok, kisbetűk, nagybetűk és speciális karakterek). Ha a jelszó nem hajtotta végre az ellenőrzést, akkor újra el kell készítenie.
Kaptam egy olyan PowerShell funkciót, amely új jelszót generál és ellenőrzi a komplexitás követelményeinek való megfelelést:
Funkció generálása-komplex domain-jelszó ([Paraméter (kötelező = $ true)] [int] $ PassLenght)
Add-Type -AssemblyName System.Web
$ követelményekPassed = $ hamis
csináld
$ newPassword = [System.Web.Security.Membership] :: GeneratePassword ($ PassLenght, 1)
If (($ newPassword -cmatch "[A-Z \ p Lu \ s]") '
-és ($ newPassword -cmatch "[a-z \ p Ll \ s]") '
-és ($ newPassword -match "[\ d]") '
-és ($ newPassword -match "[^ \ w]")
)
$ követelményekPassed = $ Igaz
Míg ($ követelményekPassed -eq $ false)
return $ newPassword
Legalább egy speciális karakterrel rendelkező 4 karakterből álló jelszó létrehozásához futtassa a következő parancsot:
Generál-komplex-domain-jelszó (4)
Ez a szkript mindig olyan jelszót állít elő, amely megfelel a domain összetettségének kritériumainak..