如何创建没有密码的新用户帐户

时间:2018-05-30 10:00:20

标签: c# .net windows userprincipal

我想以编程方式将新的本地用户添加到计算机中。我找到了代码here。 但我希望用户无需密码即可登录。我看到有一个选项MyClass,但如果我不使用ConsoleHandler,它会抛出异常:

  

密码不符合密码政策要求......

是否可以创建没有密码的新用户?

编辑:当前代码,它成功添加了新用户,但我必须提供一些密码。它是提供的链接的完整副本:

UserPrincipal.PasswordNotRequired=true

1 个答案:

答案 0 :(得分:0)

您的代码无法正常工作的原因有两个。

  1. 你没有以管理员身份运行
  2. 您的计算机位于具有组策略的域中,阻止您要执行的操作。
  3. 以下代码已在我的机器上测试过并且正在运行。

    void Main()
    {
        PrincipalContext oPrincipalContext = GetPrincipalContext();
    
        UserPrincipal oUserPrincipal = new UserPrincipal(oPrincipalContext);
        oUserPrincipal.Name = "TestUser";
        oUserPrincipal.SetPassword("");
        oUserPrincipal.DisplayName = "TestUser";
        oUserPrincipal.PasswordNeverExpires = true;
        oUserPrincipal.PasswordNotRequired = true;
        oUserPrincipal.Save();
    
        GroupPrincipal usersGroup = GroupPrincipal.FindByIdentity(oPrincipalContext, "Users");
        usersGroup.Members.Add(oUserPrincipal);
        usersGroup.Save();
    }
    
    PrincipalContext GetPrincipalContext()
    {
        var dc = new PrincipalContext(ContextType.Machine);
        return dc;
    }
    

    你要尝试的东西, 1.在不在您域上的计算机上试用它。 2.在未应用任何组策略的计算机上尝试。 3.在您遇到

    问题的计算机上以管理员身份运行您的应用