我需要进行Active目录搜索,例如我有以下OU
OU=client,OU=office,OU=Administration,DC=domain,DC=local
如何使用memberof
指令在OU中搜索用户(例如sAMAccountName ='JUAN.PERZ')?
我用php用ldap_search进行搜索。
我只需要搜索用户,如果用户在OU中,则使用php,
感谢!!!
答案 0 :(得分: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 :(得分:1)
你需要的只是ldap_search:
资源ldap_search(resource $ link_identifier,string $ base_dn,string $ filter [,array $ attributes [,int $ attrsonly [,int $ sizelimit [,int $ timelimit [,int $ deref]]]]] )强>
第一个参数是来自ldap_connect的资源,第二个是你的形式
"OU=client,OU=office,OU=Administration,DC=domain,DC=local"
第三个是过滤形式
"sAMAccountName={$myADlogin}"
等...
memberOf在LDAP中保留组的DN,而不是OU的DN!