doucang9673 2015-08-23 21:20
浏览 256

列出组中的LDAP组

I'm trying to list all groups that are a member of a group. Each time I try to pull the Member Of attribute I get a list of the members, instead.

Essentially, I just want to query an AD group, and return the groups that it is a member of. Any ideas on this?

Below is the code that I'm trying at the moment.

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;
}
  • 写回答

1条回答 默认 最新

  • duanmo7075 2015-08-23 21:39
    关注

    Just figured it out... I needed to change this line:

    $query='(&(memberOf=CN=accessRW,OU=Domain Security Groups,OU=Groups,OU=IT,OU=Corporate,OU=myOU,DC=myDomain,DC=com))';
    

    to this:

    $query='(&(member=CN=accessRW,OU=Domain Security Groups,OU=Groups,OU=IT,OU=Corporate,OU=myOU,DC=myDomain,DC=com))';
    

    Looks like I was going about it backwards...

    评论

报告相同问题?

悬赏问题

  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 github训练的模型参数无法下载
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题