测试环境:win2008r2服务器

ad域服务器安装参考:https://www.cnblogs.com/cnjavahome/p/9029665.html
密码策略修改参考:https://blog.csdn.net/zouyujie1127/article/details/40857675

工作机dns设置为ad域服务器的ip

using:

using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;

获取组织单位:

 public DirectoryEntry GetOU(DirectoryEntry parent, string ouname){DirectorySearcher mySearcher = new DirectorySearcher(parent, "(objectclass=organizationalUnit)");DirectorySearcher deSearch = new DirectorySearcher();deSearch.SearchRoot = parent;deSearch.Filter = string.Format("(&(objectClass=organizationalUnit) (OU={0}))", ouname);SearchResult results = deSearch.FindOne();if (results != null){return results.GetDirectoryEntry();}else{return null;}}

建组织单位:

public void AddOU(DirectoryEntry parent, string ouname){DirectoryEntries ous = parent.Children;DirectoryEntry ou = ous.Add("OU=" + ouname, "organizationalUnit");ou.CommitChanges();ou.Close();}

建立连接:

 public PrincipalContext createConnection(List<string> oupath = null){string path = "";foreach (string str in _domainArr){path += string.Format(",DC={0}", str);}if (oupath != null){string tmp = "";for (int i = oupath.Count - 1; i >= 0; i--){tmp += string.Format(",OU={0}", oupath[i]);}tmp = tmp.Substring(1);path = tmp + path;}else{path = path.Substring(1);}var context = new PrincipalContext(ContextType.Domain, _domain, path, ContextOptions.Negotiate, _adminName, _adminPass);return context;}

建用户:

public void AddUser(PrincipalContext context, string barcode, string userName, string passWord){using (UserPrincipal u = new UserPrincipal(context, barcode, passWord, true)){u.Name = barcode;u.DisplayName = userName;u.UserCannotChangePassword = true;u.PasswordNotRequired = true;u.PasswordNeverExpires = true;u.UserPrincipalName = barcode + "@" + _domain;u.Save();}}

修改密码:

public void EditPass(string userName, string passWord){using (var context = createConnection()){UserPrincipal user = UserPrincipal.FindByIdentity(context, userName);if (user != null){user.SetPassword(passWord);user.Save();}}}

删除用户:

public void DelUser(string userName){using (var context = createConnection()){UserPrincipal user = UserPrincipal.FindByIdentity(context, userName);if (user != null){user.Delete();}}}

登录验证:

  public bool login(string name, string password){DirectoryEntry root = null;try{string ADPath = rootPath();root = new DirectoryEntry(ADPath, name, password, AuthenticationTypes.Secure);string strName = root.Name;root.Close();root = null;return true;}catch (Exception ex){System.Diagnostics.Debug.WriteLine(ex.Message);return false;}}

c# 操作ad域用户相关推荐

  1. 域用户指定计算机,什么是AD域,如何设置AD域用户仅登录到指定的计算机

    什么是AD域? 简单理解:Active Directory域内的directory database(目录数据库)是被用来存储用户账户.计算机账户.打印机和共享文件夹等对象,而提供目录服务的组件就是A ...

  2. ad域控查看ldap端口命令_工作笔记(一)LDAP和AD介绍以及使用LDAP操作AD域

    1. LDAP入门 1.1 定义 LDAP是轻量目录访问协议(LightweightDirectory Access Protocol)的缩写,LDAP标准实际上是在X.500标准基础上产生的一个简化 ...

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

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

  4. AD 域服务简介(二)- Java 获取 AD 域用户

    博客地址:http://www.moonxy.com 关于AD 域服务器搭建及其使用,请参阅:AD 域服务简介(一) - 基于 LDAP 的 AD 域服务器搭建及其使用 一.前言 先简单简单回顾上一篇 ...

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

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

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

    转:http://www.cnblogs.com/nbpowerboy/p/3355943.html 前段时间工作很忙,好久没更新博客了,趁国庆休假期间,整理了两个之前积累很实用的企业集成组件,并在真 ...

  7. AD域用户密码过期-用户如何实现AD域密码自助修改或重置?

    工作中我们经常会遇到AD域密码过期的情况,由于没有及时对AD域密码进行修改导致AD域密码过期,用户不能登录.AD域密码为什么会过期呢?这与IT管理员的AD域密码策略有关.为了防止恶意者进行密码攻击,I ...

  8. AD域用户密码重置_AD域自助管理之道

    AD域管理一直以来都是企业IT管理员的一项重要工作之一.不过,IT管理员面临一些AD域用户管理问题时仍无法高效妥善处理.例如,由于域内执行密码策略,大量用户没有及时更改密码导致大量用户密码过期.管理员 ...

  9. ad域服务器信息怎么获取,获取AD域用户登入信息

    获取AD用户登入信息 详细记录AD域用户登入过哪些终端电脑 1: Dim con Set objSysInfo = CreateObject("ADSystemInfo") str ...

最新文章

  1. JAVA String之contains方法使用
  2. 归一化EvoNorms
  3. 【工作相关】公子龙:工作后我变强了,暂时没秃
  4. 数据链路层: HDLC
  5. uva live 2326 - Moving Tables
  6. jenkins+docker+nginx服务并访问vue项目
  7. 软件安装 | SolidWorks2016软件安装,SW2010-2016.Activator.GUI.SSQ激活闪退解决办法
  8. NC21499-今天,你惹对象生气了吗(dfs)
  9. selenium3.0操作复选框
  10. Mac 激活win10-报错:所请求的操作需要提升特权
  11. Spring的运行原理
  12. mbr gpt 互转
  13. 物理机安装linux系统
  14. Python爬虫方法三部曲之二-实战训练
  15. 11.Django基础九之中间件
  16. 音视频基础:视频的编码
  17. 无人驾驶(目前的自动驾驶方案)
  18. linux awk sed strace,docker 中进行strace的三种方式
  19. 【SpringBoot】70、SpringBoot实现MySQL数据库自动备份管理系统
  20. 数据结构 图 的思维导图

热门文章

  1. 计算机控制面板作用,什么是控制面板;它有什么作用?
  2. 2021年工具钳工(高级)考试资料及工具钳工(高级)复审模拟考试
  3. Python程序下载wyy音乐歌单/专辑
  4. Codeup墓地-2154
  5. Fedora更换软件源
  6. 黑猴子的家:Eclipse-安装EGit插件
  7. Vue flask前后端分离解决跨域
  8. python 卡方分布值_用Python进行最最最基础的统计检定
  9. 三星note3 android4.3,三星Galaxy Note3的手机系统是什么?能升级安卓4.3吗?
  10. 基本算法温习:打印金字塔