必须通过域控制器上链接至域名根节点的gpo(如“默认域策略”)在“计算机配置→策略→windows设置→安全设置→账户策略→密码策略”中配置,其他位置无效;需禁用用户“密码永不过期”,执行gpupdate /force并验证事件日志id 4723/4724。

要在 Windows 域环境中统一强制用户定期更换密码并满足安全强度要求,必须通过域控制器上的组策略对象(GPO)配置,且仅在链接到域名根节点的 GPO 中生效(例如“默认域策略”),其他层级或位置的设置无效。
密码策略必须在“计算机配置”分支下设置
该策略属于账户策略,本质由系统底层密码筛选器驱动,只响应“计算机配置 → 策略 → Windows 设置 → 安全设置 → 账户策略 → 密码策略”路径下的配置。常见误区包括:
- 在“用户配置”分支下修改——无效
- 在某个 OU 下新建 GPO 并链接——即使启用也不会应用到用户密码生命周期
- 在本地组策略(gpedit.msc)中设置——仅影响本机,对域用户无作用
关键参数推荐值与作用说明
双击右侧对应策略项进行配置,建议采用以下值以平衡安全性与可用性:
- 密码最长使用期限:设为 60 或 90 天——到期后用户首次登录时会弹出强制修改提示
- 密码最短使用期限:设为 1 天——防止用户改完立刻切回旧密码,绕过历史记录限制
- 强制密码历史:设为 24 次——系统记住最近 24 个密码,重复即被拒绝
- 密码必须符合复杂性要求:启用——新密码需含大写字母、小写字母、数字、符号中至少三类,且不能包含用户名或姓名连续字符
- 最小密码长度:设为 12 位——配合复杂度要求,显著提升暴力破解成本
策略生效前必须完成的检查项
配置完成后,仅刷新策略还不够,还需确认基础条件已清理:
- 逐个检查 AD 用户属性,取消勾选“密码永不过期”——这是最常见的失效原因
- 避免使用 PowerShell 的 Set-ADAccountPassword 或 ldp.exe 直接写 unicodePwd——这类操作跳过密码筛选器,不触发复杂度和历史校验
- 在域控和客户端分别执行
gpupdate /force,再用gpresult /h report.html查看报告中“密码策略”是否显示目标 GPO 已应用
验证是否真正起效的方法
不要依赖界面显示,要实测行为:
- 新建测试用户,登录后尝试设置 7 位纯字母密码——应被立即拒绝
- 手动将该用户密码设为 12 位含大小写+数字+符号的强密码,再等待超期(如设 1 天后重登)——应强制进入改密流程
- 查看事件查看器「安全」日志,ID 4723(改密尝试)和 4724(成功重置)的调用来源是否为标准系统接口(而非脚本或工具)











