powershell批量创建本地用户需三步:生成合规密码(四类字符各至少1个+打乱)、new-localuser建账户(独立密码、唯一用户名)、循环执行(for/数组/csv);须管理员权限,仅限win10/11 pro或server。
windows 中用 powershell 批量创建本地用户并设密码,核心是三步:生成合规密码、调用 new-localuser 创建账户、循环执行并确保权限到位。整个过程必须以管理员身份运行,且仅适用于 windows 10/11 pro 或 server 系统。
密码要满足复杂度且避免易混淆字符
系统默认要求密码至少 8 位,含大写字母、小写字母、数字和符号。不能直接用 Get-Random 拼接,否则容易缺某类字符导致失败。
- 分别定义四组字符池:大写(A-Z 去掉 I、O)、小写(a-z 去掉 l)、数字(0-9 去掉 0、1)、符号(如 !@#$%^&* 等常用安全符号)
- 每类至少取 1 个字符,再从全部字符中随机补足到目标长度(例如 12 位)
- 最后打乱顺序组合成最终密码,转为
SecureString
用 New-LocalUser 创建账户并设置属性
每个用户需独立生成密码,不能复用;账户名需唯一,建议提前用 Get-LocalUser 校验是否存在。
- 使用
ConvertTo-SecureString -AsPlainText -Force转换密码 - 支持设置描述、全名、过期时间(
-AccountExpires)、是否永不过期(-AccountNeverExpires)等 - 若需加入管理员组,后续加一句:
Add-LocalGroupMember -Group "Administrators" -Member "用户名"
批量执行方式灵活可选
可根据实际需求选择数据来源和循环结构:
- 固定数量(如创建 user1~user10):用
for ($i=1; $i -le 10; $i++)循环生成用户名 - 自定义列表:用数组或哈希表预设用户名、密码、描述等信息,再遍历创建
- 外部导入:从 CSV 文件读取(如
Import-Csv users.csv),适合已有名单场景 - 创建后建议导出用户名与密码对应关系(加密保存),切勿明文存桌面或日志中
必须以管理员权限运行且注意系统限制
New-LocalUser 在家庭版 Windows 中不可用,仅限专业版及以上或 Server 系统。
- 右键“Windows PowerShell(管理员)”启动,或在脚本开头加权限检测代码
- 首次运行前确认本地密码策略(如最小长度、复杂度),避免因策略不符导致创建失败
- 若需统一调整策略,应通过
secedit /configure导入 .inf 模板,而非直接改注册表











