U ovom ćemo članku pogledati kako promijeniti (resetirati) lozinku jednog ili više korisnika Active Directory-a iz naredbenog retka PowerShell pomoću cmdleta Set-ADAccountPassword.
Većina administratora navikla se mijenjati (resetirati) korisničke lozinke u AD-u putem grafičkog dodatka dsa.msc (Korisnici aktivnih direktorija i računala - ADUC). Da biste to učinili, pronađite korisnički račun u AD-u, desnom tipkom miša kliknite i odaberite "Poništi lozinku". Ovo je jednostavan i jasan način..
Ali nećete moći koristiti ADUC konzolu kada trebate ponovo postaviti lozinku mnogim korisnicima, koristite postupak vraćanja lozinke kao jednu od radnji skripte. U ovom slučaju lozinke u AD-u možete resetirati iz naredbenog retka PowerShell..
sadržaj:
- Kako resetirati korisničku lozinku u AD-u?
- Promijenite lozinku više korisnika u AD-u
Kako resetirati korisničku lozinku u AD-u?
Za resetiranje korisničke lozinke u AD-u koristite cmdlet Set-ADAccountPassword, uključen u modul Active Directory za Windows PowerShell (u verzijama za stolni sustav Windows dio je RSAT-a, a u izdanjima poslužitelja instaliran je kao zasebna komponenta AD DS Snap-Ins i Alati naredbenog retka). Prije upotrebe modula, morate ga uvesti u PowerShell sesiju:
Uvozni modul ActiveDirectory
Za resetiranje zaporke vaš račun mora imati odgovarajuća prava. Naravno, obični korisnici AD-a ne mogu zadano postaviti lozinku drugih računa, da bi se ova značajka pojavila, korisniku (korisničkoj grupi) mora biti dodijeljeno pravo na resetiranje lozinke na AD spremniku ili ga dodati u domenu grupe operatora računa.
Da biste potvrdili da vaš račun ima pravo na resetiranje lozinke određenog korisnika, otvorite njegova svojstva, idite na karticu Sigurnost -> Napredno -> Učinkovit pristup -> navedite naziv svog računa -> provjerite da li imate dozvolu za resetiranje lozinke..
Da biste resetirali lozinku za korisnika s dakimov računom i postavili novu lozinku SuperStr0n @ p1, pokrenite naredbu:
Set-ADAccountPassword dakimov -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "SuperStr0n @ p1" -Force -Verbose) -PassThru
Po defaultu, cmdlet vraća objekt i ne prikazuje ništa u konzoli. Za prikaz informacija o korisničkom objektu u AD-u, koristimo parametar -PassThru.
Kao korisničko ime možete navesti sAMAccountName (kao u našem slučaju), objectGUID, SID korisnika ili njegov DN (Razlikovano ime, na primjer CN = Akimov, OU-Korisnici, DC = winitpro, DC = ru).
Ako pri promjeni korisničke lozinke ne navedete parametar -Reset, morate navesti staru i novu zaporku računa.
primjedba. Ako dođe do pogreške prilikom resetiranja lozinke pomoću cmdleta Set-ADAccountPassword:Set-ADAccountPassword: Lozinka ne zadovoljava dužinu, složenost ili povijest zahtjeva domene.
To znači da se određeni zahtjev za složenost, duljinu itd. Definirani u politici lozinke domene ili detaljnoj politici lozinke koja se primjenjuje na račun odnose na navedenu lozinku..
Ako ste omogućili povijest PowerShell naredbi i ne želite da se lozinke prikazuju u čistom tekstu na PoSh konzoli, morate pretvoriti lozinku u sigurnu liniju baš kao i prilikom stvaranja korisnika (više o zaštiti lozinke u PowerShell skriptama ovdje):
$ NewPasswd = Pročitajte host "Unesite novu korisničku lozinku" -AsSecureString
Sada resetirajte zaporku:
Set-ADAccountPassword dakimov -Reset -NewPassword $ NewPasswd -PassThru
Kada resetirate lozinku, možete prisiliti zaključavanje akademskog zapisa čak i ako je zaključan (o tome kako pronaći s kojeg je računala zaključan račun, pogledajte članak Pronalaženje izvora zaključavanja korisnika u Active Directoryu):
Otključaj-ADAccount -Dentitet dakimov
Kako bi korisnik sljedeću prijavu na domenu promijenio ovu lozinku u novu, pokrenite naredbu:
Set-ADUser -Identity dakimov -ChangePasswordAtLogon $ true
Možete kombinirati naredbu za promjenu lozinke i zahtjev za promjenu lozinke (atribut userAccountControl) u jednom retku:
Set-ADAccountPassword dakimov -NewPassword $ NewPasswd -Reset -PassThru | Set-ADuser -PromeniPasswordAtLogon $ True
Pomoću cmdleta Get-ADUser možete provjeriti je li lozinka uspješno resetirana prikazom vremena posljednjeg mijenjanja računa:
Get-ADUser dakimov -Properties * | odaberite ime, proslijedi *
Kada se lozinka resetira, događaj EventID 4724 prijavljuje se na kontroler domene (DC). Taj događaj pomaže identificirati račun koji je izvršio vraćanje korisničke lozinke..
Promijenite lozinku više korisnika u AD-u
Iznad smo pokazali kako resetirati lozinku jednog korisnika u AD-u iz PowerShell-a. Sada razmislite o drugom scenariju - kada trebate promijeniti lozinke nekoliko korisnika odjednom.
Najjednostavniji slučaj je da morate poništiti lozinke svih korisnika s određenim svojstvima računa. Na primjer, trebate primorati sve zaposlenike u odjelu prodaje da resetiraju lozinku na istu i prisiliti ih da se promijeni sljedeći put kada se prijave:
get-aduser -filter "odjel -eq" Odjel prodaje "-AND omogućen -eq" True "" | Set-ADAccountPassword -NewPassword $ NewPasswd -Reset -PassThru | Set-ADuser -PromeniPasswordAtLogon $ True
Razmotrimo još jedan slučaj. Pretpostavimo da imate CSV / Excel datoteku koja sadrži popis korisnika koji trebaju resetirati lozinke i jedinstvene lozinke za svakog korisnika. Format datoteke Users.csv:
sAMAccountName; NewPassword
aivanov; PaSSde0r1
bpetrov; Novi $ isde01
ssidorov; k @ nndj! 223
Pomoću sljedeće skripte PowerShell možete resetirati lozinku za svaki račun u datoteci:
Uvezi-Csv users.csv -Delimiter ";" | Foreach
$ NewPass = PretvoriTo-SecureString -AsPlainText $ _. NewPassword -Force
Set-ADAccountPassword -Identity $ _. SAMAccountName -NewPassword $ NewPass -Reset -PassThru | Set-ADUser -PromeniPasswordAtLogon $ false
Nakon izvršavanja ovog koda postavit će se nova jedinstvena lozinka za sve korisnike u datoteci..