我正在尝试创建一个PHP脚本,它将返回属于Active Directory中特定组的一部分的每个成员的一些详细信息。PHP LDAP获取作为组成员的成员的用户详细信息
我没有任何问题连接并显示组成员的姓名(CN),但是当涉及显示诸如电话,电子邮件和用户名等详细信息时,我被卡住了。
这是我正在尝试的代码。任何人都可以看到我做错了什么?
<?php
$ldap_server = "AD_Server.domain.pri:389";
$auth_user = "[email protected]";
$auth_pass = "password";
$base_dn = "OU=IM Groups,OU=GLOBAL,DC=domain,DC=pri";
$filter = "(&(objectCategory=user)(memberOf=IM-ALL_USERS))";
// connect to server
if (!([email protected]_connect($ldap_server))) {
die("Could not connect to ldap server");
}
// bind to server
if (!($bind = ldap_bind($connect, $auth_user, $auth_pass))) {
die("Unable to bind to server");
}
// search active directory
if (!($search = ldap_search($connect, $base_dn, $filter))) {
die("Unable to search ldap server");
}
$number_returned = ldap_count_entries($connect,$search);
$info = ldap_get_entries($connect, $search);
echo "The number of entries returned is ". $number_returned."<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "Name is: ". $info[$i]["givenname"][0]."<br>";
echo "Display name is: ". $info[$i]["displayname"][0]."<br>";
echo "Email is: ". $info[$i]["mail"][0]."<br>";
echo "Telephone number is: ". $info[$i]["telephonenumber"][0]."<p>";
}
?>
你试过用print_r/vardump倾出'$ info'数组来看看里面有什么吗? – 2011-03-16 15:05:35
$ info数组只包含“Array([count] => 0)”,因此它看起来像脚本对筛选器不满意。 – Brigante 2011-03-16 15:09:38