2015-03-02 70 views
1

我使用System.DirectoryServices.AccountManagement中的SetPassword方法更改用戶密碼而不知道其舊密碼。 在我的域中,它有一個歷史記錄策略,所以我不能使用以前的密碼,因爲這個歷史限制。但是,當我使用SetPassword方法時,它允許我使用先前的密碼,並掃描策略限制。 如何使用託管代碼或通信來檢查密碼是否符合此政策? 我有一段時間的研究,但任何職位並沒有幫助我。ActiveDirectory System.DirectoryServices。 SetPassword不記住歷史密碼策略

在此先感謝和抱歉我的英語不好。

最好的問候,

Juanjo。

回答

0

這是一個老問題,但我找到了答案,所以我想我會分享: https://stackoverflow.com/a/17495340/4831941

總之,SetPassword旨在由管理員來重置用戶密碼;它並沒有強加所有的正常限制,因爲它很快就會被覆蓋。

建議的工作流程是讓管理員使用SetPassword創建一個臨時密碼,然後在用戶使用臨時密碼登錄後,強制他們立即使用ChangePassword進行更改,以便應用完整限制並它將在AD的密碼歷史中被記住。

從該答案的評論中抽取的進一步閱讀:https://blogs.technet.microsoft.com/fieldcoding/2013/01/09/resetting-passwords-honoring-password-history-or-whats-happening-under-the-hood-when-changing-resetting-passwords/