在PHP中,如何进行LDAP查询以查找所有域控制器?

时间:2011-03-23 19:59:03

标签: php active-directory ldap

通过从ldap数组中提取每个成员[n],获取用户组的成员(例如“域管理员”)没有问题。但是,“域控制器”没有每个域控制器的成员[n]条目。

以下显示LDAP数组而不显示任何成员(如果我将'domain controllers'替换为'domain admins',我会看到成员):

$group = "Domain Controllers"; 
$ds = ldap_connect($domain_controller) or die("Couldn't connect to AD!");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$bd = ldap_bind($ds,$account,$account_pw) or die("Couldn't bind to AD!");
$dn="CN=Users,DC=our_domain,DC=com";
$filter="samaccountname=" . $group;
$result=ldap_search($ds, $dn, $filter);
$entries = ldap_get_entries($ds, $result);

echo("<table>");
foreach($entries[0] as $key=>$value){
 foreach ($value as $iKey => $iValue) {
  echo("<tr><td style='white-space:nowrap;'>\$entries[0][" . $key . "][" . $iKey . "]</td><td>" . $iValue . "</td></tr>");
 } 
}
echo("</table>");

1 个答案:

答案 0 :(得分:1)

Domain Controllers OU不在Users OU中(除非您重新组织了AD设置)。您需要修改LDAP查询以使用仅DC=our_domain,DC=com的基本DN。