Я использую System.DirectoryServices.DirectorySearcher для обхода Active Directory для пользователей. В большинстве случаев это работает нормально. Код выглядит примерно так:
Ldapconnection conn = CreateConnection(...);
System.DirectoryServices.DirectorySearcher searcher = new System.DirectoryServices.DirectorySearcher();
searcher.SearchScope = System.DirectoryServices.SearchScope.Subtree;
foreach (System.DirectoryServices.SearchResult result in searcher.FindAll()) {
}
По некоторым причинам, это не всегда полностью пересекает дерево. Если я указываю корень поиска, чтобы он указывал на отсутствующее поддерево, оно импортирует это поддерево.
Я что-то упустил?