Tags: Active Directory, PowerShell, Kommandozeile
Fehlgeschlagene Anmeldeversuche aufgrund vergessener Passwörter gehören zu den alltäglichen Problemen eines Helpdesks. Neben den gängigen GUI-Tools aus den RSAT und kostenlosen Programmen, die auf diesen Zweck zugeschnitten sind, können auch die Kommandozeile oder PowerShell Passwörter zurücksetzen.
Unter den Kommandozeilen-Tools für das AD-Management ist dsmod für das Passwort-Reset zuständig. Die Syntax dafür ist etwas umständlich, weil man die Art des AD-Objekts spezifizieren und den Benutzernamen als Distinguished Name angeben muss:
dsmod user "CN=Bseidl,OU=Sales,DC=contoso,DC=com" -pwd NewPass
Bei Bedarf kann man für den Parameter user mehrere Konten angeben, die jeweils in Anführungszeichen stehen und nicht durch Kommata getrennt werden. Fügt man noch -mustchpwd yes an, dann muss der User beim nächsten Anmelden sein Kennwort ändern.
Ein alternatives Vorgehen für den Aufruf von dsmod besteht darin, dass man dsquery nutzt, um den Distinguished Name für einen User Principal Name zu ermitteln und diesen über eine Pipe an dsmod zu übergeben:
dsquery user -name bseidl | dsmod user -pwd NewPass
Passwort-Reset mit Powershell
Das Active-Directory-Modul von PowerShell enthält das Cmdlet Set-ADAccountPassword, mit dem sich Passwörter ändern oder zurücksetzen lassen. Wenn man ihm mit dem Parameter -Identity nur den Benutzernamen übergibt, dann kann man das Passwort interaktiv ändern:
Set-ADAccountPassword -Identity FLee
Diese Variante eignet sich nur für den Inhaber des Kontos, weil man zuerst nach dem alten Passwort gefragt wird. Ein Administrator, der das Passwort für andere Benutzer zurücksetzen soll, muss den Aufruf um weitere Angaben ergänzen. Dazu zählen das neue Passwort sowie der Schalter -Reset:
Set-ADAccountPassword -Identity FLee -Reset -NewPassword (ConvertTo-SecureString -string "NewPass" -AsPlainText -Force)
Zu beachten ist hier, dass das neue Passwort ("NewPass" in diesem Beispiel) als Secure String übergeben werden muss, was sich durch die Verwendung der Funktion ConvertTo-SecureString bewerkstelligen lässt.
Soll das Passwort für eine größere Zahl von Benutzern zurückgesetzt werden, dann findet sich dafür auf Microsofts TechNet-Gallerie folgendes Script. Es kann Listen von User-Namen und Kennwörtern aus einer Excel-Datei importieren und in einem Durchgang abarbeiten.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Security- und Health-Checks für Active Directory mit PowerShell-Scripts
- Pfad zu einer Programmdatei finden
- Split-brain DNS in Active Directory einrichten
- AD-Konten mit DES- und RC4-Algorithmus für Kerberos-Verschlüsselung finden
- UserAccountControl: Sicherheitseinstellungen für AD-Konten prüfen und ändern
Weitere Links