После примера PHP-код будет подключаться к локальному (или удаленному) контроллеру домена Active Directory (сервер LDAP) и возвращать весь объект с указанным OU:
- Количество найденных объектов
- Обычное имя
- Необычное имя
- Описание (если существует)
- Основной адрес электронной почты (если существует)
Помните, что поддержка LDAP по умолчанию не установлена на PHP.
Инструкции по установке см. Здесь.
<?php // -------------- CHANGE VARIABLES TO SUIT YOUR ENVIRONMENT -------------- //LDAP server address $server = "ldap://192.168.1.55"; //domain user to connect to LDAP $user = "user.name@mydomain.local"; //user password $psw = "password"; //FQDN path where search will be performed. OU - organizational unit / DC - domain component $dn = "OU=Accounts,OU=My Company,DC=mydomain,DC=com"; //Search query. CN - common name (CN=* will return all objects) $search = "CN=*"; // ------------------------------------------------------------------------ echo "<h2>php LDAP query test</h2>"; // connecting to LDAP server $ds=ldap_connect($server); $r=ldap_bind($ds, $user , $psw); // performing search $sr=ldap_search($ds, $dn, $search); $data = ldap_get_entries($ds, $sr); echo "Found " . $data["count"] . " entries"; for ($i=0; $i<$data["count"]; $i++) { echo "<h4><strong>Common Name: </strong>" . $data[$i]["cn"][0] . "</h4><br />"; echo "<strong>Distinguished Name: </strong>" . $data[$i]["dn"] . "<br />"; //checking if discription exists if (isset($data[$i]["description"][0])) echo "<strong>Desription: </strong>" . $data[$i]["description"][0] . "<br />"; else echo "<strong>Description not set</strong><br />"; //checking if email exists if (isset($data[$i]["mail"][0])) echo "<strong>Email: </strong>" . $data[$i]["mail"][0] . "<br /><hr />"; else echo "<strong>Email not set</strong><br /><hr />"; } // close connection ldap_close($ds); ?>