`
wyf
  • 浏览: 433535 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

使用C#中的DirectorySearcher来获得活动目录中的组织结构与用户等信息

阅读更多

对于C#来说,取得活动目录中的组织结构相对简单,因为其在System.DirectoryServices命名空间中内置了DirectorySearcher的方法,我们可以组合多种过滤方式,来达到取得活动目录中的所有信息,当然,我现在还没有找到可以得到域用户密码的方式 :)

 

private static SearchResultCollection _ADHelper(string domainADsPath, string username, string password, string schemaClassNameToSearch)
         {
             DirectorySearcher searcher = new DirectorySearcher();
 
             searcher.SearchRoot = new DirectoryEntry(domainADsPath,
                                                         username, password);
             searcher.Filter = "(objectClass=" + schemaClassNameToSearch + ")";
 
            searcher.SearchScope = SearchScope.Subtree;
            searcher.Sort = new SortOption("name",
                                                SortDirection.Ascending);
            // If there is a large set to be return ser page size for a paged search
           searcher.PageSize = 512;

            searcher.PropertiesToLoad.AddRange(new string[] { "name", "Path", "displayname", "samaccountname", "mail" });
            SearchResultCollection results = searcher.FindAll();
           return results;
        }

 

参数domainADsPath是活动目录的域名,使用类似"LDAP://域名"的形式
参数schemaClassNameToSearch是过滤条件,基本上有以下三个选择,更多选择请参考微软的网站
            1.   objectClass=organizationalUnit   查询条件是所有的组织单元(OU)     
            2.   objectClass=group   查询条件是所有的组(GROUP)     
            3.   objectClass=user   查询条件是所有的用户(USER) 

searcher.PropertiesToLoad.AddRange(new string[] { "name", "Path", "displayname", "samaccountname", "mail" });
这一句是指对范围内的属性进行加载,以提高效率。

分享到:
评论

相关推荐

    C#读取AD域的组织结构和用户

    总的来说,使用C#与AD域进行交互是通过System.DirectoryServices命名空间的类实现的,包括DirectoryEntry、DirectorySearcher等,可以方便地读取组织结构和用户信息。实际开发时,需要根据具体需求调整代码,如搜索...

    c# 获取域 用户 组 信息

    C#作为.NET框架的主要编程语言,提供了丰富的类库来与Active Directory(AD)进行交互,从而获取和操作域用户、用户组以及组织单元(OU)等信息。本篇文章将详细探讨如何使用C#来实现这一目标。 首先,我们需要引入...

    C# IIS 设置 C#代码操作IIS之虚拟目录

    在实际开发中,你可能需要根据项目需求来调整代码,例如,处理异常、检查现有虚拟目录是否存在、批量创建虚拟目录等。通过熟练掌握这些技巧,你可以轻松地在应用程序中自动化IIS的管理任务,提高工作效率。

    活动目录Active Directory 管理工具

    活动目录(Active Directory)是微软Windows Server操作系统中的一个核心组件,用于管理和组织网络资源,如用户账户、计算机、打印机和共享文件夹等。它通过分布式数据库系统存储和管理这些对象的信息,提供身份验证...

    ldap连接测试工具源代码C#版

    2. **域结构探索**:该工具可以帮助开发者或管理员查看和理解域的层次结构,包括组织单元(OU)、域控制器、用户组等。这可能涉及到递归遍历DirectoryEntry对象的子节点。 3. **登录验证**:工具能够模拟用户的登录...

    C#读取AD欲里的用户名或组实例

    在IT行业中,活动目录(Active Directory,简称AD)是微软提供的一个重要的身份验证和资源管理服务,用于组织和管理网络中的用户、计算机和其他资源。在Windows操作系统环境下,C#编程语言提供了一种强大的方式来与...

    C#——AD域认证实现

    1. **System.DirectoryServices Namespace**: 这是C#中用于与AD交互的核心命名空间,包含了如DirectoryEntry、DirectorySearcher等类,可以用于查询、操作AD对象。 2. **DirectoryEntry Class**: 表示AD中的一个...

    LDAP工具集成

    在IT领域,LDAP是一种用于访问和管理分布式目录服务的标准协议,常用于组织和存储用户账户、权限、网络资源等信息。本项目利用C#编程语言实现了对LDAP服务的集成,旨在提供便捷的目录管理功能,包括连接测试、用户...

    WPF 访问目录服务

    以上代码示例展示了如何在C#中使用WPF访问AD,但并未涉及与Exchange Server的交互。与Exchange Server的交互通常涉及到更复杂的API调用,如EWS Managed API或Exchange PowerShell cmdlets。 总的来说,WPF结合AD和...

    域目录读取操作

    Active Directory是微软提供的一种目录服务,用于管理网络中的用户、计算机、服务和资源,它将这些实体组织成层次结构的目录,方便管理和访问。本篇文章将深入探讨“域目录读取操作”的核心知识点。 首先,我们要...

    C#里边的控件缩写大全

    在C#编程中,开发Windows Forms应用程序时,经常会用到各种各样的控件来构建用户界面。这些控件都有简短的缩写形式,便于快速识别和使用。以下是对标题和描述中提到的一些主要控件及其功能的详细解释: 1. **btn ...

    C# 控件 缩写 标准

    - **应用场景**:目录结构、组织架构等。 21. **wbsWebBrowser**: Web浏览器(WebBrowser)。 - **简介**:内置的Web浏览组件。 - **应用场景**:网页展示、在线应用嵌入等。 #### 容器控件 1. **...

    收集了一些关于AD的资料

    - **安全性与权限**:讨论如何使用C#来处理AD的安全性,包括设置对象权限、执行权限检查等。 - **自动化用户账户管理**:编写代码自动创建、启用、禁用用户账户,批量修改用户属性。 - **组策略对象(GPO)**:...

    C#控件前缀名大全

    在C#编程语言中,控件是构建图形用户界面(GUI)的核心元素,它们负责接收用户的输入、显示信息以及执行各种交互操作。为了方便管理和识别,C#中的控件通常会采用特定的前缀名来命名,这不仅有助于提高代码的可读性...

    C# 控件缩写大全

    3. **drs (DirectorySearcher)**:目录搜索器控件,用于在目录服务中搜索对象。 4. **err (ErrorProvider)**:错误提供器控件,用于验证输入并显示错误消息。 5. **evl (EventLog)**:事件日志控件,记录应用程序或...

    C# 控件缩写大全 vs2005

    - **应用场景**: 文件目录、组织架构等。 21. **wbs (WebBrowser)** - **描述**: 内嵌浏览器控件,可以在应用内打开网页。 - **应用场景**: 在线文档查看、嵌入式帮助系统等。 #### 布局控件 1. **flp ...

    C#常用控件的缩写大全

    在C#编程中,使用各种控件来构建用户界面是非常常见的。为了提高编码效率,很多开发者会选择使用简短的命名方式来表示这些控件。本文将详细介绍C#中常用控件的缩写及其含义。 #### 标准控件 1. **btn** (Button):...

    AD同步代码

    在IT行业中,Active Directory(AD)同步是一种常见的任务,它涉及到组织内部的用户账户、组和其他对象信息在多个系统间的同步。"AD同步代码"这个主题涵盖了如何编程地从AD检索数据并将其传递到其他系统,例如通过...

    C#控件简写,规范代码

    在C#编程中,为了提高代码的可读性和编写效率,开发者通常会使用控件的简写形式。这些简写是根据控件的全称进行缩写,方便快速输入和理解。以下是一些常见的C#控件及其简写: 1. Button - btn:用于创建点击触发...

    C#中控件的缩写大全

    在C#编程中,使用标准且一致的缩写可以帮助提高代码的可读性和可维护性。本文将详细介绍C#中常用的控件及其缩写,帮助开发者形成科学统一的编码风格。 #### 按钮类(Button) - **btn**:Button 的缩写,表示普通...

Global site tag (gtag.js) - Google Analytics