AD-Passwort zurücksetzen mit dsmod und PowerShell

    Fehlgeschlagene Anmeldeversuche aufgrund vergessener Passwörter gehören zu den alltäglichen Problemen, mit denen der Helpdesk konfrontiert ist. Neben den gängigen GUI-Tools aus dem RSAT-Fundus und kostenlosen Programmen, die auf diesen Zweck zugeschnitten sind, kann 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.

    Keine Kommentare