我正在为测试域中的用户编写一个自助服务密码重置工具。我希望他们能够更改密码,而不是随机生成密码。
我正在使用带有服务帐户的dsmod来更改用户密码,它运行良好(即在将用户密码设置为前一个密码时抛出一个错误,或者密码不够复杂)。
dsquery user -samid someuser | dsmod user -pwd somepassword -mustchpwd no
由于某种原因,今天它将接受任何密码并更改它。通过GUI进行更改是在执行策略。
有人知道发生了什么或者如何用另一个工具来执行吗?
这是一个关于为用户生成一个令牌以重置他/她的密码,而不将所述令牌存储在数据库中的问题。此令牌将是由电子邮件发送的“重置密码”URL的一部分。
解释说,您可以向用户发送一个包含以下信息的令牌
name
expiration date
hash(secret + user name + expiration date)
此方法的问题是,用户可以在令牌过期之前多次更改密码。我认为这是非常糟糕的,因为这意味着如果用户从保留历史的共享计算机访问URL,任何人都可以重置我们用户的密码(即使只是有限的时间)。
因此,我的问题是:是否可能有一个令牌只能使用一次,而不是存储在数据库中?
我们正在使用Azure AD Connect在本地Active Directory和Office 365的Azure AD租户之间同步用户和密码。这似乎运行良好,除非管理员在Office 365或AD中重置密码。发生这种情况时,密码重置永远不会同步。这会导致以下问题:如果和office 365管理员重置密码并要求用户在下次登录时更改密码,则用户永远无法更改其密码,因为他们的azure广告密码和本地广告密码现在不同步,并且ad连接将失败。管理员在active directory中重置密码时也会发生同样的情况。密码重置永远不会到达Azure。这是应该工作的东西,但我们配置错误了吗?或者AD Con