我需要进行Active directory搜索,例如我有下面的OU
OU=client,OU=office,OU=Administration,DC=domain,DC=local
如何使用memberof
指令在OU中搜索用户(例如sAMAccountName='JUAN.PERZ')?
我使用php通过ldap_search进行搜索。
我只需要搜索一个用户,如果用户在OU中,使用php,
谢谢!!!
您需要的东西叫做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";
?>
您只需要ldap_search:
资源ldap_search(资源$link_identifier,字符串$base_dn,字符串$filter[,数组$attributes[,int$attrsonly[,int$sizelimit[,int%timelimit],int$deref]]])
第一个参数是ldap_connect中的资源,第二个参数是形式的ou
"OU=client,OU=office,OU=Administration,DC=domain,DC=local"
三是形式的滤波器
"sAMAccountName={$myADlogin}"
等等。。。。
memberOf保留LDAP中组的DN,而不是OU的DN!