Поиск пользователя в OU Active Directory - PullRequest
1 голос
/ 29 февраля 2012

Мне нужно выполнить поиск в Active Directory, например, у меня есть следующая OU

OU=client,OU=office,OU=Administration,DC=domain,DC=local

Как я могу найти пользователя (например, sAMAccountName = 'JUAN.PERZ') в OU, используя инструкцию memberof?

Я использую php для поиска с помощью ldap_search.

Мне просто нужно, чтобы найти пользователя, если пользователь находится в OU, используя php,

Спасибо !!!

Ответы [ 2 ]

2 голосов
/ 01 марта 2012

Необходимая вещь называется ldap_search, полный образец которой вы можете найти здесь

<?php 
// $ds is a valid connexion id (samAccountName) 
$dn = "OU=client,OU=office,OU=Administration,DC=domain,DC=local"; 
$filter="(&(objectCategory=person)(samAccountName=$ds))"; 
$justtheseattributes = array( "ou", "sn", "givenname", "mail"); 
$sr=ldap_search($ds, $dn, $filter, $justtheseattributes); 
$info = ldap_get_entries($ds, $sr); 
echo $info["count"]." found entries.\n"; 
?> 
1 голос
/ 01 марта 2012

Все что вам нужно это ldap_search:

ресурс ldap_search (ресурс $ link_identifier, строка $ base_dn, строка $ filter [, массив $ attribute [, int $ attrsonly [, int $ sizelimit [, int$ timelimit [, int $ deref]]]]])

первый параметр - это ресурс из ldap_connect, второй - ваш ou в форме

 "OU=client,OU=office,OU=Administration,DC=domain,DC=local"

третий - фильтр в форме

"sAMAccountName={$myADlogin}"

и т. Д. *

memberOf содержит DN группы в LDAP, а не DN OU!

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