LDAP-соединение и поиск - PullRequest
       1

LDAP-соединение и поиск

0 голосов
/ 29 августа 2018

Я совершенно новичок в LDAP, и мне нужно получить некоторую информацию в моем офисе LDAP, никто не придет мне на помощь. Вот информация, которую я получил (я немного меняюсь по соображениям безопасности):

  • хост: the.ldap.host
  • база поиска: ou = People, dc = xxx, dc = yyyy, dc = zzzzz
  • фильтр: (projectTeams = manager)
  • пользователь: uid = eric, ou = Technical, dc = xxx, dc = yyyy, dc = zzzzz
  • пароль: блабла

Это все, что я могу сделать, чтобы найти «менеджера»

Вот мой код:

Dim oRoot2 As DirectoryEntry = New DirectoryEntry ("LDAP://the.ldap.host", "uid=eric,ou=Technical,dc=xxx,dc=yyyy,dc=zzzzz", "blabla",AuthenticationTypes.None)
try
    Dim connected As Object = oRoot2.NativeObject
    msgbox "Connected"
    Dim searcher As DirectorySearcher = New DirectorySearcher(oRoot2)
    searcher.Filter = "(projectTeams=manager)"
    Dim DirEntry As DirectoryEntry
    For Each result As SearchResult In searcher.FindAll
        DirEntry = result.GetDirectoryEntry
        lst.Items.Add(DirEntry.Properties("iam-uid").Value)
    Next
catch ex as exception
    msgbox (ex.message)
End try

Во время работы я получил сообщение «Подключено», но затем получаю сообщение об ошибке «На сервере нет такого объекта». Эта ошибка выдается при выполнении строки ниже:

For Each result As SearchResult In searcher.FindAll

Я не знаю, как закодировать, что база поиска "ou = People, dc = xxx, dc = yyyy, dc = zzzzz"

Я уже два дня пытался. Любая помощь приветствуется.

1 Ответ

0 голосов
/ 06 сентября 2018

Я наконец нашел способ получить нужную мне информацию, вот код, который работает для меня:

Dim oRoot2 As DirectoryEntry = New DirectoryEntry ("LDAP://the.ldap.host/ou=People,dc=xxx,dc=yyyy,dc=zzzzz", "uid=eric,ou=Technical,dc=xxx,dc=yyyy,dc=zzzzz", "blabla",AuthenticationTypes.None)

Это небольшое изменение меняет все, и остальная часть кода (см. Ниже) теперь работает.

try Dim connected As Object = oRoot2.NativeObject msgbox "Connected" Dim searcher As DirectorySearcher = New DirectorySearcher(oRoot2) searcher.Filter = "(projectTeams=manager)" Dim DirEntry As DirectoryEntry For Each result As SearchResult In searcher.FindAll DirEntry = result.GetDirectoryEntry lst.Items.Add(DirEntry.Properties("iam-uid").Value) Next catch ex as exception msgbox (ex.message) End try

Мне понадобилось 3 рабочих дня, чтобы найти это ... пффф.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...