首页 > 代码库 > PHP 通过LDAP协议,操作Windows Active Directory

PHP 通过LDAP协议,操作Windows Active Directory

一、学习如何管理Active Directory

       Active Directory 循序渐进系列指南

 

二、ADExplorer

     到网上下载一个ADExplorer,它是Active Directory浏览器,可以让我们更加清楚认识Active Directory的数据存储方式及格式。

三、域外访问Active Directory

     确保将域外计算机的 DNS 分析 程序配置 为与 Active Directory 运用 相同的 DNS 名称服务器;在大多数情况下,假定您要运用 Active Directory 集成的 DNS,则我们把此域外计算机的DNS设置为此Active Directory服务器IP地址。

      详细内容请参照《 运用 Active Directory 执行 Linux 客户端身份验证 》

 

四、php 代码

      为了使用方便,我使用 adLDAP 来进行编程,这样可以简便很多。

<?php
require_once(dirname(__FILE__) . ‘/adLDAP.php‘);
 
$options=array();
try {
    $options[‘account_suffix‘]="@mydomain.com";
    $options[‘base_dn‘]="OU=Accounts,DC=mydomain,DC=com";//
    $options[‘domain_controllers‘]=array("mydomain.com");
    $options[‘ad_username‘]="administrator";
    $options[‘ad_password‘]="123456";
    $ldap = new adLDAP($options);
}
catch (adLDAPException $e) {
    echo $e; exit();   
}
//var_dump($ldap);
 
echo ("<pre>\n");
$result=$ldap->authenticate("qiujiayu","qiujiayu");
var_dump($result);
echo("----------------------------------------------------");
$result=$ldap->folder_list(array(‘Marketing‘), ADLDAP_FOLDER, true,‘contact‘);
var_dump ($result); 
echo("----------------------------------------------------");
 
$result=$ldap->all_users();
var_dump ($result); 
echo("----------------------------------------------------");
 
$result=$ldap->all_contacts();
var_dump ($result); 
echo(json_encode( ($ldap->contact_info($result[0],array(‘telephonenumber‘)))));
echo("----------------------------------------------------");
?>