Mit der Windows PowerShell das Passwort eines Active Directory Benutzers zurücksetzen

Das Kennwort eines Benutzers in der Active Directory lässt sich auch mit der Windows PowerShell zurücksetzen

Grundlegendes

Wenn ein Benutzer sein Kennwort vergessen hat, so kann man dies auf verschiedenen Wegen zurücksetzen. Einer davon ist natürlich die grafische Oberfläche mit den verschiedenen Verwaltungscentern zur Active Directory. Eine weitere Alternative ist allerdings auch die Windows PowerShell. Bekanntlich bietet diese mehr Features und natürlich auch den Vorteil der Automatisierung.

Kennwort des Active Directory Benutzers zurücksetzen

Nach der Installation eines Domänencontrollers mit dessen Active Directory erhält man auch immer das Modul mit sämtlichen Cmdlets für die Active Directory Verwaltung. Aus diesem Modul wird jetzt das Cmdet Set-ADAccountPasswort sowie das Cmdlet Set-ADUser benötigt. Das folgende Code-Snippet zeigt nun, wie man das Passwort eines vorhandenen Benutzers (hier: Tom) zurücksetzt. Im ersten Schritt erstellt man ein neues Kennwort, welches man als SecureString speichert. Anschließend setzt man das neue Passwort und weist den User auch gleich an, dass er bei der nächsten Anmeldung sein Passwort ändern muss. Diese Anweisung kann man in der PowerShell sehr einfach mithilfe der Pipe realisieren.

$pass = "Passw0rt!" | ConvertTo-SecureString -AsPlainText -Force
Set-ADAccountPassword Tom -NewPassword $pass -Reset -PassThru | Set-ADUser -ChangePasswordAtLogon $true

Sollte beim Benutzer das Passwort so konfiguriert worden sein, dass es nie abläuft, muss vorab diese Einstellungen geändert werden. Dazu wird die Option “PasswordNeverExpires” benötigt, welche auf “$false” gesetzt werden muss. Erst jetzt lässt sich das obige Code-Snippet verwenden, um das Passwort des Benutzers zurückzusetzen.

Set-ADUser Tom -PasswordNeverExpires $false

Fazit

Das Windows Powershell Modul für die Active Directory bietet sehr viele Cmdlets zur Verwaltung der Active Directory. Am besten man lässt sich mal sämtliche Cmdlets hiervon ausgeben, um einen kleinen Einblick zu erhalten, wie viele Optionen hier zur Verfügung stehen. Für die Ausgabe der Befehle eignet sich das Cmdlet Get-Command.

Das könnte dich auch interessieren: