由于复杂性,用户不能更改密码

在我的一个客户的子域中,他有一些(看起来像)随机用户由于“复杂性等等”而无法更改密码的问题。 然而这不是真的,当:

a)pipe理员重置为新密码或

b)用户有标志“必须在login时重置密码”

我到目前为止所尝试的是:

  1. GPO:只有默认的域策略和密码设置。 这些设置是:

    • 10的长度
    • 复杂性启用
    • 历史设置为5,但在这种情况下不相关(尝试不同的密码)
    • 其他一切都是未定义的或0
  2. PDC上的密码提供程序:我读过,您可以通过registry使用自定义密码提供程序。 我检查了一切的一切工作的域名。 这似乎是默认的。 只有我看到的是设置EveryoneIncludesAnonymous = 0

  3. 在为他创buildPSO之后,用户仍然无法更改自己的PW,但configuration应该可以正常工作。 看起来像他们没有应用。

  4. PDC是可用的

  5. 域控制器上的Set-ADAccountPassword也不起作用。

  6. 用户帐户的安全描述符看起来相当不错。 每个人都有权更改密码。

  7. 在ADUC中,用户属性是可以的。 用户不能更改密码= $ false等

net user /domain Myuser输出

 User name cardm004 Full Name Cardman, Michael Comment Test User User's comment Country/region code 000 (System Default) Account active Yes Account expires Never Password last set 16.01.2017 13:14:58 Password expires Never Password changeable 15.02.2017 13:14:58 Password required Yes User may change password Yes Workstations allowed All Logon script login.cmd User profile Home directory Last logon 18.01.2017 08:14:01 Logon hours allowed All Local Group Memberships Global Group memberships *Domain Users The command completed successfully. 

net accounts产出

 Force user logoff how long after time expires?: Never Minimum password age (days): 0 Maximum password age (days): 37201 Minimum password length: 10 Length of password history maintained: 5 Lockout threshold: Never Lockout duration (minutes): 30 Lockout observation window (minutes): 30 Computer role: Workstation 

我现在没有想法了。 我可以尝试找出用户无法更改密码的原因是什么?

更新

我发现,组策略build模为不同的用户显示不同的configuration。 对于无法更改密码的用户,不会显示“密码设置”和“帐户locking策略”部分。 所以我认为,域控制器上可能存在复制问题。 我用repadmin /showrepl检查了replicationstatus,结果是好的。 我检查了所有3个域控制器上sysvol中的文件内容,他们在相同的地方。 所以不知何故,DC是最新的,但电脑没有得到configuration。

GPUpdate /forceGPResult /r ,或GPResult /h file.html看起来不错,不会显示任何错误。 GPUpdate /force之后重新启动没有改变错误。 GPResult /r显示正确的站点,并显示一个快速连接, Default Domain Policy (设置完成的地方)显示为已应用。

更新2我创build了一个额外的GPO来设置密码设置。 为此,我创build了一个OU,在那里将计算机和用户帐户移动到GPO,并将该GPO与enforced = $true到该OU。 GPResult /h显示正确的应用configuration, Net user /domain testuser不显示。 本地策略设置与GPO相同。

问题仍然存在。

更新3客户在微软打开了一张票。 他们还没有解决scheme,但是发现GP似乎存在一个问题:用户和他的设备被移动到一个单独的OU中进行testing,禁止inheritance。 他们应用了一个新的GPO与几个密码设置。 GPResult显示更新的设置,但用户仍然无法更改他的密码。

然后,他们删除GP链接并重新启用inheritance,testingGPO的设置停留在系统上。 默认域策略的设置没有应用(它们低于testingGPO),用户仍然不能更改密码。

我会保持更新,也许你有一天遇到这个问题,或者在微软之前find一个解决scheme。

IIRC错误是任何密码更改问题的一般错误。

根据你的评论:

然而这不是真的,当:

a)pipe理员重置为新密码或

b)用户有标志“必须在login时重置密码”

我要说的问题是,您的密码策略的Minimum Password AgeEnforce Password History或两者都设置。 第一个可能是这里的罪魁祸首。

编辑:

根据您的最新更新,您可以看到:

Password changeable 15.02.2017 13:14:58

它显示密码不可更改30天。

现在,您声明您的最小密码年龄设置为0。

这导致了两个可能的结论:

  1. 帐户或OU阻止inheritance政策…尽pipe它显示了适当的政策与“净帐户”特定用户似乎并没有得到它的应用。

  2. 有一些DC阻塞inheritance,并没有得到适当的设置。 看到这里: https : //community.spiceworks.com/topic/1838052-minimum-password-age-password-changeable

检查并确认在GPMC中没有任何GPO阻塞。 然后检查并确保用户进行身份validation的DC,以及他们的计算机和他们的用户帐户…所有3个“包含来自此对象的父项的可inheritance权限”。

您的net user /domain Myuser命令的输出当前反映的最短密码年龄为31天。 看起来您需要修改此用户的PSO,并将该对象的最小密码年龄设置为0

另外,您是否确认PSO已成功应用于用户或组? 如果是这样,您应该看到在用户的AD帐户上填充了msDS-ResultantPSO属性。 您可以使用ADUC在属性选项卡上或通过运行以下PowerShell命令轻松检查:

 Import-Module ActiveDirectory Get-ADUser cardm004 -Properties msDS-ResultantPSO | FL 

在附注中,运行net accounts将返回本地计算机帐户的设置。 本地帐户设置与域帐户设置分开configuration。

愚蠢的build议,但你是否已经validation了用户的密码符合要求:

  1. 密码不得包含用户的全部samAccountName (帐户名称)值或整个displayName (全名)值。 这两项检查都不区分大小写:
    • samAccountName将被全部检查以确定它是否是密码的一部分。 如果samAccountName长度小于三个字符,则跳过该检查。
    • displayName被分析为分隔符:逗号,句点,破折号或连字符,下划线,空格,井号和制表符。 如果find这些分隔符中的任何一个,则分隔displayName ,并且确认所有parsing的分段(令牌)不包括在密码中。 长度小于三个字符的标记被忽略,标记的子串不被检查。 例如,“Erin M. Hagens”这个名字被分成三个单词:“Erin”,“M”和“Hagens”。 由于第二个标记只有一个字符长,因此将被忽略。 因此,该用户不能在口令的任何地方包含“erin”或“hagens”作为子string的密码。
  2. 密码必须包含以下五个类别中的三个字符:
    • 欧洲语言的大写字母( AZ ,带有变音符号,希腊字母和西里尔字母)
    • 欧洲语言的小写字母( az ,sharp-s,带有变音符号,希腊和西里尔字符)
    • 基地10位数字( 09
    • 非数字字符: @ $ ^ * _ - + = ` | \ { } [ ] :; ' /
    • 任何被分类为字母字符但不是大写或小写的Unicode字符。 这包括来自亚洲语言的Unicode字符

根据: https : //technet.microsoft.com/en-us/library/cc786468%28v=ws.10%29.aspx