C#修改AD使用者的密碼

/// <summary>
        /// 修改AD 密碼
        /// </summary>
        /// <param name="Domain">網域</param>
        /// <param name="adminName">最高權限</param>
        /// <param name="UserAccount">要修改的帳號</param>
        /// <param name="adminPass">最高權限密碼</param>
        /// <param name="UserNewPassWord">欲修改的帳號新的密碼</param>
        /// <param name="secondConfirem">欲修改的帳號新的密碼 第二次確認</param>
        /// <returns></returns>
        private static string UpdateADAccount(string Domain, string adminName, string UserAccount, string adminPass, string UserNewPassWord, string secondConfirem)
        {
            string answer = string.Empty;
            if (UserNewPassWord == secondConfirem)
            {
                try
                {
                    DirectoryEntry entry = new DirectoryEntry("LDAP://" + Domain, adminName, adminPass, AuthenticationTypes.Secure);
                    DirectorySearcher mySearcher = new DirectorySearcher(entry);
                    mySearcher.Filter = ("(&(objectClass=user)(sAMAccountName=" + UserAccount + "))");
                    SearchResult searchResult = mySearcher.FindOne();
                    DirectoryEntry userEntry = searchResult.GetDirectoryEntry();
                    userEntry.Invoke("SetPassword", new object[] { UserNewPassWord });
                    answer = "完成!";
                }
                catch (Exception ex)
                {
                    answer = "錯誤!!:" + ex.Message;
                }
            }
            else
            {
                answer = "兩次輸入不一樣!!";
            }
            return answer;
        }

← 回列表