我们在开发环境中使用ADAM来模拟AD服务器。我们需要将几个用户的密码过期以测试几个关键代码路径。如何在ADAM中过期密码
我们一直通过设置密码过期窗口低(1天),然后等待该时间间隔,直到密码过期这样做。然而,这是缓慢的,一旦我们改变密码,我们必须等待另一天的过期时间窗口。
有没有人有解决这个问题的简单方法?
我们在开发环境中使用ADAM来模拟AD服务器。我们需要将几个用户的密码过期以测试几个关键代码路径。如何在ADAM中过期密码
我们一直通过设置密码过期窗口低(1天),然后等待该时间间隔,直到密码过期这样做。然而,这是缓慢的,一旦我们改变密码,我们必须等待另一天的过期时间窗口。
有没有人有解决这个问题的简单方法?
您可以通过在用户的属性pwdExpiryInterval设置为0,密码过期。
我偶然发现了这个问题很久以后,想找到一个更直接的答案。经过一番研究,我发现了两个:
如果你正在使用汇编System.DirectoryServices.AccountManagement
和你有一个UserPrincipal
可以使用myUser.ExpirePasswordNow()
。
如果您使用程序集System.DirectoryServices
,并且您有DirectoryEntry
,您可以myEntry.Properties["pwdLastSet"].Value = 0
。
我会有点担心使用pwdExpiryInterval像以前建议,因为可能有副作用(尽管对于OP的既定情况下,它可能是罚款)。