在 Active Directory 中延长过期用户密码
Active Directory 中默认启用的密码策略设置用户密码的最长期限。如果密码期限超过此值,则视为已过期,用户下次登录时必须更改密码。
当域用户无法更改其过期密码时(例如,当用户通过 VPN 或 RDS 连接到公司网络时),且无需为帐户启用“密码永不过期”选项,管理员可以延长密码过期日期。
使用PowerShell检查AD中用户密码的过期日期:
Get-ADUser -Identity e.herrmann -Properties msDS-UserPasswordExpiryTimeComputed, PasswordLastSet, PasswordNeverExpires, PasswordExpired |Select-Object -Property Name,PasswordLastSet, PasswordNeverExpires, PasswordExpired,@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}

在这种情况下,用户的密码已过期(PasswordExpired=True)。密码到期日期存储在名为的计算属性中msDS-用户密码过期时间计算。该属性的值是根据密码最后设置参数以及生成的适用于用户的密码策略。
Get-ADUser e.herrmann -Properties pwdLastSet | select SamAccountName,@{Name="pwdLastSet";Expression={[datetime]::FromFileTime($_.pwdLastSet)}}


pwdLastSet 属性包含毫秒格式的日期(Windows NT 时间)。但是,它可以采用以下特殊值之一:
- 0– 重置
pwdlastset值(表示从未设置过密码) - -1– 将用户密码更改日期重置为当前时间
要更改用户属性的值,请使用 Set-ADUser PowerShell cmdlet。首先,您必须设置 0,然后设置 -1。
Set-ADUser e.herrmann -Replace @{pwdLastSet="0"}
Set-ADUser e.herrmann -Replace @{pwdLastSet="-1"}
现在让我们检查用户的密码更改和过期日期。密码更改日期已更改为当前日期,并且用户的密码到期日期已延长。
有关的:如何在 Active Directory 中重置用户密码


无法在 AD 中设置特定的密码更改日期。
如果您计划在用户密码设置为永不过期后启用域密码过期策略,也可以使用这种扩展用户密码的方法。PasswordNeverExpires选项已启用。启用此策略将强制所有用户同时更改密码,这可能会扰乱工作流程。在应用此策略之前,请按照指示延长所有用户的密码到期日期。
