使用C#搜索AD

时间:2013-09-13 12:06:12

标签: c# asp.net active-directory

我需要查询AD以检索域及其子域中的组。当我运行以下代码时,我得到的只是当前的域组,而不是来自子域的组(例如:mydomain.com和child.mydomain.com)。你对我失踪了吗?

using(var filter = new GroupPrincipal(new PrincipalContext(ContextType.Domain)))
{
    filter.IsSecurityGroup = true;
    filter.GroupScope = GroupScope.Global;
    using(var searcher = new PrincipalSearcher(filter)
    using(var results = searcher.FindAll())
    {
        //results contains the groups in mydomain.com only
    }
}

(更新代码以更好地描述所做的调用)

1 个答案:

答案 0 :(得分:0)

已经回答here

您可以使用全局编录搜索整个森林。

如果您只需要搜索森林的一部分以及该域的任何子域,您可以通过指定域基作为起点来缩小它。