为什么 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 或使用Set-ADAccountPassword如下 cmdlet 时会发生这种情况(假设用户之前使用过以下密码):

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

我原本期望ADPasswordComplexityException在这种情况下也会出现同样的异常。

那么,在重置密码时,有没有什么方法可以防止用户重复使用密码?如果没有,允许这样做的合理理由是什么?

答案1

这是预期行为,也是设计使然。管理重置不受年龄或历史要求的限制。

相关内容