为什么Active Directory密码重置会忽略密码历史logging计数规则?

我有一个情况,即我正在使用的AD域具有足够明智的密码策略(例如,足够高的PasswordHistoryCountMinPasswordLength设置等)。 我可以使用Set-ADAccountPassword cmdlet轻松地通过PowerShell更改给定用户的密码,如下所示:

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

上面还ADPasswordComplexityException了在尝试重新使用密码时违反密码策略的情况下的ADPasswordComplexityException期望,即,消息:

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

但是,密码重置后,密码历史logging策略不会被强制执行。 在使用“Active Directory用户和计算机”UI时,或者像使用Set-ADAccountPassword cmdlet(假设用户以前使用过以下密码)时,会发生这种情况:

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

我会期望在这种情况下引发相同的ADPasswordComplexityExceptionexception。

那么 – 是否有任何方法来防止用户在重置密码时重复使用密码? 如果不是,允许这个的合理理由是什么?

这是预期的行为,是由devise。 行政重置不受年龄或历史要求的限制。