我试图列出所有的组是一个组的成员。每次尝试拉出Member Of属性时,我都会得到一个成员列表。
本质上,我只想查询一个AD组,并返回它所属的组。对此有什么想法吗?
下面是我正在尝试的代码。
function getGroups($group){
$ldap_host="My AD host";
$ldap_dn="My AD DN";
$user="my AD username";
$password="my AD password";
$keep=array("samaccountname","distinguishedname","memberOf");
$ldap=ldap_connect($ldap_host) or die("Could not connect to LDAP");
ldap_bind($ldap,$user.'@trusourcelabs.com',$password) or die("Could not bind to LDAP");
$query='(&(memberOf=CN=accessRW,OU=Domain Security Groups,OU=Groups,OU=IT,OU=Corporate,OU=myOU,DC=myDomain,DC=com))';
$results=ldap_search($ldap,$ldap_dn,$query);
$entries=ldap_get_entries($ldap, $results);
array_shift($entries);
$output=array();
$i=0;
foreach($entries as $u){
foreach($keep as $x){
if(isset($u[$x][0])) $attrval=$u[$x][0]; else $attrval=NULL;
$output[$i][$x]=$attrval."<hr />";
}
$i++;
}
return $output;
}
刚刚明白了…我需要修改这一行:
$query='(&(memberOf=CN=accessRW,OU=Domain Security Groups,OU=Groups,OU=IT,OU=Corporate,OU=myOU,DC=myDomain,DC=com))';
:
$query='(&(member=CN=accessRW,OU=Domain Security Groups,OU=Groups,OU=IT,OU=Corporate,OU=myOU,DC=myDomain,DC=com))';