如何通过Active Directory随机化或交错密码过期?

我们即将实施一项新的密码政策,要求用户每六个月更换一次密码。 我们还需要每个用户在本周更改密码。 我宁愿不创build一年两次的密码更改狂热,并宁愿随机或错开密码到期date。

尝试修改ADSI编辑中的pwdLastSet属性时收到错误。 看来该属性可能是只读的。 如果我可以写信给它,我不确定是否直接修改pwdLastSet属性将有任何不良影响。

我考虑实施多个密码策略,但是从我读到的内容来看,DFL 2003不支持多个密码策略,这需要升级(尽pipe它可能会导致最终升级的一半体面的借口)。

当所有用户立即需要密码更改时,如何避免每半年发生一周的公司范围密码更改?

有几个方法可以做到这一点。 我没有很好的经验试图随机化这个编程 – 试图写任何东西,但0或-1的pwdLastSet属性没有为我工作。

我倾向于应用新的密码策略,然后每周向一组用户提供密码以分散负载。

您可以使用admodify重置上次修改date。 我会抓住一个组(我实际上是从一个TXT文件中导入了一个用户名列表),并要求他们在下次login时更改密码。

我保留一个电子表格,以了解哪些用户仍然需要过期。

这种方法有两个缺点 – 你需要多次运行这个脚本,用户将不会得到完整的六个月的第一个复杂的密码。

closures我的头顶上挑一个随机的用户后,你希望他们现有的密码过期,然后再次过期他们的密码:

$users = get-aduser -filter * | get-random -count <my number of users> foreach ($user in $users) {Set-ADUser $user -ChangePasswordAtLogon $true} 

显然你需要PowerShell这个例子,但同样的可以在任何脚本语言