AD-Passwort zurücksetzen mit dsmod und PowerShell


    Tags: , ,

    Active Directory SymbolFehl­geschlagene Anmelde­versuche auf­grund ver­gessener Pass­wörter ge­hören zu den all­täglichen Pro­blemen eines Help­desks. Neben den gängigen GUI-Tools aus den RSAT und kosten­losen Pro­grammen, die auf diesen Zweck zuge­schnitten sind, können auch die Kommando­zeile oder Power­Shell Pass­wörter zurück­setzen.

    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

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut

    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links