windows 10密码策略可通过gpedit.msc(专业版及以上)、secpol.msc或net accounts命令配置,核心项包括启用复杂性要求、设置最小长度(建议≥8)、最长使用期限(如90天)和强制密码历史(如5次)。
命令行管理 windows 账户安全属性,核心在于控制账户状态、密码策略、组归属和隐藏行为。图形界面操作虽直观,但命令行更可控、可脚本化,也更适合加固场景。
启用/禁用账户与密码策略
账户是否活跃、密码是否强制更换、能否永不过期,直接影响攻击面大小。
-
禁用闲置账户:比如禁用默认 Guest 或测试账户:
net user Guest /active:no -
强制密码过期:避免长期使用同一密码,
net user John /expires:14表示14天后过期 -
设置密码永不过期(仅限必要服务账户):
net user John /passwordchg:no,配合/passwordreq:yes确保必须设密 -
锁定阈值与重置:需通过组策略(
gpedit.msc)或secedit配置,命令行本身不直接支持,但可导出/导入安全模板
精准控制管理员权限
避免“全给管理员”式粗放授权,应按需加入特定组,而非直接赋予 Administrators 全权。
-
仅授予部分系统管理能力:例如将用户加入
Backup Operators组以允许备份,而不开放注册表或软件安装权限:net localgroup "Backup Operators" Jane /add -
移除高危组成员身份:检查并清理非必要用户在
Administrators、Remote Desktop Users中的残留:net localgroup administrators | findstr /i "testuser"查找,再用/delete移除 -
禁止远程桌面登录:即使账户存在,也可从
Remote Desktop Users组中移除,或通过reg add禁用 RDP 服务端口绑定(需配合防火墙规则)
账户可见性与隐蔽性管理
隐藏非交互账户可降低被枚举风险,但需注意合规与可维护性平衡。
-
基础隐藏(命令行不可见):用户名末尾加
$,如net user svcapp$ P@ss2026! /add,该账户在net user列表中不显示,但在lusrmgr.msc或 PowerShell 中仍可见 -
禁用交互式登录能力:添加
/logonpasswordchg:no并配合组策略“拒绝本地登录”或“拒绝通过远程桌面服务登录”,使账户仅用于服务调用 - 慎用注册表级隐藏:修改 SAM 注册表项虽能彻底隐藏,但极易引发系统不稳定,且违反多数安全审计基线,不建议生产环境使用
验证与审计常用命令
安全配置后必须验证效果,不能只依赖“执行成功”提示。
-
确认账户状态:
net user John查看“帐户启用”、“密码最后设置时间”、“密码过期”等字段 -
检查组归属:
net user John | findstr "隶属于"快速定位所属组;或用 PowerShell:Get-LocalUser John | Get-LocalGroupMember -
识别高权限账户:
net localgroup administrators列出所有管理员,逐个核对必要性;配合whoami /groups查看当前会话实际拥有的组权限 -
导出账户清单用于比对:
net user > users_report.txt,定期存档,便于发现异常新增











