LDAP-запрос для подразделений - PullRequest
5 голосов
/ 26 мая 2010

Извините за то, что я очень болею за людей, все это очень новое: (

Уже много помогло по этому вопросу, но, похоже, я не вижу проблемы, я пытаюсь заполнить поле со списком списком всех текущих OU, чтобы позже отправить каждую машину в этом OU команда выключения. (Получение списка OU AD и списка Active Directory) были моими предыдущими Q.

        string defaultNamingContext;
        //TODO 0 - Acquire and display the available OU's
        DirectoryEntry rootDSE = new DirectoryEntry("LDAP://RootDSE");
        defaultNamingContext = rootDSE.Properties["defaultNamingContext"].Value.ToString();
        DirectoryEntry entryToQuery = new DirectoryEntry ("LDAP://" + defaultNamingContext);
        MessageBox.Show(entryToQuery.Path.ToString());

        DirectorySearcher ouSearch = new DirectorySearcher(entryToQuery.Path);
        ouSearch.Filter = "(objectCatergory=organizationalUnit)";
        ouSearch.SearchScope = SearchScope.Subtree;
        ouSearch.PropertiesToLoad.Add("name");

        SearchResultCollection allOUS = ouSearch.FindAll();

        foreach (SearchResult oneResult in allOUS)
        {
            //comboBox1.Items.Add(oneResult.ToString());
            comboBox1.Items.Add(oneResult.Properties["name"][0]);
        }

Я прошел и отладил все, что знаю, поисковик не получает никаких результатов, поэтому в поле со списком ничего не заполняется.

Ответы [ 2 ]

3 голосов
/ 27 мая 2010

Я должен был использовать не проиндексированный objectClass, а не Catergory.

Вам просто нужно правильно написать: objectCategory - не objectCate r gory

(у вас там слишком много "r" .....: -)

2 голосов
/ 27 мая 2010

Работает :):)

Мне пришлось использовать неиндексированный objectClass, а не Catergory.

Поле со списком теперь отлично заполнено.

EDIT: { "(Объектный = OrganizationalUnit)" }

...