Logo

C#修改AD账号及密码

photo

2024年12月19日

在使用AD域环境搭建的账号系统修改密码的时候比较麻烦一般需要管理员在域环境去进行对用户的密码进行修改。

以下就是用来查询和修改AD域密码的方法。

 1         /// <summary>
 2         /// AD账户查询
 3         /// </summary>
 4         /// <param name="Domain"></param>
 5         /// <param name="UserAccount"></param>
 6         /// <param name="UserPassWord"></param>
 7         /// <returns></returns>
 8         private static string CheckAccount(string Domain, string UserAccount, string UserPassWord)
 9         {
10             string ReturnValue = string.Empty;
11             try
12             {
13                 //throw new InvalidPluginExecutionException(Domain + "|==|" + UserAccount + "|==|" + UserPassWord);
14                 DirectoryEntry entry = new DirectoryEntry("LDAP://" + Domain, UserAccount, UserPassWord, AuthenticationTypes.Secure);
15                 DirectorySearcher mySearcher = new DirectorySearcher(entry);
16                 mySearcher.Filter = ("(&(objectClass=user)(sAMAccountName=" + UserAccount + "))");
17                 SearchResult searchResult = mySearcher.FindOne();
18                 if (searchResult != null)
19                 {
20                     ReturnValue = "1";
21                 }
22             }
23             catch (Exception ex)
24             {
25                 ReturnValue = "账号有误:" + ex.Message;
26             }
27             return ReturnValue;
28         }

View Code

/// <summary>
        /// 修改AD域密码
        /// </summary>
        /// <param name="Domain"></param>
        /// <param name="AdministratorAccount">管理员账号</param>
        /// <param name="UserAccount">待修改密码账户</param>
        /// <param name="AdministratorPassWord">管理员账户密码</param>
        /// <param name="UserNewPassWord">新用户新密码</param>
        /// <param name="User_ConfirmPassword">新用户新密码确认</param>
        /// <returns></returns>
        private static string UpdateADAccount(string Domain, string AdministratorAccount, string UserAccount, string AdministratorPassWord, string UserNewPassWord, string User_ConfirmPassword)
        {
            //反馈内容、
            string ReturnString = string.Empty;
            if (UserNewPassWord == User_ConfirmPassword)
            {
                try
                {
                    DirectoryEntry entry = new DirectoryEntry("LDAP://" + Domain, AdministratorAccount, AdministratorPassWord, 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 });
                    ReturnString = "修改密码成功!!";
                }
                catch (Exception ex)
                {
                    ReturnString = "修改密码出错!!问题可能是:" + ex.Message;
                }
            }
            else
            {
                ReturnString = "两次密码输入不一致";
            }

            return ReturnString;
        }

View Code

 

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

热门文章

无法握住的故土 在我们心灵最温暖的角落,总有一寸土地是属于故乡的。虽然我们看似已远离故土,可骨子里对故乡的依恋却是从未冷却过。我们无论漂泊他乡,还是在繁华都市平步青云,可故乡的悠悠情思总会潜入梦乡与你缠绵。是儿时那一缕缕茉莉的清香萦绕在梦境,也是邻家那已锈迹斑斑的铁壶里,开出艳丽的花儿在梦的边缘摇曳。故土就这样根深蒂固地在我们的灵魂深处烙下深深的印记。 作者:Pastore Antonio
1596 浏览量
EWS(Exchange Service)基本使用(获取个人会议,会议室会议内容,会议室列表,发送会议,修改会议,删除会议) 最近公司要求和exchange服务对接,所以稍微研究了一下官方文档,做出以下总结,欢迎大家补充。先...EWS(ExchangeService)基本使用(获取个人会议,会议室会议内容,会议室列表,发送会议,修改会议,删除会议) 作者:Pastore Antonio
1585 浏览量
Sql Server 部署SSIS包完成远程数据传输 本篇介绍如何使用SSIS和作业完成自动更新目标数据任务。**温馨提示:如需转载本文,请注明...SqlServer部署SSIS包完成远程数据传输 作者:Pastore Antonio
1578 浏览量
SQL Server AG集群启动不起来的临时自救大招 背景前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群...SQLServerAG集群启动不起来的临时自救大招 作者:Pastore Antonio
1571 浏览量
windows 下安装 memcahce 官网上并未提供Memcached的Windows平台安装包,我们可以使用以下链接来下载,你需...windows下安装memcahce 作者:Pastore Antonio
1566 浏览量