博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
根据当前登录域账号 获取AD用户姓名和所在OU目录
阅读量:4946 次
发布时间:2019-06-11

本文共 2459 字,大约阅读时间需要 8 分钟。

#region 根据当前登录域账号 获取AD用户姓名和所在OU目录        ///         /// 根据当前登录域账号 获取AD用户姓名和所在OU目录   返回域用户是否存在        ///  /// 要搜索的当前用户名 /// out返回该用户所在OU目录 /// out 返回该用户的姓名 /// 
搜索域用户是否存在
public static bool GetADUserNameAndPaths(string searchUser, out List
paths, out string userName) { bool isExite = false;//该域用户是否 存在。。。 DataContextProvider.loger.Info(string.Format(">>>>>>>>>>>>>>>>>>>>>>>>>>>获取当前域用户信息log>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>start>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")); DirectoryEntry entry = null; string name = "未知"; List
directorys = null; try { //读取配置文件...连接登录域服务器 //"LDAP://10.2.17.*" 域服务器地址 //登录名 //密码 DataContextProvider.loger.Info(string.Format("域服务地址:{0}、、域账号:{1}、、域密码{2}、、", ConfigHelper.DomainAddress, ConfigHelper.DomainAccount, ConfigHelper.DomainPassWord)); using (entry=new DirectoryEntry(ConfigHelper.DomainAddress, ConfigHelper.DomainAccount, ConfigHelper.DomainPassWord, AuthenticationTypes.Secure)) { if (entry != null) { DirectorySearcher mySearcher = new DirectorySearcher(entry); mySearcher.Filter = ("(&(|(objectClass=user)(objectClass=organizationalUnit)(objectClass=group))(|(cn=" + searchUser + ")(dn=" + searchUser + ")(sAMAccountName=" + searchUser + ")))"); // ("(&(objectClass=organizationalUnit)(OU=电力技术部))"); SearchResult searchResult = mySearcher.FindOne(); if (searchResult != null) { isExite = true;//该域用户 存在。。。 string path = searchResult.Path; DataContextProvider.loger.Info(string.Format("获取当前登录域账号的OUPath>>>>>>>>>>>>>>>>>>>>>>>>>>>{0}", path)); string[] splits = path.Split(new char[] { ',' }); for (int i = splits.Count() - 1; i >= 0; i--) { if (splits[i].Contains("OU=")) { if (directorys==null) { directorys = new List
(); } directorys.Add(splits[i].Substring(splits[i].IndexOf('=') + 1)); } } string xing = (string)(searchResult.Properties["sn"].Count>0?searchResult.Properties["sn"][0]:""); string ming = (string)(searchResult.Properties["givenname"].Count>0?searchResult.Properties["givenname"][0]:""); name = (xing + ming); DataContextProvider.loger.Info(string.Format("获取当前登录域账号的姓名>>>>>>>属性>>>>>name>>>>>>>>>>>>>>>{0}", name)); } } } } catch (Exception ex) { DataContextProvider.loger.Error(" 获取AD用户姓名和所在OU目录 发生异常:: " + ex.ToString()); } //finally //{ // //释放资源 // entry.Close(); // entry.Dispose(); //} paths = directorys; userName = name; return isExite; } #endregion

 

参考:

 

转载于:https://www.cnblogs.com/ayforver/p/3939313.html

你可能感兴趣的文章
6标准文件读写
查看>>
jsTree 核心功能(core functionality) API
查看>>
Perl oop链接数据库
查看>>
网络虚拟化我眼中的OpenFlow
查看>>
[leetcode] 3. Longest Substring Without Repeating Characters
查看>>
06 Frequently Asked Questions (FAQ) 常见问题解答 (常见问题)
查看>>
获取判断IE版本 TypeError: Cannot read property 'msie' of undefined
查看>>
tcpreplay安装使用
查看>>
自增锁
查看>>
ps命令学习
查看>>
关于proteus仿真的串口问题
查看>>
[NOI2018] 归程 可持久化并查集
查看>>
无论怎样,拒绝了
查看>>
Discuz API的延伸
查看>>
C/C++(C++内存管理,内联函数,类型转换,命名空间,string类)
查看>>
【NOIP2015】斗地主
查看>>
uva 10537 Toll! Revisited(优先队列优化dijstra及变形)
查看>>
MySQL对时间的处理总结
查看>>
笔记四:python乱码深度剖析二
查看>>
《PHP程序员面试笔试宝典》——如何回答技术性的问题?
查看>>