![用户无法更改密码 - Active Directory 组策略](https://linux22.com/image/803664/%E7%94%A8%E6%88%B7%E6%97%A0%E6%B3%95%E6%9B%B4%E6%94%B9%E5%AF%86%E7%A0%81%20-%20Active%20Directory%20%E7%BB%84%E7%AD%96%E7%95%A5.png)
我见过这个问题,但似乎没有合适的答案。当用户尝试使用 control-alt-delete -> 更改密码来更改密码时,他们会收到“无法更新密码。提供的新密码值不符合域的长度、复杂性或历史要求。”我们甚至尝试过非常长的复杂字符串作为测试,这也会生成错误消息。
在 AD U&C 中,我可以强制在下次登录时更改帐户密码,这可以成功完成。
适用的安全设置在默认域策略 GPO 中应用于域级别。当我运行gpupdate /force
然后在其中一个工作站上查看 RSOP 时,我可以看到以下设置(与 GPO 一致):
- 强制密码历史记录:记住 2 个密码
- 最大年龄:120天
- 最短密码使用期限:0 天(在 GPO 中启用并设置为 0 天)
- 最小长度:6 个字符
- 密码必须符合复杂性要求:已禁用
- 使用可逆加密存储密码:已禁用
我对我们的 DC 进行了测试dcdiag
。它们通过了所有测试。对于为什么会出现此问题或如何解决此问题,您有什么建议吗?
答案1
看来您的默认域策略正在强制执行最低密码复杂性 - 如果您想更改此行为,您可能需要编辑组策略。
来自微软:
“密码必须满足复杂性要求
此策略设置检查所有新密码,以确保它们满足强密码的基本要求。默认情况下,Windows Server 2008 中此策略设置的值配置为“已禁用”,但在本指南中描述的两种环境中,Windows Server 2008 域中此策略设置的值均设置为“已启用”。
启用此策略设置后,用户必须创建强密码以满足以下最低要求:
密码不能包含用户的帐户名或用户全名中超过两个连续字符的部分。
密码长度必须至少为六个字符。
密码必须包含以下四类字符中的三类字符:
英文大写字符(A 至 Z)。
英文小写字符(a 到 z)。
非字母字符(例如,!、$、#、%)。
密码中的每个附加字符都会成倍增加其复杂性。
例如,一个由七个字符、全部小写字母组成的密码将有 267(约 8 x 109 或 80 亿)种可能的组合。
以每秒 1,000,000 次尝试的速度(许多密码破解实用程序的功能)计算,破解此类密码仅需 133 分钟。
区分大小写的七个字符的字母密码有 527 种组合。
一个由七个字符组成、区分大小写的字母数字密码(没有标点符号)有 627 种组合。
八个字符的密码有 268(或 2 x 1,011)种可能的组合。虽然这个数字似乎很大,但以每秒 1,000,000 次尝试的速度,尝试所有可能的密码仅需 59 小时。
请记住,对于使用 ALT 字符和其他特殊键盘字符(例如“!”或“@”)的密码,这些时间将显著增加。
正确使用密码设置有助于防止暴力攻击的成功。”
答案2
我看到您在工作站上运行了 RSOP。这将影响本地帐户,但如果要更改的密码是域帐户,则它将根据处理密码更改的域控制器上的 RSOP 进行验证(如果我没记错的话)。
此外,还可以编写第三方插件,使用 Windows API 验证密码复杂度。Hitachi ID Systems 发布了这样一个组件(它查询远程服务器以检查密码是否符合那里规定的规则);当这样的插件拒绝密码时,它看起来与 Windows 内置的 3-of-4 复杂度规则拒绝密码时发生的情况相同。您应该调查您的环境中是否有这样的东西(它们将安装在 DC 上),如果有,请确定它们出了什么问题,或者摆脱它们。
话虽如此,由于强制更改密码可以解决问题,因此问题很可能在于正在应用最低年龄规则。请检查 DC 上的 RSOP 以了解这一点。
答案3
确认没有为该特定用户帐户创建或应用细粒度密码策略(如果功能级别为 2008 或更高版本)。检查用户的 msDS-resultantPSO 属性,它包含为相应用户应用的细粒度密码策略。msDS-resultantPSO 是一个构造属性。如果该属性不可用,则应用默认域策略。