DirectoryEntry ChangePassword抛出复杂性异常

时间:2016-10-31 15:38:43

标签: c# directoryservices

我有一个本地用户帐户。我想更改密码。为此,我有以下代码:

using (DirectoryEntry machineEntries = new DirectoryEntry("WinNT://" + AuthContextName + ", computer"))
{
    DirectoryEntry de = machineEntries.Children.Find(userid, "user"); 
    try
    {
        de.Invoke("ChangePassword", new object[] {oldpassword, newpassword });
        de.CommitChanges();
        return true;
    }
    catch (Exception ex)
    {
        errorMessage = ex.InnerException.Message;
        return false;
    }                                
}

我在de.Invoke行得到一个例外:

  

密码不符合密码策略要求。检查最小密码长度,密码复杂性和密码历史记录要求。

所以我检查了我的策略要求(使用本地组策略编辑器):

  • 记住了24个密码
  • 最大年龄42天
  • 最低年龄1天
  • 最小长度为7个字符
  • 密码必须符合复杂性要求已禁用
  • 使用....禁用
  • 存储密码

旧密码是> 1天大。新的超过7个字符,以前从未使用过。

我的计算机位于域中,但我尝试更新的用户是本地用户。

更新失败的原因是什么?

0 个答案:

没有答案