1. 为什么说创建用户账户是Windows系统里的基础必修课用了这么多年Windows我见过太多人从装机到报废始终只有一个账户而且是管理员权限的账户。这个习惯很危险——日常使用和管理操作混在一起一旦中招或者误操作整台机器直接就瘫了。我自己的习惯是一台Windows机器至少要拆成两个账户一个负责日常浏览和办公标准用户一个专门用来做系统管理和软件安装管理员。这就好比住房子正门留给客人走自己家里人走侧门必要的时候才开正门。不过实话实说创建用户账户听起来太简单了简单到很多人根本不屑于去研究。但真正做起来里面有不少门道本地账户和Microsoft在线账户到底选哪个命令行怎么建怎么建出来就能一键给管理员权限建完账户之后登录不上去是什么原因Windows Server和Windows 11的处理方式一样吗这些细节我在帮人远程处理系统故障时几乎天天遇到干脆整理成一篇完整的实操记录从图形界面到命令行全给你捋一遍。本文适合这些人参考刚接触Windows想要规范管理电脑的新手、公司IT需要批量给员工开账户的运维、以及想折腾Windows系统但又怕把主力环境搞炸的玩家。内容覆盖Windows 10和Windows 11部分命令在Windows Server上同样适用。2. 图形界面创建用户最简单的路并不一定最省心2.1 从设置里新建用户微软现在更喜欢你绑账户Windows 10和Windows 11的图形界面入口基本一致打开设置找到账户然后进入家庭和其他用户。在Win11里界面会稍微藏得深一点点开其他用户以后选择添加账户。这一步有个特别容易困惑的地方微软会默认引导你输入对方的Microsoft账号邮箱或者手机号。你输入一个不存在的邮箱它甚至会直接让你在线注册一个新账号。很多人在这儿就懵了——我只是想创建一个本地账户怎么还得先注册微软账号如果你想创建的是纯本地账户一定要点界面下方的我没有这个人的登录信息然后在下一屏再点添加一个没有Microsoft账户的用户。这两步跳转很多人没注意结果就绕到注册微软账号的死胡同里去了。纯本地账户创建成功之后系统会让你自定义用户名和密码密码也可以留空不过我强烈建议不要留空哪怕设置一个简单的PIN也好后面会解释原因。用图形界面创建账户有一个好处过程中系统会自动问你要不要给这个账户管理员权限。默认是标准用户也就是受限的普通权限账户。如果只是日常办公保持标准用户就行。但这里就引出另一个问题——标准用户碰到UAC弹窗需要输入管理员账户的密码才能继续如果这台机器上的管理员账户密码你自己都不知道那你就被锁在门外了。2.2 控制面板的旧入口反而更直接设置应用是微软主推的新入口但速度上并不快而且有时候还会因为网络问题卡在微软账号验证那一步。如果你只是想快速创建一个本地用户控制面板的老入口其实更干脆按Win R输入control打开控制面板依次进入用户账户→管理其他账户→在电脑设置中添加新用户。不过你发现没有这个入口最后还是把你踢回设置应用了。也就是说控制面板在Windows 10/11里并没有保留独立的新增用户向导它只是一个中转站。真正保留完整独立入口的是Windows Server系统——在服务器管理器的工具菜单里打开计算机管理然后到本地用户和组里操作。Windows Server的图形界面在这里极其高效右键空白处选择新用户输入用户名和密码勾选用户下次登录时须更改密码一气呵成。如果你觉得自己电脑上设置应用经常转圈加载不出来还有一个办法直接用lusrmgr.msc命令打开本地用户和组管理器。但要注意Windows 10/11的家庭版默认没有这个管理单元只有专业版、企业版、教育版和Server版才有。2.3 图形界面创建的局限图形界面能解决80%的需求但剩下20%它就没什么优势了。比如批量创建几十个账户你不可能一个一个点添加账户又比如你想创建一个带特定额外属性的用户比如永不过期的密码、不能修改密码图形界面的入口就藏得比较深每次都要右键、属性、勾选好几个复选框效率很低。再比如你想在创建账户的同时就加入某个本地组图形界面的逻辑是创建完之后再右键属性去改隶属于多了一步。这也是为什么我虽然不否认图形界面更适合新手但只要是稍微有点规模的场景我都是直接用命令行去搞。下面这部分就是命令行创建用户账户的完整方法。3. 命令行创建用户net user和PowerShell两种思路一次说清3.1 net user命令老牌工具胜在简洁net user命令从Windows XP时代传下来一直到Windows 11依然可用。它简单到什么程度呢打开CMD管理员权限一行命令就能创建一个用户net user zhangsan Pssw0rd123 /add这条命令的含义是创建一个用户名是zhangsan、密码是Pssw0rd123的本地账户。密码必须满足系统默认的密码策略如果你设了一个弱密码比如123456大概率会收到一条密码不满足密码策略的要求的报错。这个策略来源于Windows的安全设置正规的做法是设置至少8位以上、包含大小写和数字符号的密码。创建完以后这个账户默认属于Users组也就是标准用户。如果你需要让它变成管理员执行net localgroup administrators zhangsan /add注意administrators这个组名在中文版Windows里依然是英文不能输入管理员组或者Administrators中文显示为Administrators的中文名。这是个坑我见不少人在这里报找不到组名的错。删除用户就一行net user zhangsan /delete修改密码net user zhangsan NewPass123把用户锁定或解除锁定net user zhangsan /active:no net user zhangsan /active:yes/active:no这个参数非常有用。比如员工离职但暂时不能删账户或者你想保留一个管理员账户作为备用但不想让它出现在登录界面和用户列表里先禁用它即可。禁用后该用户无法登录但账户数据还在。如果你一时想不起机器上有哪些用户执行不带参数的net user就能列出所有本地账户。想查看某个用户的详细信息包括是否启用、所属组、上次登录时间执行net user zhangsan。3.2 PowerShell的New-LocalUser更现代更灵活PowerShell从5.1版本开始提供了一系列本地用户管理cmdlet在Windows 10 1809之后的系统上体验尤其好。创建用户用New-LocalUser$password Read-Host -AsSecureString -Prompt 输入密码 New-LocalUser -Name lisi -Password $password -Description 市场部临时账号 -AccountNeverExpires这里有几点值得说清楚。Read-Host -AsSecureString的作用是在你输入密码时不显示明文而是以安全字符串形式传给命令避免密码被终端日志记录下来。如果你不介意明文也可以直接写成New-LocalUser -Name lisi -Password (ConvertTo-SecureString Pssw0rd123 -AsPlainText -Force)但这种方式密码会留在终端历史和命令记录里生产环境不推荐。创建新用户之后PowerShell还内置了一个组合思路用Add-LocalGroupMember把用户加入管理员组。Add-LocalGroupMember -Group Administrators -Member lisi如果你想创建完直接赋予管理员权限还有一个极简写法New-LocalUser -Name wangwu -Password (ConvertTo-SecureString Pssw0rd123 -AsPlainText -Force) | Add-LocalGroupMember -Group AdministratorsPowerShell的优势在于它可以配合批处理和循环一次性创建一大批账户。比如批量创建user01到user10十个账户for ($i 1; $i -le 10; $i) { $username user{0:D2} -f $i $password ConvertTo-SecureString TempPass$i2024 -AsPlainText -Force New-LocalUser -Name $username -Password $password -PasswordNeverExpires }3.3 命令行方式与图形界面的底层逻辑差异图形界面最终执行的操作实际上就是调用了底层这组用户管理API只是微软没有直接暴露出来。但命令行与图形界面有一个关键差异命令行创建用户时默认策略用户在下次登录时必须修改密码是不可见的也就是说新用户第一次登录时不需要改密码。而图形界面的某些入口会默认勾选这个选项导致用户第一次登录就被要求强制改密码经常有人以为是自己输错了密码。如果你想在命令行里复刻这种首次登录必须改密码的行为可以在创建前先写入密码再开启对应属性。PowerShell里对应的参数是-ChangePasswordAtLogonNew-LocalUser -Name zhaoliu -Password $password -ChangePasswordAtLogonnet user命令本身不直接支持这个参数但你可以用两步实现先创建再执行net user zhaoliu /logonpasswordchg:yes。3.4 用批处理脚本批量创建账户运维必备如果你在公司里负责IT运维手动创建几十上百个账户肯定不现实。你可以写一个批处理脚本把用户名和初始密码都放在一个文本文件里逐行读取创建。比如创建一个users.txt每行格式是用户名 初始密码然后用下面的批处理echo off for /f tokens1,2 %%i in (users.txt) do ( net user %%i %%j /add echo 已创建用户 %%i )PowerShell还可以做得更精细比如创建完成后自动把用户信息导出到Excel或者CSV方便后续统计谁的账户没启用、谁的管理员权限被误加了。我在帮一家小公司做交接时就把这套批量脚本写成了一个工具全公司30多个人每人一个标准用户账户管理员账户只在两台专用的管理机上保留所有新入职的同事都是脚本自动创建入职当天就生效。4. 本地账户与Microsoft在线账户选错了以后很麻烦4.1 两种账户的本质区别很多人在创建用户账户时没有意识到本地账户和Microsoft账户是两条完全不同的路径。本地账户的用户信息只存在这台电脑上跟微软云服务没有任何关系用户名密码都由本机验证。Microsoft账户则是将你的账户与微软的服务器绑定登录时系统会去请求微软认证然后拉取你的云设置、OneDrive文件、产品密钥信息等。当你用Microsoft账户登录Windows时系统其实也还是会在本地创建一个对应的账户但这个本地账户的SID和你的微软账号做了绑定密码验证也是交给微软服务。如果你在公司域环境里还有第三种账户就是域账户验证交给域控制器这里不展开。4.2 什么时候选本地账户什么时候选Microsoft账户我的判断标准很简单个人主力机用Microsoft账户更好。因为你重装系统时只要登录同一个微软账号桌面壁纸、主题、WiFi密码、浏览器设置就会同步回来体验很顺。公司办公机、公用电脑、测试虚拟机一律用本地账户。避免员工误绑个人微软账号也避免因为微软服务登录慢或者网络问题卡在登录界面。Windows Server一律本地账户。Server默认安装完就要设本地管理员密码你的运维习惯应该跟域账户或者本地账户走不要让微软账号掺和进来。很多人遇到一个经典问题用本地账户登录的Windows突然某天想用Microsoft账户登录结果发现系统提示该Microsoft账户已被另一个用户使用。这是因为Windows在同一台机器上一个Microsoft账户只能绑定一个本地用户配置文件。解决办法是先把原来的用户配置文件删除或者用别的本地账户登录后切换到该微软账号再或者干脆新创建一个本地账户然后进入设置→账户→你的信息选择改用Microsoft账户登录。4.3 创建Microsoft账户登录用户的注意事项如果你确定要用Microsoft账户在创建用户时直接输入邮箱系统会走在线验证流程。这个流程里最容易遇到的坑是网络问题——企业内网、校园网的代理策略经常会拦截Windows Live的登录验证请求导致界面一直转圈。此时优先检查系统代理是否开启或者临时换一个网络环境再试。不要试图在CMD里随便改代理设置来解决很容易把整个系统的网络配置搞乱。另外Microsoft账户登录Windows之后BitLocker恢复密钥默认会自动备份到你的微软账户里这也是双刃剑——方便找回但也意味着账户一旦被恶意登录恢复密钥就可能泄露。如果你用的是本地账户BitLocker的恢复密钥只会保存在你的打印件或文件里安全性完全由你自己掌控比较适合隐私要求高的场景。5. 创建完账户后必做的三项安全配置很多教程讲到上一步就结束了但实际上创建账户只是开始后面这三件事你不做账户安全性等于零。5.1 密码策略为什么别用空密码和弱密码Windows系统默认对本地账户有一个隐藏设置如果账户密码为空该账户只能用于控制台登录不能通过网络远程访问。也就是说你给某台机子建了个空密码的账户别人在局域网里通过\\IP\C$访问这台机器的共享时这个空密码账户默认是被拒绝的。这其实是Windows的保护机制但它也常常让新手摸不着头脑——为什么我建了个账户别的电脑就是连不上如果你想允许空密码账户的远程访问需要去gpedit.msc组策略编辑器里改账户:使用空密码的本地账户只允许进行控制台登录设置为已禁用。但千万别这么干空密码等于门户大开。最低限度也要设置一个8位以上的密码还可以开启Windows的密码历史策略让系统记住最近几个密码防止用户来回用同一套弱密码。5.2 修改账户权限切忌所有账户都进Administrators组我给很多朋友的电脑做过系统整理发现一个普遍现象之前让人帮忙装系统时对方图省事直接把自己的日常账户加进了管理员组导致每次打开软件都没有任何阻碍UAC形同虚设。这带来的实际风险是浏览器中的恶意脚本、木马一旦以你的权限运行可以直接改写系统关键文件不需要二次确认。正确的做法是日常使用的标准用户账户留在Users组系统维护时再用管理员账户去执行。如果你嫌来回切换麻烦可以保留一个标准用户管理员账户的组合平常上网、办公用标准用户安装软件或改系统设置时用管理员账户确认一次UAC弹窗即可。这个习惯养成以后你会发现自己电脑中招的概率明显下降。5.3 隐藏或禁用内置Administrator账户Windows系统安装完默认有一个内置的Administrator超级管理员账户这个账户在专业版和服务器版上默认是被禁用的但在某些精简版系统或者部分组策略改动后可能会处于启用状态。内置Administrator账户的特点是它的权限级别比普通管理员更高而且在安全模式下还能登录一旦被别人利用后果不用我多说。启用或禁用它用一条命令net user administrator /active:no如果管理员账户被改名了可以用wmic useraccount get name先列出所有账户名称再操作。5.4 开启账户登录审计这是一个很多普通用户不知道、但运维一定会做的动作开启账户登录事件审计。在gpedit.msc里依次展开计算机配置→Windows设置→安全设置→本地策略→审核策略把审核登录事件设置为成功和失败。这样每次有人尝试登录这台机器都会在事件查看器的Windows日志→安全里留下记录事件ID 4624成功登录和4625失败登录就是最常看的两个。这样做的好处是当系统被暴力破解、或者有人半夜试图用你的账户登录时你能从事件日志里看到来源IP和时间判断到底是误操作还是攻击。尤其是Windows Server暴露在公网时这个审计功能是标配。6. 实操中常见的四个翻车现场和排查链路我估计只要是玩过Windows系统的人创建用户这条路上多多少少都翻过车。下面这几个场景是我遇到最多的每一个我都给出了完整的排查思路建议大家照着链路走一遍而不是只抄最后的结果。6.1 创建账户成功但无法登录提示用户名或密码错误有一种很经典的情况你明明刚用net user zhangsan Pssw0rd123 /add创建了用户回车也提示成功了但退回到登录界面输入同样的密码就是进不去。排查链路如下先确认键盘布局是不是改成了英文或别的语言。如果你设置了中文密码而登录界面默认键盘布局变成了英文输入就可能输入出另一个字符。再确认Caps Lock有没有误开这个看似低级的问题我见了不少。然后确认是否在中文输入法状态下输入了全角字符。Windows登录界面有些版本会默认开启中文输入法全角数字和半角数字的编码不一样密码自然就校验不上。解决方法是登录界面先把输入法切回英文状态。如果这些都没问题那就用管理员账户登录进去打开CMD执行net user zhangsan检查账户启用这一栏是不是Yes。如果你之前不小心在创建时或者之后执行了/active:no账户被禁用时登录界面依然会显示这个用户名但密码怎么输入都不对而且不会提示账户已被禁用这种明确信息特别有迷惑性。这时候把它重新激活即可net user zhangsan /active:yes6.2 新建的账户没有出现在登录界面不少人在图形界面创建完新账户后锁屏或者重启发现登录界面根本没有这个用户。原因有几个方向该账户被设置成了自动登录的其他账户登录界面默认只显示最后一个交互式登录的用户名其他用户需要点击界面左下角的用户图标手动切换。Win10/Win11默认会列出所有启用状态的账户但如果你设置了用户必须输入用户名和密码的经典登录模式就要手动输入用户名才能切换。账户被禁用了上面已经说过。你创建的是一个Microsoft账户而微软账户初次登录时需要联网验证如果验证服务不响应登录界面上的表现就是这个用户消失了。这时候断网或用本地账户登录再次尝试即可。还有个隐藏很深的坑如果你的系统开启了仅允许本地用户使用生物识别或PIN登录等策略且新账户还没设置PIN登录界面可能不给你显示密码输入框。这时候需要通过设置里的登录选项先给该账户配置PIN码。6.3 提示拒绝访问或无法创建用户命令行创建用户时报拒绝访问基本可以断定是你当前的CMD窗口没有以管理员身份运行。net user创建用户本质上是修改SAM数据库而SAM数据库只允许SYSTEM和Administrators组成员写操作。普通用户运行CMD权限不足自然报拒绝访问。解决办法右键CMD或PowerShell图标选择以管理员身份运行如果弹了UAC就点是。还有一种情况是当前管理员账户也被UAC降权了即管理员批准模式此时即便你以管理员身份打开CMD实际令牌也是标准用户权限需要在组策略里把用户账户控制:以管理员批准模式运行所有管理员设置为已禁用或者同时开启用户账户控制:对内置管理员账户使用管理审批模式。但后者会影响系统安全轻量操作不推荐动它直接右键管理员运行是最稳的。6.4 创建账户后共享文件夹或远程桌面连不上这个场景在企业环境里特别常见。建了一个新账户想共享某个文件夹给同事访问或者想用远程桌面连过去但对方怎么都连不上。排查链路如下远程桌面默认只允许Administrators组的成员和远程桌面用户组的成员连接。你新建的账户如果在Users组里默认没有远程桌面访问权限。需要通过net localgroup remote desktop users zhangsan /add将用户加入远程桌面用户组。共享文件夹的NTFS权限和共享权限是两层只给了共享权限但NTFS权限没给对方能看到共享名却进不去。排查时重点确认NTFS权限里是否有该用户或用户所属组的读取权限。网络发现和文件共享是否开启。Windows 11默认在公用网络下会关闭网络发现需要先在网络和共享中心里把网络配置文件改成专用网络同时在高级共享设置里开启网络发现和文件及打印机共享。防火墙是否放行了文件和打印机共享规则。如果你用第三方防火墙或杀毒软件经常有自己的过滤规则Windows自带的防火墙放行项不一定生效。7. 进阶操作用PowerShell脚本一键创建标准用户专属文件夹的组合前面讲的都是单个账户的操作这里分享一个我平时比较常用的进阶脚本。需求场景是这样的公司入职一位新员工IT需要给他建一个标准用户账户同时在他的数据盘上创建一个专属文件夹并只授予这个用户访问权限再把这个文件夹映射为他的个人盘方便存资料。PowerShell脚本如下$username newhire01 $password Read-Host -AsSecureString -Prompt 输入初始密码 $folderPath D:\UserData\$username # 步骤1创建标准用户 New-LocalUser -Name $username -Password $password -FullName 新入职员工 01 -PasswordNeverExpires # 步骤2创建专属文件夹 New-Item -Path $folderPath -ItemType Directory -Force # 步骤3设置该文件夹只允许新用户和管理员访问 $acl Get-Acl -Path $folderPath $acl.SetAccessRuleProtection($true, $true) # 继承现有权保留管理员权限 $rule New-Object System.Security.AccessControl.FileSystemAccessRule($username, Modify, ContainerInherit,ObjectInherit, None, Allow) $acl.AddAccessRule($rule) Set-Acl -Path $folderPath -AclObject $acl # 步骤4为该用户映射一个单独的盘符可选用subst命令 # subst命令无法为其他用户永久设置推荐用网络共享替代 Write-Host 用户 $username 创建完成专属文件夹位于 $folderPath这里有一个值得注意的点SetAccessRuleProtection($true, $true)的作用是先清除这个文件夹的所有继承权限再保留当前管理员权限然后添加新用户的修改权限。很多刚接触PowerShell的人会漏掉第二步导致执行完后管理员自己都打不开这个文件夹了因为继承权限被清掉没有保留管理员条目那就尴尬了。这个场景其实很多小公司都非常需要。共享文件夹权限混乱往往比账户混乱更严重——员工离职后文件夹不知道该锁谁档案外泄都不知道是谁看的。用这种脚本每个员工一个专属文件夹权限精确到人离职时一键回收账户同时改成管理员有权访问效率高很多。8. 最后的经验补充几个很多人都会忽略的小细节写到这里核心的内容已经差不多了但我在实际操作中还有几个零散的体会不单独开大章节了直接放在这里碰到的时候会省很多事第一给账户设置永不过期密码要慎重。Windows默认策略里账户密码有最长使用期限一般42天或90天。如果你用net user创建账户时不做任何设置它默认遵守本地安全策略到期后强制要求改密。如果这是一个服务账户或者测试虚拟机里的账户建议加上/expires:never参数否则你某天半夜起来发现服务悄悄停了一查原因竟然是密码过期了这台机器的登录会话全部失效。第二Windows 11的恢复和重置此电脑会保留账户列表吗答案是重装系统后会清空所有本地账户只有首次登录进系统时创建的账户会保留在系统里。如果你有重要数据在某个账户的文件夹下C:\Users\用户名\重装前一定要提前备份或者把数据复制到其他盘。很多人在重装后想到这一点已经晚了整个用户配置文件被格式化找回来非常麻烦。第三隐藏账户不等于禁用账户。如果你想在登录界面去掉某个账户但又不让它失效可以在注册表里给这个账户的ProfileList项加上AccountType值为0或者删除对应的UserList注册表项。不过这个操作有风险注册表改错容易导致该账户完全无法登录。我自己更推荐直接禁用账户功能上更简单也更安全。第四用whoami和query user检查当前环境。当你通过远程桌面或者SSH登录一台Windows服务器执行一下query user可以快速看到当前这台机器上有哪些会话别人的会话还挂着没有占用情况一目了然。清理会话用logoff sessionid。这是在排查共享冲突或者别人没退出我进不去时最高效的命令之一。第五给新用户设置桌面壁纸和锁屏壁纸的策略。在域环境里用组策略强制用户启用指定的桌面壁纸可以统一团队形象但如果你只是家庭几台电脑自用不建议动这个策略因为改回来了很麻烦。很多人在给家人创建了新账户后发现新账户的桌面风格和壁纸完全不一样以为系统出问题了其实是Windows为每个账户保存了独立的桌面配置这属于正常现象耐心等一会儿或者手动设置就行。创建用户账户这件事说难不难但细节确实不少。每一次我帮别人解决为什么登录不进去为什么权限不够这类问题追根溯源几乎都是最初创建时选错了账户类型或者漏了权限配置。把上面这些点记牢你再操作起来会顺手很多。至少我自己踩过的坑你已经提前避开了。