组策略更改后帐户密码仍然过期

组策略更改后帐户密码仍然过期

假设我有一个组策略,将密码的最大使用期限设置为 90 天。有些用户 91 天内没有更改密码,所以他们的密码应该过期了。

如果我随后删除该组策略以使最大密码使用期限未定义,该帐户是否仍会过期?换句话说,当该用户再次登录时,是否仍应要求他们更改密码?

我认为不是,但我似乎在我们的域控制器上观察到了完全相反的行为;也就是说,在我更改组策略设置并使用密码已过期的帐户登录后,我仍然收到有关它的提示。

是否有人确切知道这一点,或者我还遗漏了什么?

答案1

一旦密码过期,就完蛋了。他们会被提示更改密码。即使你更改了组策略。原因是该帐户有一个标志设置,上面写着“下次登录时更改密码”

您可以进入用户和组管理器并将用户密码设置回未过期。

答案2

这让我很困惑,而且很难用谷歌搜索,所以我发布了我在这个问题上找到的答案,因为这是唯一的结果之一。

我的问题与 OP 非常相似,我试图完全禁用密码过期功能,并尝试通过在默认域策略中设置为来实现Default Domain Policy > Computer Configuration > Policies > Windows Settings > Security Settings > Account Policy > Password Policy > Max Password AgeUndefined在接下来的几个月里,用户密码仍然过期,我反复检查组策略结果并rsop.msc多次尝试追踪它。

最后我发现,要禁用密码过期,您需要将值设置为Max Password Policy(而不是)(根据“解释”选项卡上的文档-derp)。Enabled0 daysUndefined

帮助我得出这个结论的是使用以下查询检查所有帐户密码是否过期:

Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} `
–Properties "SamAccountName","msDS-UserPasswordExpiryTimeComputed" | Select-Object -Property "SamAccountName", @{Name="Password Expiry Date"; `
Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}} | FT

结果如下

PS C:\Windows\system32> Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} `
>>  –Properties "SamAccountName","msDS-UserPasswordExpiryTimeComputed" |
>> Select-Object -Property "SamAccountName", @{Name="Password Expiry Date"; `
>> Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}} | FT

SamAccountName       Password Expiry Date
--------------       --------------------
Administrator        2021-08-03 2:19:56 PM
User1.Surname1       2021-08-14 9:19:46 AM
User2.Surname2       2021-08-07 8:22:44 AM
User3.Surname3       2021-08-01 9:49:09 AM
User4.Surname4       2021-08-14 9:30:55 AM
etc.

将策略更新为后Enabled - 0 days,我再次运行查询,这次结果显示任何帐户均未到期。

SamAccountName       Password Expiry Date
--------------       --------------------
Administrator        
User1.Surname1       
User2.Surname2       
User3.Surname3       
User4.Surname4        
etc.

相关内容