2

我正在使用以下代码重置用户的 Active Directory 密码。

using (var context = new PrincipalContext( ContextType.Domain ))
{
  using (var user = UserPrincipal.FindByIdentity( context, IdentityType.SamAccountName, userName ))
  {
      user.SetPassword( "newpassword" );
  }
}

但是我需要能够要求用户在他们第一次登录后更改密码。但是,我找不到可以完成这项工作的方法、设置或属性。很明显这是可以做到的,我就是不知道怎么做!

4

1 回答 1

3

您需要立即使新创建的密码过期 - 试试这个:

using (var context = new PrincipalContext(ContextType.Domain))
using (var user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, userName))
{
    user.SetPassword("newpassword");
    user.ExpirePasswordNow();
}

有关更多详细信息,请参阅ExpirePasswordNow 上的 MSDN 文档

于 2012-12-21T19:41:22.920 回答