net user 是 Windows 本地用户管理命令,支持批量创建、禁用、删改等操作,需管理员权限,适用于服务器及离线维护,但密码明文存在安全风险。
windows 系统中,net user 命令是本地用户账户管理的轻量级利器,无需图形界面、不依赖第三方工具,适合批量创建、修改、禁用或删除用户,尤其适用于服务器环境、域控制器(配合 net dom)或离线维护场景。关键在于掌握语法结构、参数组合与常见陷阱。
批量创建用户:用 for /f 配合文本列表
单独执行 net user 一次只能操作一个用户,但结合批处理循环可实现批量创建。准备一个纯文本文件(如 users.txt),每行格式为:用户名 密码(中间用空格或制表符分隔):
alice P@ssw0rd123 bob Secur3Pwd! charlie 2024WinUser
然后运行以下命令(管理员权限运行 CMD 或 PowerShell 的 CMD 模式):
for /f "tokens=1,2 delims= " %i in (users.txt) do net user "%i" "%j" /add /fullname:"%i Account" /comment:"Created via batch"
说明:
-
tokens=1,2 delims=表示按空格切分,取第1、2字段;若用制表符分隔,改写为delims=(实际输入需按 Tab 键) -
/add是必需参数,否则视为查询操作 -
/expires:never可防止账户过期;/passwordchg:no禁止用户自行改密(适合服务账户) - 用户名含空格时,必须用英文双引号包裹
"%i"
统一配置用户属性:禁用、设组、改密码策略
创建后常需批量调整。例如,将一批用户加入 Remote Desktop Users 组并禁用密码过期:
for %i in (alice bob charlie) do ( net localgroup "Remote Desktop Users" "%i" /add net user "%i" /expires:never /passwordchg:no )
其他常用维护操作:
-
net user username /active:no—— 禁用账户(比删除更安全,保留配置) -
net user username newpass—— 直接重置密码(明文传输,慎用于生产环境) -
net user username /logonpasswordchg:yes—— 允许下次登录时强制改密 -
net user username /times:M-F,08:00-17:00—— 限制登录时段(格式严格,错误会报错)
导出与清理:快速审计与批量删除
用 net user 查看所有本地用户,并重定向保存供审计:
net user > users_list.txt
若需导出用户名列表(不含描述信息),可用 findstr 提取:
net user | findstr /r "^[a-zA-Z0-9]" | findstr /v /c:"The command completed successfully." > usernames_only.txt
批量删除多个用户(谨慎!建议先备份或禁用):
for %i in (testuser1 testuser2 temp_dev) do net user "%i" /delete
注意:
-
/delete不可逆,不会提示确认 - 无法删除系统内置账户(如 Administrator、Guest),除非显式启用并满足条件
- 正在登录的用户不能被删除,但可被禁用
权限与安全提醒
net user 所有操作均需本地管理员权限(非普通用户或标准账户)。在域环境中:
- 对本机有效的是
net user(管理本地 SAM 数据库) - 管理域用户需用
net user username /domain,且当前用户必须有域管理员权限 - 密码明文出现在命令行或脚本中存在泄露风险,生产环境建议结合组策略密码策略,或使用
dsmod+ LDIF/PowerShell 替代 - Windows 10/11 家庭版默认禁用
net user的部分功能(如 /expires),建议升级至专业版或使用 PowerShell 的New-LocalUser等替代方案










