【发布时间】:2011-03-16 14:56:46
【问题描述】:
我正在尝试创建一个 PHP 脚本,该脚本将返回我们 Active Directory 中特定组的每个成员的一些详细信息。
我在连接和显示组成员的姓名 (CN) 时没有问题,但是在显示电话、电子邮件和用户名等详细信息时我就卡住了。
这是我正在尝试的代码。谁能看到我做错了什么?
<?php
$ldap_server = "AD_Server.domain.pri:389";
$auth_user = "user@domain.pri";
$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 (!($connect=@ldap_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数组以查看其中的所有内容? -
$info 数组只包含“Array ([count] => 0)”,所以看起来脚本对过滤器不满意。
标签: php active-directory ldap