在使用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 }

/// <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;
}

C#修改AD账号及密码的更多相关文章

  1. java修改AD域用户密码使用SSL连接方式

    正常情况下,JAVA修改AD域用户属性,只能修改一些普通属性, 如果要修改AD域用户密码和userAccountControl属性就得使用SSL连接的方式修改, SSL连接的方式需要操作以下步骤: 1 ...

  2. IDEA修改git账号及密码的方法

    IDEA修改git账号及密码的方法: 1.file->settings->passwords 2.重启IDEA 3.执行一次提交或更新 当执行提交或更新之后,idea会自动提示输入账号.密 ...

  3. 烦烦烦SharePoint2013 以其他用户登录和修改AD域用户密码

    sharepoint默认是没有修改AD密码 和切换 用户的功能,这里我用future的方式来实现. 部署wsp前: 部署后 点击以其他用户身份登录 点击修改用户密码: 这里的扩展才菜单我们用Custo ...

  4. SharePoint2013 以其他用户登录和修改AD域用户密码 功能

    sharepoint默认是没有修改AD密码 和切换 用户的功能,这里我用future的方式来实现. 部署wsp前: 部署后: 点击以其他用户身份登录 点击修改用户密码: 这里的扩展才菜单我们用Cust ...

  5. IDEA修改git账号及密码的方法 ----绝壁好使

    就这个这个位置,之前的账号信息就保存在这里,直接编辑修改,修改成你现在的账号, idea提交的时候就能直接提交,或者提交的时候要输入账号密码,ok,我的微信 18550918581,不懂再找我

  6. python-ldap修改AD域用户密码(CA+SSL)

    代码连接:https://github.com/raykuan/ldap-notes 使用python的ldap模块连接AD服务器,有两种方式: 非加密:con = ldap.initialize(' ...

  7. asp.net 修改AD账号信息

    public void ADInfoEdit(ADUser adu) { try { DirectoryEntry dADM; DirectoryEntry objectuser = null; dA ...

  8. SharePoint 2013中修改windows 活动目录(AD)域用户密码的WebPart(免费下载)

    前段时间工作很忙,好久没更新博客了,趁国庆休假期间,整理了两个之前积累很实用的企业集成组件,并在真正的大型项目中经受住了考验:.Net版SAP RFC适配器组件和SharePoint 2013修改AD ...

  9. SharePoint中修改密码的WEB Part之终极版:即可以修改AD,又可以修改本机用户密码的Web Part!!

    转:http://www.cnblogs.com/dosboy/archive/2007/08/01/838859.html 在网上查了那么多SharePoint密码修改的第三方开发,都有问题.总结下 ...

随机推荐

  1. ES2020 All in One

    ES2020 All in One ES2020 new features / ES11 ES2020 中的10个新功能 1. BigInt BigInt是JavaScript中最令人期待的功能之一, ...

  2. cURL all in one

    cURL all in one convert http request to curl online https://curlbuilder.com/ https://cdn.xgqfrms.xyz ...

  3. nodejs stream 创建读写流

    const fs = require("fs"); const { Writable, Readable, Duplex, Transform } = require(" ...

  4. vue动态添加当前事件下的class

    html部分<div class="star"> <span v-for="(item,index) in 5" @click="c ...

  5. 【Python】set 与 list ——如何对列表进行去重?

    在Python中,形如 {1,2,3,4,5} 这样的数据类型叫做"集合",外形酷似列表list [1,2,3,4,5] 但是集合与列表有很多区别,具体表现在以下几方面: List ...

  6. 【commons-pool2源码】_pre JMX

    目录 一.定义 二.demo 三.JMX在commons-pool2中的应用 一.定义 JMX(Java Management Extensions) 简单来说JMX技术提供了一套轻量的标准化的资源管 ...

  7. 记录一次gitlab版本回退以及代码冲突解决流程

    版本回退 git clone -b 分支名 项目地址 克隆需要回退的分支代码 git pull    保证代码提交记录最新 git log --pretty=oneline    以行的形式展示提交记 ...

  8. 【Notes_2】现代图形学入门——向量与线性代数

    向量与线性代数 点乘和叉乘 Dot Multiplication 点乘在图形学的应用 (1) 求两个向量之间的夹角: $$\cos(\theta) = \frac{(\vec{a} \cdot \ve ...

  9. Centos8.2安装Mongodb4.4.2(社区版)

    1:下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.2.tgz 官网地址: 2:解压 tar -zxv ...

  10. 框架进行时——SSM整合基础环境搭建

    一.导入相关的依赖 1 <!--打war包--> 2 <packaging>war</packaging> 3 4 <!--版本锁定--> 5 < ...