A-A+

.NET与AD-连接与查询

2014年09月18日 技术 暂无评论 阅读 2,871 次

索引请点击这里

1.连接

如果要连接AD服务器,首先要知道LDAP地址,LDAP地址一般形如:LADP://xxx.com。可以使用下面的代码进行连接:

  1. DirectoryEntry entry = new DirectoryEntry(strLDAP, strAdminUserName, strAdminPwd, AuthenticationTypes.Secure);

其中,DirectoryEntry是封装Active Directory域服务层次结构中的节点或对象的类。

2.查询

成功连接服务器后,可以对AD中的节点进行查询,比如下面的代码就是搜索指定节点下所有的人员节点:

  1. DirectoryEntry entry = new DirectoryEntry(strLDAP, strAdminUserName, strAdminPwd, AuthenticationTypes.Secure);
  2. DirectorySearcher searcher = new DirectorySearcher(entry);
  3. searcher.Filter = "(objectClass=user)";
  4. searcher.SearchScope = SearchScope.Subtree;
  5. earchResultCollection resultes = searcher.FindAll();
  6. foreach (SearchResult result in resultes)
  7. {
  8.    Response.Write(result.GetDirectoryEntry().Name + "</br>");
  9. }

在这里,最关键的是searcher的Filter属性,此属性相当于查询条件,限制了最终结果的范围,关于此属性的说明如下:

属性值:

  • 以 LDAP 格式表示的搜索筛选器,如“(objectClass=user)”。默认值为“(objectClass=*)”,它检索所有对象。

备注:

  • 筛选器遵循下列原则:
  • 字符串必须括在括号内。
  • 表达式可以使用关系运算符:<、<=、=、>= 和 >。例如:“(objectClass=user)”。再例如:“(lastName>=Davis)”。
  • 复合表达式带有前缀运算符 & 和 |。例如:“(&(objectClass=user)(lastName= Davis))”。再例如:“(&(objectClass=printer)(|(building=42)(building=43)))”。

3.辅助工具“ADExplorer”

ADExplorer是一个先进的Active Directory(AD)查看器和编辑器。您可以使用ADExplorer轻松浏览的AD数据库。

可以在这个位置下载:http://technet.microsoft.com/en-us/sysinternals/bb963907.aspx

主要界面如下:

ADExplorer
此软件最大的用途在于你可以查看任一节点所拥有的属性、可以方便的拼凑搜索筛选器的值,如下图所示:

ADExplorer_Search

给我留言

Copyright © 字痕随行 保留所有权利.   Theme  Ality

用户登录

分享到: