為什麼 Active Directory 密碼重設會忽略密碼歷史記錄計數規則?

為什麼 Active Directory 密碼重設會忽略密碼歷史記錄計數規則?

我遇到的情況是,我正在使用的 AD 網域具有足夠合理的密碼策略(例如,足夠高的PasswordHistoryCount設定MinPasswordLength等)。我可以使用 cmdlet 透過 PowerShell 輕鬆變更給定使用者的密碼Set-ADAccountPassword,如下所示:

Set-ADAccountPassword
    -Identity "Forename.Surname"
    -NewPassword (ConvertTo-SecureString -AsPlainText "incorrectp0nypetrolnail" -Force)
    -OldPassword (ConvertTo-SecureString -AsPlainText "correcth0rsebatterystaple" -Force)

ADPasswordComplexityException當嘗試重新使用密碼時違反密碼原則時,上述內容也會引發預期,即顯示以下訊息:

"The password does not meet the length, complexity, or history requirement of the domain."

但是,重設密碼時不會強制執行密碼歷史記錄原則。當使用「Active Directory 使用者和電腦」UI 或使用 cmdlet 時Set-ADAccountPassword(假設使用者之前已使用以下密碼),就會發生這種情況:

Set-ADAccountPassword
    -Identity "Forename.Surname"
    -Reset
    -NewPassword (ConvertTo-SecureString -AsPlainText "correcth0rsebatterystaple" -Force)

我以為ADPasswordComplexityException在這種情況下也會引發同樣的異常。

那麼,有什麼方法可以防止使用者在重設密碼時重複使用密碼嗎?如果不是,允許這樣做的合理理由是什麼?

答案1

這是預期的行為,也是設計使然。行政重置不受年齡或歷史要求的限制。

相關內容