Вы можете попытаться получить DirectoryEntry
для своего глобального каталога, а затем выполнить поиск в его свойстве .Children
для нужного подразделения, а затем использовать это DirectoryEntry
в качестве корневого элемента поиска - что-то вроде (не проверено), не иметь под рукой AD для тестирования):
Forest myForest = Forest.GetCurrentForest();
GlobalCatalog cat = myForest.FindGlobalCatalog();
DirectoryEntry deGlobal = cat.GetDirectoryEntry();
DirectoryEntry deYourOU = deGlobal.Children.Find("OU=Good");
DirectorySearcher srch = new DirectorySearcher(deYourOU);
Конечно, на самом деле, вы бы хотели добавить некоторую проверку ошибок (!= null
и т. д.) в ваш код - но этобыло бы основным способом добраться до вашей OU (я надеюсь!)