You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码创建无需密码的本地用户账户?

创建无密码本地用户的解决方案

嘿,我刚好碰到过类似的问题!你遇到的异常是因为即便设置了PasswordNotRequired=true,Windows的账户管理系统还是要求你显式初始化密码字段——哪怕是设置一个空密码。直接跳过SetPassword()的话,系统会默认去检查密码策略,自然就报错了。

下面是修改后的可运行代码,能创建无需密码登录的本地用户:

PrincipalContext oPrincipalContext = GetPrincipalContext();
UserPrincipal oUserPrincipal = new UserPrincipal(oPrincipalContext);

oUserPrincipal.Name = sUserName;
// 关键:设置空密码,配合PasswordNotRequired=true
oUserPrincipal.SetPassword(string.Empty); 
oUserPrincipal.DisplayName = windowsUsername.Text;
oUserPrincipal.PasswordNeverExpires = true;
oUserPrincipal.PasswordNotRequired = true;
oUserPrincipal.Save();

GroupPrincipal usersGroup = GroupPrincipal.FindByIdentity(oPrincipalContext, "Users");
usersGroup.Members.Add(oUserPrincipal);
usersGroup.Save();

额外注意事项

  • 如果还是抛出密码策略相关异常,你需要调整本地安全策略:
    1. 按下Win+R,输入secpol.msc打开本地安全策略
    2. 依次展开账户策略 > 密码策略
    3. 将「密码必须符合复杂性要求」设置为已禁用
    4. 将「密码长度最小值」设置为0
  • 默认情况下Windows会限制空密码账户只能通过控制台登录(无法远程登录),如果需要远程登录权限,还要在本地安全策略的本地策略 > 安全选项里,把「账户:空密码的本地账户只允许控制台登录」设置为已禁用。

内容的提问来源于stack exchange,提问作者gtu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:10:23