Ich habe eine Situation, in der eine AD-Domäne, mit der ich arbeite, eine ausreichend sinnvolle Kennwortrichtlinie hat (z. B. ausreichend hohe PasswordHistoryCount
Einstellungen MinPasswordLength
usw.). Ich kann das Kennwort eines bestimmten Benutzers mithilfe des Cmdlets ganz einfach über PowerShell ändern Set-ADAccountPassword
, und zwar wie folgt:
Set-ADAccountPassword
-Identity "Forename.Surname"
-NewPassword (ConvertTo-SecureString -AsPlainText "incorrectp0nypetrolnail" -Force)
-OldPassword (ConvertTo-SecureString -AsPlainText "correcth0rsebatterystaple" -Force)
Das Obige gibt auch Anlass zu der ADPasswordComplexityException
Annahme, dass die Kennwortrichtlinie beim Versuch, ein Kennwort wiederzuverwenden, verletzt wird, z. B. mit der Meldung:
"The password does not meet the length, complexity, or history requirement of the domain."
Die Kennwortverlaufsrichtlinie wird jedoch beim Zurücksetzen von Kennwörtern nicht erzwungen. Dies tritt entweder bei Verwendung der Benutzeroberfläche „Active Directory-Benutzer und -Computer“ oder bei Verwendung des Set-ADAccountPassword
Cmdlets wie folgt auf (nehmen Sie an, dass das folgende Kennwort zuvor vom Benutzer verwendet wurde):
Set-ADAccountPassword
-Identity "Forename.Surname"
-Reset
-NewPassword (ConvertTo-SecureString -AsPlainText "correcth0rsebatterystaple" -Force)
Ich hätte erwartet, ADPasswordComplexityException
dass in dieser Situation die gleiche Ausnahme ausgelöst worden wäre.
Gibt es also eine Möglichkeit, einen Benutzer daran zu hindern, Passwörter bei einer Passwortzurücksetzung wiederzuverwenden? Wenn nicht, welche vernünftigen Gründe sprechen dafür, dies zuzulassen?
Antwort1
Dies ist das erwartete Verhalten und so beabsichtigt. Administrative Zurücksetzungen unterliegen keinen Alters- oder Verlaufsanforderungen.