首页 > 解决方案 > UserPrincipal.ChangePassword 是否计入密码历史记录?

问题描述

UserPrincipal.SetPassword()是否有助于用户的密码历史记录?

这是UserPrincipal.ChangePassword()的管理版本。SetPassword 绕过密码规则(在某种程度上),而 ChangePassword 受密码复杂性/长度/历史要求的约束。

我们有一个应用程序允许用户通过一个应用程序来重置他们的密码,该应用程序基本上是SetPassword(tempRandomPassword)使用ChangePassword(tempRandomPassword, newUserPassword)新输入的密码。这是要求用户选择一个符合我们的长度/复杂性/历史密码标准的新密码。

假设我们有一个密码策略是你不能使用以前的 X 密码。

关于密码历史要求,如果在 X SetPasswords 之后,第 X+1 个密码现在有效吗?

标签: active-directorypasswords.net-4.5change-password

解决方案


我做了同样的测试,两个 SetPassword 都计入密码历史记录。因此,假设您有一个策略设置为记住 2 个最后一个密码,并且您的应用程序在 1 个操作中同时执行 SetPassword 和 ChangePassword,那么 AD 在 1 个操作中记住了 2 个密码。随后,AD 将允许您设置与以前相同的密码。


推荐阅读