我正在尝试连接到域的根目录以运行LDAP查询但由于某种原因,当我从DN中删除OU时它会一直失败
$ldapConnect=ldap_connect("some.domain.com");
if ($ldapConnect)
{
$ldapBind=ldap_bind($ldapConnect, "aUserName", "aPassword");
$sr=ldap_search($ldapConnect, "DC=some,DC=domain,DC=com", "(&(objectCategory=computer (|(operatingSystem=Windows Server*)(operatingSystem=Windows 2000 Server)))");
}
上述代码失败。如果我将绑定更改为以下,它将完美地工作:
$sr=ldap_search($ldapConnect, "OU=anOrgUnit,DC=some,DC=domain,DC=com", "(&(objectCategory=computer (|(operatingSystem=Windows Server*)(operatingSystem=Windows 2000 Server)))");
任何人都对这里发生的事情有任何见解? ldap_error()只返回“操作错误”
答案 0 :(得分:0)
尝试在执行搜索之前设置LDAP选项,如:
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
尝试从域根目录搜索时,您需要在Windows域> = 2003上设置LDAP_OPT_REFERRALS。