使用“设置密码”以编程方式更改Active Directory密码,创建多个密码

时间:2014-05-28 13:42:12

标签: c# asp.net exchange-server

我正在使用UserPrincipal类的SetPassword方法更改我的交换密码。但问题是,它希望创建一个其他密码并保留旧密码。例如:如果我这样做,我当前的密码是“123”:

PrincipalContext Adcontext = new PrincipalContext(ContextType.Domain, "domain", "superuser", "password");
UserPrincipal userdomain = UserPrincipal.FindByIdentity(Adcontext, "UserIWantToChange");

userdomain.SetPassword("newpassordcompletlynewinsaneinthebrain");

我尝试登录outlook,2密码就可以了!如果我使用“ValidateCredentials”,那么2也会起作用。这是正常的吗?我怎么能阻止这个?

1 个答案:

答案 0 :(得分:0)

好的,我找到了原因。我正在回答我的问题,以帮助那些有同样问题的人。这是由于缓存域凭据。你可以禁用它。这是一个有用的链接,解释了如何做到这一点。 Disable Cached Domain Credential