我想测试密码重置产品但需要有过期的密码才能进行测试。
如何手动设置密码的到期日期,而无需单击“必须更改密码”?(因为这在技术上是不同的工作流程)
答案1
账户过期和密码过期不是一回事。
帐户到期是一个设定的时间点,在此之后帐户过期 - 与禁用帐户效果相同。即使重置密码后,身份验证仍会失败。
密码过期未在对象上明确设置,但在身份验证期间,当以下条件为真时会发生(前三个值是NT 文件时间间隔):
maxPwdAge
> 0 && (now()
-pwdLastSet
> maxPwdAge &&
!UF_DONT_EXPIRE_PASSWORD
)
pwdLastSet
帐户密码的最后更改时间是maxPwdAge
该帐户有效的最长密码使用期限。
当点击“必须更改密码”时,该pwdLastSet
属性被设置为0
,这意味着上述语句的中间部分在1603年9月27日之后的任何时间都是正确的。
所以不,确实是完全一样- 勾选“必须更改密码”并手动使密码过期
答案2
帐户到期时间存储在accountExpires
用户 LDAP 记录的属性中。
目前有一个关于如何修改此属性的 StackOverflow 主题:PowerShell 为 AD 用户的 AccountExpire 属性添加 1 天
答案3
有两种方法(我知道)可以测试密码过期。
设置默认域策略 (GPO) 的密码最大使用期限字段。如果您使用的是功能级别为 2008 或更高版本的服务器,则可能需要在相应的细粒度密码策略中设置密码最大使用期限(如果您已配置细粒度密码策略)
第二种选择不推荐,但如果您在虚拟机中测试,您可以尝试一下。该选项是将系统时间更改为未来的日期。
答案4
accountExpires 这与基于密码自然使用期限的域策略规定的密码过期日期不同。这是管理员为特定用户设置的密码手动过期日期。
因此,将其设置为“下次登录时必须更改”是我看到的唯一使密码过期的方法,无需:
1-通过域策略等待其自然过期的时间。2-更改(缩短)域策略以使其自然过期。