作者 主題: C# 修改AD帳號密碼  (閱讀 522 次)

0 會員 與 1 訪客 正在閱讀本文。

vamdorr

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
C# 修改AD帳號密碼
« 於: 2017-06-05 17:55 »
Hi 各位前輩,
最近在做使用C#修改AD帳號的密碼的專案
然後碰到難題:

在還沒套用細緻密碼原則(fine-grained password policy)之前
以下程式碼可以完整運作並且修改目標帳號密碼:
using (DirectoryEntry de = new DirectoryEntry(LDAPstr, Account_adm, password_adm))
                        {
                            DirectorySearcher ds = new DirectorySearcher(de);
                            ds.Filter = string.Format("cn=*");
                            SearchResultCollection results = ds.FindAll();
                            foreach (SearchResult result in results)
                            {
                             
                                de.Invoke("SetPassword", new object[] { Newpw });//newpwd.ToString()
                                de.CommitChanges();
                                Msg = "帳號:" + Account + "變更密碼,在" + DateTime.Now + "時變更密碼。";
                                Session["Msg"] = Msg;
                            }
                        }
但是一套用細緻密碼原則後,即便是有Domain Administrator的權限也沒辦法修改目標帳號的密碼
程式碼的例外訊息給出的一直是: 引動過程的目標傳回例外狀況。

請問有前輩可以幫忙解答嗎??