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