在使用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. css & clip-path

    css & clip-path https://developer.mozilla.org/en-US/docs/Web/CSS/clip-path https://tongqu.me/ tw ...

  3. int和Integer的比较详解

    说明: int为基本类型,Integer为包装类型: 装箱: 基本类型---> 包装类型 int ---> Integer 底层源码: .intValue() 拆箱: 包装类型---> ...

  4. Scrapy项目_阳光热线问政平台

    目的: 爬取阳光热线问政平台问题中每个帖子的标题.详情URL.详情内容.图片以及发布时间 步骤: 1.创建爬虫项目 1 scrapy startproject yangguang 2 cd yangg ...

  5. 字节码增强技术-Byte Buddy

    本文转载自字节码增强技术-Byte Buddy 为什么需要在运行时生成代码? Java 是一个强类型语言系统,要求变量和对象都有一个确定的类型,不兼容类型赋值都会造成转换异常,通常情况下这种错误都会被 ...

  6. img图片默认的3px空白缝隙解决方法

    img{display:block;} 表示将img标签,即图片标签由行内元素变成一个块级元素. 一般在制作轮播网页或使用到img图片时,我们都会对图片设置img{display:bolck}.因为i ...

  7. js引入jquery问题

    写jsp的时候明明已经引入了jquery组件,但是总是报错如下图 jsp代码如下 <%@ page language="java" contentType="tex ...

  8. Vue学习笔记-vue-element-admin 按装报错再按装

    一  使用环境 开发系统: windows 后端IDE: PyCharm 前端IDE: VSCode 数据库: msyql,navicat 编程语言: python3.7  (Windows x86- ...

  9. 创建时间和更新时间两个选一个的情况和select case when ... then ... else ... end from 表 的使用

    1.查询时间,如果更新时间update_time为空就查创建时间create_time,否则查更新时间update_time select update_time,create_time, case ...

  10. Java流程控制:顺序结构

    一.流程控制 Java中的流程控制语句可以这样分类:顺序结构.选择结构.循环结构.这三种结构就足够解决所有的问题了! 二.顺序结构 描述: Java流程控制的基本结构就是顺序结构,除非特别指明,否则J ...