2012-02-29 4 views
1

мне нужно сделать активный поиск в каталоге, например, у меня есть следовать OUПоиск пользователя в активном каталоге OU

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

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

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

Я просто нужно искать пользователя, если пользователь находится в OU, используя PHP,

Спасибо !!!

+0

memberOf связано с членством активных групп каталогов. пожалуйста, уточните, что вы пытаетесь выполнить. также, как вы используете ldap для запроса активного каталога? AdsiEdit? VBScript? PowerShell? что-то другое? – thepip3r

+0

Я использую PHP ldap, мне просто нужно найти пользователя по имени sAMAccountName, фильтровать OU = client, OU = office, OU = Administration, DC = domain, DC = local – JERC

ответ

2

Что вам нужно, это называется ldap_search вы можете найти полный образец here

<?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

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

ресурс ldap_search (ресурс $ link_identifier, строка $ base_dn, строка $ фильтра [, массив $ атрибуты [, Int $ attrsonly [, Int $ SizeLimit [, Int $ TimeLimit [ , Int $ deref]]]]])

первый параметр является ресурс от ldap_connect, второй ваш НУ в форме

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

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

"sAMAccountName={$myADlogin}" 

и т.д ....

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