2010-03-26 53 views
1

我们在开发环境中使用ADAM来模拟AD服务器。我们需要将几个用户的密码过期以测试几个关键代码路径。如何在ADAM中过期密码

我们一直通过设置密码过期窗口低(1天),然后等待该时间间隔,直到密码过期这样做。然而,这是缓慢的,一旦我们改变密码,我们必须等待另一天的过期时间窗口。

有没有人有解决这个问题的简单方法?

回答

0

您可以通过在用户的属性pwdExpiryInterval设置为0,密码过期。

0

我偶然发现了这个问题很久以后,想找到一个更直接的答案。经过一番研究,我发现了两个:

  1. 如果你正在使用汇编System.DirectoryServices.AccountManagement和你有一个UserPrincipal可以使用myUser.ExpirePasswordNow()

  2. 如果您使用程序集System.DirectoryServices,并且您有DirectoryEntry,您可以myEntry.Properties["pwdLastSet"].Value = 0

我会有点担心使用pwdExpiryInterval像以前建议,因为可能有副作用(尽管对于OP的既定情况下,它可能是罚款)。