有时候我们需要查询一个Windows域中的一些如用户,用户组等对象,或者是针对某个组织单元下的所有用户等等,对这些对象的查询,.NET为我们提供了一些非常方便的类库。对于AD对象查询,我们通常使用System.DirectoryServices命名空间下的DirectorySearcher类进行查询,例如我们要查询在ORG_PGM组织单元下的所有用户和用户组,代码如下:
String ladpRootPath = "LDAP://192.168.213.168/OU=ORG_PGM,DC=pk1,DC=cctv,DC=com";
DirectoryEntry ladpRoot = new DirectoryEntry(ladpRootPath);
ladpRoot.Username = "XXXXX";
ladpRoot.Password = "XXXXX";
DirectorySearcher mySearcher = new DirectorySearcher(ladpRoot);
mySearcher.Filter = "(!(objectClass=group)(objectClass=user))";
SearchResultCollection srList = mySearcher.FindAll();
foreach (SearchResult item in srList)
{
DirectoryEntry obj= item.GetDirectoryEntry();
Console.WriteLine("Name:" + obj.Name );
Console.WriteLine("Type:" + obj.SchemaClassName);
}
srList.Dispose();
需要注意的是,此搜索方式不是搜索指定目录下的一级目录中的对象,而是搜索指定目录下的所有目录(包含当前目录和子目录)中的对象。DirectorySearcher类专门用来检索AD目录中的对象,检索条件通过Filter属性来确定,关于Filter属性的具体写法,详见 http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa746475(v=vs.85).aspx
分享到:
相关推荐
详细介绍了 C# 如何操作AD(活动目录) 附有代码Demo
C#操作AD的几个例子,研究研究会有收获。
新版AD操作处理类 【ASP.NET组资源】新版AD操作处理类 关于ASP.NET如何获取AD中的详细用户信息等方法的实现。其中主要依托CLR:DirectoryServices. ** File Name: AdHandler.cs ** Creator: ** Create date: ** ...
C# 操作window关机重启注销小程序
c#_处理EXCEL_操作包括查询以及增改
把excel作为一个小型数据库,使用C#语句对其进行查询,读取等操作。
C#异步操作 异步查询数据库 异步处理一行一行加载数据
C# 、.NET 读取AD域里用户名或组C# 、.NET 读取AD域里用户名或组C# 、.NET 读取AD域里用户名或组
C#使用window API 控制打印纸张大小
C#,利用反射动态创建对象 C#,利用反射动态创建对象 C#,利用反射动态创建对象 C#,利用反射动态创建对象
C#中动态声明与使用动态数组的实例。 不是最好的,演示了基本功能: 数组的声明与使用,先前数据的保护,对象的实例化,对象空间释放。
Asp.Net(C#)AD域验证WebService 解决方案里面提供两个方法,调用非常简单,方法三个参数:域服务地址+端口、用户名、密码;如果域服务器固定可以直接就爱那个第一个参数配置在Web.config中。
一个asp.net工程,demo页面上进行域用户的认证,创建,删除操作
本文详细介绍了Word对象模型以及如何使用C#开发关于Word的应用程序
2、如何使用C#在Word文档中插入图片以及读取Word文档中的图片?3、提取word 文档中的图片信息;4、提取WORD中的所有InlineShape图片并保存成文件;5、C#编程实现动态生成Word文档{1、2};6、C#读取Word文档的详细...
获取桌面指定窗口,打开窗口,关闭窗口,并对窗口进行操作
C# 使用下拉列表框动态查询数据库,先连接上SQL2005数据库吧,要不然程序不能运行的,一个简单的C#数据库例子,学习数据库操作必看的小程序。
C#读取AD域里用户名或组
刚开始开发域控时,费了好多时间,找到这个文档后,解决了不少问题。
微软的AD的数据,通过C#进行同步的代码,C#同步AD的数据的代码,其中 体现了.Net操作AD的大部分API,对开发会有一定的帮助