我想testing密码重置产品,但需要过期的密码才能这样做。
如何手动设置密码的到期date,而不点击“必须更改密码”? (因为这在技术上是不同的工作stream程)
帐户到期和密码到期不是一回事。
账户到期是一个设定的时间点,在此之后, 账户到期 – 与禁用账户相同的效果。 即使在密码重置后,身份validation也会失败。
密码过期没有明确地设置在对象上,但在以下条件为真(前三个值是NT FileTime间隔)时发生在身份validation过程中:
maxPwdAge> 0 && (now()–pwdLastSet> maxPwdAge &&!UF_DONT_EXPIRE_PASSWORD)
pwdLastSet是上次更改帐户密码的时间, maxPwdAge是帐户有效的最大密码maxPwdAge 。
当您点击“必须更改密码”时, pwdLastSet属性设置为0 ,这意味着上述语句的中间部分在1603年9月27日之后的任何时候都是真实的。
所以不,它确实是一样的 – 检查“必须更改密码”并手动过期密码
帐户到期存储在用户的LDAPlogging的accountExpires属性中。
有关如何修改此属性的现有StackOverflow主题: PowerShell将1天添加到AD用户的AccountExpire属性
有两种方法(我知道)来testing密码过期。
设置默认域策略(GPO)的最大密码年限字段。 如果您使用的是function级别为2008或更高的服务器,则可能需要在相应的细密密码策略中设置密码最长使用期限(如果已经configuration了细粒度密码策略)
不build议使用第二个选项,但是如果您正在虚拟机中testing,则可以尝试使用该选项。 选项是将系统时间更改为将来的date。
accountExpires由于域名政策基于密码的自然年龄,这与密码过期的date不同。 这是pipe理员设置的特定用户密码的手动过期date。
因此,将其设置为“必须在下次login时更改”是我看到过的密码的唯一途径,而不是:
1 – 通过域策略等待自然到期之前的时间。 2-更改(缩短)域策略使其自然过期。