【发布时间】:2010-03-26 17:03:40
【问题描述】:
我们正在使用 ADAM 在我们的开发环境中模拟 AD 服务器。我们需要让几个用户的密码过期,以测试几个关键代码路径。
我们一直在通过将密码到期窗口设置为低(1 天)然后等待该时间间隔直到密码到期来做到这一点。但是,这很慢,一旦我们更改密码,我们必须再等一天才能看到另一个到期窗口。
有没有人可以轻松解决这个问题?
【问题讨论】:
标签: ldap adam user-management
我们正在使用 ADAM 在我们的开发环境中模拟 AD 服务器。我们需要让几个用户的密码过期,以测试几个关键代码路径。
我们一直在通过将密码到期窗口设置为低(1 天)然后等待该时间间隔直到密码到期来做到这一点。但是,这很慢,一旦我们更改密码,我们必须再等一天才能看到另一个到期窗口。
有没有人可以轻松解决这个问题?
【问题讨论】:
标签: ldap adam user-management
您可以通过在用户属性中将 pwdExpiryInterval 设置为 0 来使密码过期。
【讨论】:
我很久以后才遇到这个问题,想找到更直接的答案。经过一番研究,我发现了两个:
如果您正在使用程序集 System.DirectoryServices.AccountManagement 并且您有 UserPrincipal,则可以使用 myUser.ExpirePasswordNow()。
如果您正在使用程序集 System.DirectoryServices 并且您有 DirectoryEntry,您可以使用 myEntry.Properties["pwdLastSet"].Value = 0。
我对使用之前建议的 pwdExpiryInterval 有点担心,因为可能会产生副作用(尽管对于 OP 声明的情况可能没问题)。
【讨论】: