有时候我们需要查询一个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
分享到:
相关推荐
Active Directory(AD)是一种目录服务,由微软公司开发,用于在 Windows 操作系统中管理和存储用户、组、计算机和其他对象的信息。它提供了一个集中化的身份验证和授权机制,使得管理员可以更方便地管理网络中的...
`DirectorySearcher`类用于执行查询以查找AD对象。 下面是一段基本的代码示例,展示如何使用C#连接到AD域并获取用户或组的信息: ```csharp using System; using System.DirectoryServices; public class ...
2. **查询AD对象**: 使用DirectorySearcher类,你可以构建复杂的查询条件,基于对象属性进行查找。例如,寻找所有名为"John Doe"的用户: ```csharp DirectorySearcher search = new DirectorySearcher(adEntry); ...
`PrincipalSearcher`和`Principal`类可以用于搜索AD中的对象,`GroupPrincipal`和`UserPrincipal`类则提供了与用户和组相关的操作。 标签中的"c#连接AD"指的是上述的连接过程,而"c# AD L连接域"可能是指Ldap(轻量...
C# 操作 Active Directory(AD)是开发企业级应用程序时常用的一种技术,它允许程序员创建、查询、修改和删除AD中的对象。以下是对C#操作AD的详细解释: 1. **系统环境**: - 操作环境:此处是Windows Server 2008...
本文将深入探讨如何使用C#编程语言在ASP.NET环境中对AD域用户进行操作,包括认证、创建和删除等关键功能。 首先,进行AD用户认证是确保网络安全的重要环节。在ASP.NET应用中,C#可以借助System.DirectoryServices...
C#代码可以通过DirectoryEntry类来代表AD中的任何对象,并通过DirectorySearcher类来查询这些对象。 对于读取AD域的组织结构,我们可以创建一个DirectoryEntry实例,指定AD域的根节点,例如"LDAP://DC=yourdomain,...
在IT行业中,C#是一种广泛使用的编程语言,尤其在Windows应用程序开发中占据着核心地位。在本项目中,"C#管理window账号"是针对Windows操作系统中的账户管理功能进行的一次自定义开发,以解决Windows SharePoint ...
要读取AD域中的用户和组,可以创建DirectoryEntry对象,指定AD服务器和基目录路径,然后使用DirectorySearcher对象来执行查询。例如,以下代码片段展示了如何搜索特定用户或组: ```csharp var domain = new ...
在C#编程中,异步操作是现代应用开发的关键特性,尤其在处理大量数据或进行I/O密集型任务时,如查询数据库。本主题将深入探讨C#中的异步概念,如何异步查询数据库,以及如何异步处理一行一行加载的数据。 首先,...
在IT领域,特别是Windows域...总的来说,C#同步AD的数据涉及到的技能点包括AD架构的理解、.NET AD操作API的使用、查询设计以及数据处理逻辑。这个过程对于构建依赖AD的系统或应用,确保数据准确性和安全性至关重要。
要像查询数据库一样操作Excel,可以使用LINQ查询。假设我们有一个名为"data"的Excel表格,列名分别为"id"、"name"和"age",以下是如何执行查询的示例: ```csharp var query = from row in worksheet....
通过对Word对象模型的理解,开发者可以使用C#语言编写脚本来实现对Word文档的各种自动化操作,如创建文档、编辑内容、格式化样式等。这些能力在处理大量文档时尤其有用,可以帮助提高工作效率,减少重复性劳动。此外...
C# 处理 EXCEL 操作包括查询、增改、插入 C# 处理 EXCEL 操作可以通过使用 OleDb 连接来实现,下面是相关的知识点: 1. 使用 OleDb 连接到 EXCEL 文件 在 C# 中,我们可以使用 OleDb 连接到 EXCEL 文件,通过指定...
新版AD操作处理类 【ASP.NET组资源】新版AD操作处理类 关于ASP.NET如何获取AD中的详细用户信息等方法的实现。其中主要依托CLR:DirectoryServices. ** File Name: AdHandler.cs ** Creator: ** Create date: ** ...
我们可以使用SqlCommand对象来执行SQL查询,将查询结果填充到DataTable中,再将DataTable绑定到ComboBox: ```csharp DataTable dt = new DataTable(); using (SqlCommand command = new SqlCommand("SELECT Column...
总结来说,"C# ACCESS 数据库操作类"是一个用于简化C#程序中与Access数据库交互的自定义类,它通过封装ADO.NET组件提供了高效且易于使用的数据库操作接口。"AccessHelper.cs"文件包含了实现这些功能的源代码,是理解...
在C#中操作Word文档,通常使用Microsoft Office Interop库,这是一个允许.NET应用程序与Office应用程序交互的组件。以下是一些关键知识点和实现方法: 1. **引用Microsoft Word对象库**: 在C#项目中,首先需要...