我有一个需求,允许用户将密码重置为他们想要的密码。但是,当通过 PowershellSet-ADAccountPassword
函数并使用重置参数执行此操作时,它不会强制执行密码历史记录。因此,使用该函数将允许用户将其重置为以前的密码。我是否遗漏了什么,或者有没有办法在重置期间强制执行密码历史记录?
答案1
这是 -Reset 的预期行为。
首先使用参数 -NewPassword 和 -Reset 将密码重置为随机值。
然后再次运行 Set-ADAccountPassword 并指定 -OldPassword [随机密码] -NewPassword [输入的新密码],不带 -Reset 参数。这将强制执行密码使用期限、历史、复杂性和长度。
答案2
您是否想创建某种自助密码重置功能?不要。我会将其归类为不要编写自己的密码学,因为你肯定会出错。
Set-ADAccountPassword
相当于管理员通过 Active Directory 用户和计算机重置密码。
已经有很多廉价的产品可以做到这一点,它们是由比你或我更聪明的人编写的。我强烈建议你评估其中的一个,而不是在你的网络中制造潜在的安全漏洞。