0

我写了一个小应用程序来检查广告组成员。当我在我的电脑上执行以下代码时,它运行良好,SearchResult 包含“成员”属性,但是当我在服务器或另一台计算机上运行相同的 exe 时,“成员”属性丢失。usnchanged 和 usncreated 也会有所不同。我在每台电脑上使用相同的用户运行 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];
        }
    }
}
...
4

1 回答 1

0

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

您可能希望连接到实际域中的域控制器,而不是全局编录。

于 2016-08-23T15:33:37.633 回答