Wenn ein Unternehmen beschließt, dass Kennwörter regelmäßig geändert werden sollen, dann gilt es zum einen die entsprechende GPO, meist die Default Domain Policy, anzupassen. Die Anpassung kann aber schnell zu unerwarteten Problemen führen:

Ein Beispiel aus der Praxis:

  • Die Kennwortgültigkeit z.B. auf 30 Tagen gesetzt und die Eigenschaft der Benutzerkonten „Kennwort läuft nie ab“ entfernt.
  • Das Kennwortablaufdatum wird nun auf Basis des AD-Objektwertes pwdLastSet berechnet und nicht auf dem heutigen Datum.

Wenn das Kennwort eines Benutzers nie geändert wurde, ist das Datum der letzten Kennwortänderung auf den Zeitpunkt der Kontoerstellung gesetzt.
Das führt dazu, dass das Passwort bei allen Konten, die vor mehr als 30 Tagen angelegt wurden, als abgelaufen gilt.


Leider kann man den Wert für pwdLastSet nicht auf ein beliebiges Datum setzen, es gibt lediglich die Möglichkeit den Wert „jetzt“ zu setzen.
Dafür muss der Wert des Attributs bei jedem Konto erst auf 0 gesetzt, gespeichert und dann auf -1 gesetzt werden. Nun gilt der jetzige Zeitpunkt und der Inhaber des Kontos hat Zeit bis die eingestellte Kennwortgültigkeit abgelaufen ist. In unserem Beispiel also heute + 30 Tage.

Da das Ändern der Werte für viele Konten aber zu aufwendig ist, habe ich ein Skript geschrieben:
Es wird nach einem Domain Controller und der OU gefragt in der sich die Benutzer befinden.
Wichtig: Es werden auch die Benutzer in den OUs in Ebenen darunter angepasst. Gibt man also z.B. ou=mitarbeiter,dc=meinedomain,dc=local an, so werden auch die Konten in ou=aussendienst,ou=mitarbeiter,dc=meinedomain,dc=local angepasst.

Das Skript findet ihr hier: https://machinewithoutbrain.de/wp-content/uploads/2019/01/pwdlastset.zip

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.