如何使用 C# 使用 DomainName 获取 AD 中的 OU 名称列表?

2024-01-14

我想从 Active Directory 获取 OU 列表。

我只有域名。

我如何使用 C# 实现这一目标?


尝试这样的事情:

// connect to "RootDSE" to find default naming context
DirectoryEntry rootDSE = new DirectoryEntry("LDAP://RootDSE");

string defaultContext = rootDSE.Properties["defaultNamingContext"][0].ToString();

// bind to default naming context - if you *know* where you want to bind to - 
// you can just use that information right away
DirectoryEntry domainRoot = new DirectoryEntry("LDAP://" + defaultContext);

// set up directory searcher based on default naming context entry
DirectorySearcher ouSearcher = new DirectorySearcher(domainRoot);

// SearchScope: OneLevel = only immediate subordinates (top-level OUs); 
// subtree = all OU's in the whole domain (can take **LONG** time!)
ouSearcher.SearchScope = SearchScope.OneLevel;
// ouSearcher.SearchScope = SearchScope.Subtree;

// define properties to load - here I just get the "OU" attribute, the name of the OU
ouSearcher.PropertiesToLoad.Add("ou");

// define filter - only select organizational units
ouSearcher.Filter = "(objectCategory=organizationalUnit)";

// do search and iterate over results
foreach (SearchResult deResult in ouSearcher.FindAll())
{
    string ouName = deResult.Properties["ou"][0].ToString();
}

如果您有域名(例如mycompany.com),然后是 LDAP 根域通常将被称为dc=mycompany,dc=com- 这是惯例,但不一定非得如此。这就是为什么我要连接到LDAP://RootDSE虚拟 LDAP 根,我读出该属性Default Naming Context这给了我默认的 LDAP 路径。

If you know您想要连接到的位置 - 请随意跳过第一步,只需提供有效的 LDAP 路径(例如LDAP://dc=YourCompany,dc=co,dc=jp或其他)来创建domainRoot目录条目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 C# 使用 DomainName 获取 AD 中的 OU 名称列表? 的相关文章

随机推荐

  • jQuery 片段用动画交换两组元素

    是否有一些 jQuery 代码可以用动画交换 2 组元素 我只发现使用 jQuery 将列表项移动到无序列表的顶部 https stackoverflow com questions 1625960 move list item to to
  • 固定表格标题仅水平和垂直滚动 CSS

    首先 是否可以仅使用 CSS 来实现这一点 我已经构建了一个可以水平和垂直滚动的表格 但是 我希望将标题封装在其容器内 而不是出现在包装器之外 这样 当您水平滚动时 相应的标题与其指定列的内容一致 使用不同的变体position absol
  • JBoss AS7自动加载JPA

    我有一个使用 JPA Hibernate 和 Google Guice 的应用程序 Guice 是在一个ServletContextListener它设置了EntityManagerFactory itself 该应用程序在 Tomcat
  • python:numpy 数组的矩阵列表?

    我有一个包含 numpy 矩阵的列表 无论如何 我可以将整个事情变成一个漂亮的干净的 numpy 数组吗 From matrix 1 matrix 1 99387871 matrix 2 53564618 matrix 4 39125807
  • 出现错误 mysqli::real_connect(): (HY000/2002): 当我尝试访问实时服务器上的项目时没有这样的文件或目录[重复]

    这个问题在这里已经有答案了 我已将我的网站上传到服务器 然后尝试访问 但代码点火器向我返回错误 我找不到任何答案 为什么会发生这种情况 我的配置数据库设置如下 db default array dsn gt hostname gt loca
  • JavaScript 中按名称读取 cookie 的最短函数是什么?

    在 JavaScript 中读取 cookie 的最短 准确且跨浏览器兼容的方法是什么 很多时候 在构建独立脚本 我不能有任何外部依赖项 时 我发现自己添加了一个读取 cookie 的函数 并且通常会依赖于QuirksMode orgrea
  • PostgreSQL ANSI、Python SQL、utf-8' 编解码器无法解码字节 0xa0

    我正在尝试在 python 中运行 sql 查询 在 python 2 中 这曾经有效 但现在我使用 python 3 这不再有效 我收到错误UnicodeDecodeError utf 8 codec can t decode byte
  • wx (Python) 小部件的 GUI 更新缓慢?

    考虑这个例子 在 python2 7 Ubuntu 11 04 上尝试过 import wx import wx lib agw knobctrl as KC started from http wxpython org Phoenix d
  • 如何使用 rxjs 定期检查实时连接?

    我使用 rxjs 来处理 websocket 连接 var socket Rx Observable webSocket wss echo websocket org socket resultSelector e gt e data 我想
  • 使用起订量模拟 HttpMessageHandler - 如何获取请求的内容?

    在决定我要发回测试的响应类型之前 有没有办法获取 http 请求的内容 多个测试将使用此类 每个测试将有多个 http 请求 此代码无法编译 因为 lambda 不是async并且有一个await在里面 我是异步等待的新手 所以我不知道如何
  • 使用 docker 在 AWS ray 集群上启动简单的 python 脚本

    我发现遵循 Ray 指南在 ray 集群上运行 docker 映像以执行 python 脚本非常困难 我发现缺乏简单的工作示例 所以我有最简单的docker文件 FROM rayproject ray WORKDIR usr src app
  • Java:高效的ArrayList过滤?

    我需要过滤 ArrayList 并删除找到的元素 作为 Java 的新手 我想知道实现此目的最有效的方法是什么 很重要 因为它在移动设备上运行 目前我这样做 We display only top level dealers parentI
  • 带两个参数的 MVC6 属性路由

    我已经对此进行了查看 并且没有任何与 MVC6 taghelper 锚标记相关的内容与满足多个参数的替代 HttpGet 方法相关 当然 您可以向 MVC6 锚标记帮助器添加多个参数 但是如何使用属性路由处理带有两个参数的第二个选项 我有两
  • 崩溃并终止原因 0xdead10cc

    请问这起事故的原因是什么 Incident Identifier A176CFB8 6BB7 4515 A4A2 82D2B962E097 CrashReporter Key f02957b828fe4090389c1282ca8e3839
  • Windows Phone 7 上带有盐的 SHA1

    我现在花了一些时间研究如何使用盐将密码编码为 SHA1 这是我在网络应用程序部分使用的代码 但它不适用于电话环境 public class Password private string password private int salt
  • Python unicode:如何测试 unicode 字符串

    我有一个这样的脚本 Python26 coding utf 8 import sys import xlrd import xlwt argset set sys argv 1 import wb xlrd open workbook ex
  • groovy 中的 get 与 getProperty

    令我惊讶的是 根据groovy的文档 groovy可以使用 getProperty 方法来获取对象的属性 因此 当我想更改获取特殊对象属性的行为时 我使用类别类来重写 getProperty 方法 然而 它不起作用 最后 我发现groovy
  • Python SSL:证书验证失败

    我在连接时遇到错误www mydomain com在使用 Windows 8 1 的相当新的机器上使用 Python 2 7 12 错误是SSL CERTIFICATE VERIFY FAILED on the ssl sock conne
  • 分割数据框

    打印 df A B 0 10 1 30 2 50 3 20 4 10 5 30 A B 0 10 1 30 A B 2 50 A B 3 20 4 10 5 30 你可以使用pd cut https pandas pydata org pa
  • 如何使用 C# 使用 DomainName 获取 AD 中的 OU 名称列表?

    我想从 Active Directory 获取 OU 列表 我只有域名 我如何使用 C 实现这一目标 尝试这样的事情 connect to RootDSE to find default naming context DirectoryEn