Стивен - мой плохой - по какой-то причине поиск с использованием objectCategory не работает.
Даже если objectCategory
отображается как CN=Organizational-Unit
, для поиска вам все равно нужно использовать то же значение, что и для objectClass:
Так что попробуйте использовать фильтр (objectCategory=organizationalUnit)
- это определенно работает для меня!
ОБНОВЛЕНИЕ: , чтобы получить некоторые свойства в результатах поиска (чтобы отобразить их в поле со списком), вам необходимо включить их при создании DirectorySearcher:
DirectorySearcher ouSearch = new DirectorySearcher(rootDSE);
ouSearch.Filter = "(objectCategory=Organizational-Unit)";
ouSearch.SearchScope = SearchScope.Subtree;
ouSearch.PropertiesToLoad.Add("name");
// add more properties if you want to ...
При этом вы определенно сможете захватить temp.Properties["name"][0]
и вставить его в список предметов в выпадающем списке.
Я действительно не вижу, какая вам нужна строка
DirectoryEntry ou = temp.GetDirectoryEntry();
после захвата имени свойства .....