使用 C# 搜索 AD



我需要查询一个 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
    }
}

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

这已经在这里得到了回答。

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

如果只需要搜索林的一部分和该域的任何子域,则可以通过指定域基础作为起点来缩小范围。

最新更新