Я получаю ошибку вне диапазона, показывая использование под OU - PullRequest
0 голосов
/ 22 января 2020

Я использую этот код для отображения всех пользователей в OU:

private void btn_objecten_Click(object sender, EventArgs e)
{
    lb_objecten.Items.Clear();
    //string ou = "DC=" + lv_rootOU.SelectedItem.ToString();
    DirectoryEntry verbinding = new DirectoryEntry("LDAP://ou=Test,dc=roel,dc=gui");
    DirectorySearcher zoekOU = new DirectorySearcher(verbinding);

    zoekOU.SearchScope = SearchScope.OneLevel;

    zoekOU.PropertiesToLoad.Add("user");
    zoekOU.Filter = "(objectCategory=user)";

    foreach (SearchResult deResult in zoekOU.FindAll())
    {
        string ouNaam = deResult.Properties["user"][0].ToString();            
        lb_objecten.Items.Add(ouNaam);   
    }
}

Но я получаю ошибку вне диапазона при выполнении кода. Может кто-нибудь помочь?

Ответы [ 2 ]

0 голосов
/ 22 января 2020

Попробуйте это

private void btn_objecten_Click(object sender, EventArgs e)
{
    lb_objecten.Items.Clear();
    //string ou = "DC=" + lv_rootOU.SelectedItem.ToString();
    DirectoryEntry verbinding = new DirectoryEntry("LDAP://ou=Test,dc=roel,dc=gui");
    DirectorySearcher zoekOU = new DirectorySearcher(verbinding);

    zoekOU.SearchScope = SearchScope.OneLevel;

    zoekOU.PropertiesToLoad.Add("user");
    zoekOU.Filter = "(objectCategory=user)";

    foreach (SearchResult deResult in zoekOU.FindAll())
    {
        if (deResult.Properties["user"].Any())
        {
          string ouNaam = deResult.Properties["user"][0].ToString();            
          lb_objecten.Items.Add(ouNaam);
        }

    }
}
0 голосов
/ 22 января 2020

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

private void btn_objecten_Click(object sender, EventArgs e)
    {
        lb_objecten.Items.Clear();
        //string ou = "DC=" + lv_rootOU.SelectedItem.ToString();
        DirectoryEntry verbinding = new DirectoryEntry("LDAP://ou=Test,dc=roel,dc=gui");
        DirectorySearcher zoekOU = new DirectorySearcher(verbinding);

        zoekOU.SearchScope = SearchScope.OneLevel;

        zoekOU.PropertiesToLoad.Add("user");
        zoekOU.Filter = "(objectCategory=user)";

        foreach (SearchResult deResult in zoekOU.FindAll())
        {
            string ouNaam = deResult.Properties["user"][0].ToString();
            if (deResult.Equals(0))
            {
                lb_objecten.Items.Add(ouNaam);
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...