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

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮