我遇到的情况是,我使用的 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
这是预期行为,也是设计使然。管理重置不受年龄或历史要求的限制。