繁体   English   中英

DirectorySearcher的结果不同

[英]Different result with DirectorySearcher

我写了一个小应用程序来检查广告组成员。 当我在PC上执行以下代码时,它运行良好,SearchResult包含“ member”属性,但是当我在服务器或另一台计算机上运行相同的exe时,“ member”属性丢失。 usnchanged和usncreated也将不同。 我在每台PC上都以同一用户运行exe。 是什么原因造成的?

...
using (DirectorySearcher searcher = new DirectorySearcher())
{
    searcher.CacheResults = false;
    searcher.Filter = "(&(objectClass=group)(cn=" + ADName + "))";
    searcher.SizeLimit = int.MaxValue;
    searcher.PageSize = int.MaxValue;
    if (!DirectoryEntry.Exists(ADPath))
    {
        return null;
    }
    searcher.SearchRoot = new DirectoryEntry(ADPath);
    using (SearchResultCollection collection = searcher.FindAll())
    {
        if (collection.Count == 1)
        {
            return collection[0];
        }
    }
}
...

组成员身份数据不会复制到全局目录中。 如果您碰巧使用实际的成员资格数据连接到域控制器,则查询有时可能会起作用。 在其他计算机上,您可能会连接到其他域的其他域控制器,这些域控制器上的信息不可用。

您可能想要连接到实际域中的域控制器,而不是全局目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM