LDAP: синтаксис запроса - PullRequest
       7

LDAP: синтаксис запроса

0 голосов
/ 31 января 2019

Я в основном забыл все, что когда-либо узнавал о запросах AD, и теперь мне нужно получить список пользователей в одном конкретном отделе (DAAS).Я определил, что есть организационная единица под названием DAAS.Я просто не могу понять, как ограничить список этой OU.

Эта строка работает, но извлекает всю организацию;

strQueryDL = "<LDAP://" & strDefaultNamingContext & ">;(&(objectCategory=person)(objectClass=user));distinguishedName;subtree"

Эта строка не работает;

strQueryDL = "<LDAP://" & strDefaultNamingContext & ">;(&(objectCategory=person)(objectClass=user)(OU=DAAS));distinguishedName;subtree"

Эта строка тоже не работает;

strQueryDL = "<LDAP://OU=DAAS" & strDefaultNamingContext & ">;(&(objectCategory=person)(objectClass=user));distinguishedName;subtree"

Куда относится эта чертова OU в этой строке?

Спасибо!DC

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Вы были на правильном пути с последним, но, вероятно, просто пропустили запятую после OU (если OU находится в корне домена).

Но если вы уже знаете distinguishedName OU, то вы можете просто использовать это напрямую.Дело в том, что строка должна выглядеть примерно так (при условии, что DN OU равно domain.com/DAAS):

strQueryDL = "<LDAP://OU=DAAS,DC=domain,DC=com>;(&(objectCategory=person)(objectClass=user));distinguishedName;subtree"

Ответ Эд Гримм показывает вам, как найти саму OU, что будетпоможет вам получить DN OU, если вы его еще не знаете.

0 голосов
/ 31 января 2019

Записи не должны содержать атрибут OU только потому, что он находится где-то в их DN.Они только должны иметь свое значение RDN в них.Если это не имеет смысла, см. Ниже <\ a>.

. Вы можете узнать DN всех поддеревьев, чей dn начинается с ou = daas с

strQueryDL = "<LDAP://" & strDefaultNamingContext & ">;(&(objectCategory=organizationalunit)(OU=DAAS));distinguishedName;subtree"

.что вы можете использовать этот DN там, где у вас есть strDefaultNamingContext.

Существует также расширяемая форма поиска, которая может указывать, что поиск должен выполняться по DN, а не по атрибутам, но я не знаю, работает ли онв рекламе.Если это работает в AD, эта форма будет:

strQueryDL = "<LDAP://" & strDefaultNamingContext & ">;(&(objectCategory=person)(objectClass=user)(OU:dn:=DAAS));distinguishedName;subtree"

DN состоит из нескольких компонентов DN.Каждый компонент представляет собой пару значений атрибута, соединенную =.Вы можете объединять компоненты на одном уровне с +, но обычно вы просто соединяете их с помощью ,.Компоненты на том же уровне неупорядочены.Бит от начала DN до , является RDN и должен быть представлен в записи.Все остальное в DN является высшим DN.Если запись не является записью верхнего уровня в своем дереве, старший DN должен быть представлен своей собственной записью, но ни одно из этих значений не должно быть в подчиненных записях.

В точности это означает другоевопрос, и он был задан ранее, несколько раз, и я просматриваю разные, чтобы выяснить, какой из них лучший ответ ... или я должен представить ответ.Как только я закончу поиск, я заменю этот текст ссылкой.

...