在AD森林的全球目录中搜索

时间:2017-10-09 09:20:26

标签: c# windows server active-directory ldap

我需要跨林的所有DC进行LDAP查询。我找到了类似的post,其代码如下:

using (Forest currentForest = Forest.GetCurrentForest())
{
    using (GlobalCatalog globalCatalog = currentForest.FindGlobalCatalog())
    {
        using (DirectorySearcher searcher = globalCatalog.GetDirectorySearcher())
        {
            searcher.Filter = "filter to verify existence of user account according to supplied sid";
            SearchResult result = searcher.FindOne();
            return (result != null);
        }
    }
}

以上代码适用于我的测试场景。这是跨域查询信息的正确方法吗?还有很多其他帖子,他们手动输入GC位置或搜索域名列表。因此,有什么我应该注意或者这个代码可能出错吗?

1 个答案:

答案 0 :(得分:0)

使用Domains的{​​{1}}属性遍历域,然后遍历System.DirectoryServices.ActiveDirectory.Forest DomainControllers属性,以通过域控制器进行迭代,在每个域上运行您想要的任何查询