C# 使用DirectorySearcher在AD中搜索多个对象

C# 使用DirectorySearcher在AD中搜索多个对象,c#,active-directory,C#,Active Directory,我需要搜索OU信息和该OU的用户、组、PC,我可以单独搜索它们,但我想知道是否可以在相同的功能中进行搜索。 这是我的ou代码 DirectoryEntry st = new Directoryentry("xxx","xxx","xxx"); DirectorySearcher search = new DirectorySearcher(st); search.filter("objectCategory=organizationalUnit"); foreach(searchresult s

我需要搜索OU信息和该OU的用户、组、PC,我可以单独搜索它们,但我想知道是否可以在相同的功能中进行搜索。 这是我的ou代码

DirectoryEntry st = new Directoryentry("xxx","xxx","xxx");
DirectorySearcher search = new DirectorySearcher(st);
search.filter("objectCategory=organizationalUnit");
foreach(searchresult s in search.FindAll())
{
    if(s.path.contains("ou name")){
    Console.WriteLine(s.path);
    }
}

Can I do something like:
        search.filter("objectCategory=organizationalUnit")("objectCAtegory=user");

如果您想搜索多个特定的条目类型,您可以执行以下操作

search.Filter("(&(objectclass=organizationalUnit)(objectclass=user))")
如果你想搜索所有你能用的东西

search.Filter("(objectclass=*)")

查看MSDN。

谢谢您的帮助,但现在我遇到了另一个问题,我正在尝试此过滤器,但它无法工作
code
(&(objectCategory=user)(memberOf=CN=Employees,OU=Security Groups,DC=yourdomain,DC=com))
code
您正在尝试获取组的成员吗?如果是这样的话,您最好获得组的DE并列举“成员”属性。非常感谢您抽出时间,我无法感谢您。你好,Christian BP,您似乎对DirectorySearch对象非常了解。此代码是否正确以返回与SAMAccountName和department匹配的用户?DirectorySearcher ds=新的DirectorySearcher(条目);ds.Filter=“(&(SAMAccountName=“+userName+”)(部门=信息技术))”;很抱歉,我是想问codingChris,你似乎对DirectorySearch对象非常了解。