使用DirectorySearcher查询多个OU

时间:2009-10-08 21:26:07

标签: .net active-directory ldap directoryservices

我有以下代码:

var directoryEntry = new DirectoryEntry(distributionListsListADSPath);
var directorySearcher = new DirectorySearcher(directoryEntry) 
          { SizeLimit = int.MaxValue, PageSize = int.MaxValue };
var result = directorySearcher.FindAll();

问题是我想搜索两个单独的OU。

所以我做的是两次,一次

private const string distributionListsListADSPath = 
"LDAP://OU=Distribution Lists,OU=Groups,DC=enron,DC=com";

和第二个

private const string distributionListsListADSPath = 
"LDAP://OU=Security Groups,OU=Groups,DC=enron,DC=com";

理想情况下,我可以做类似

的事情
private const string distributionListsListADSPath = 
"LDAP://OU=Distribution Lists | OU = Security Groups ,OU=Groups,DC=enron,DC=com";

2 个答案:

答案 0 :(得分:3)

在不知道容器的层次结构的情况下,很难形成正确的答案。

您可能需要使用此处描述的可扩展匹配:http://ldapwiki.willeke.com/wiki/ExtensibleMatch

祝你好运-jim

答案 1 :(得分:0)

试试这个:

"(|(OU=Distribution Lists)(OU=Security Groups,OU=Groups,DC=enron,DC=com))"