LINUX.ORG.RU
/usr/local/bin/ldapsearch -x -h 10.10.10.10 -b "DC=dom,DC=domen,dc=ru" -D "user@dom.domen.ru" -w password_usera

и используй, если надо.

/usr/local/bin/base64 -d | /usr/local/bin/iconv -f UTF-8 -t KOI8-R

stamp
()

На PHP:

<?php
$ldap_password = 'пароль';
$ldap_username = 'имя@домен';
$ldap_connection = ldap_connect('IP контроллера домена');

// Вот это параметры для поиска по Active Directory, просто в LDAP может быть по другому.
ldap_set_option($ldap_connection, LDAP_OPT_PROTOCOL_VERSION, 3) or die('Unable to set LDAP protocol version');
ldap_set_option($ldap_connection, LDAP_OPT_REFERRALS, 0); // We need this for doing an LDAP search.

if (TRUE === ldap_bind($ldap_connection, $ldap_username, $ldap_password)) {

  $ldap_base_dn = "OU=организашион_юнит,DC=имя,DC=имя";
  $search_filter = '(&(objectCategory=person)';
  $attributes = array();
  $attributes[] = 'givenname';
  $attributes[] = 'mail';
  $attributes[] = 'samaccountname';
  $attributes[] = 'sn';
  $attributes[] = 'telephoneNumber' ;
  $attributes[] = 'description' ;
  $attributes[] = 'title' ;
  $attributes[] = 'department' ;
  $attributes[] = 'physicalDeliveryOfficeName' ;
  $attributes[] = 'displayName' ;
  $attributes[] = 'userAccountControl' ;
  $attributes[] = 'ou' ;
  $result = ldap_search($ldap_connection, $ldap_base_dn, $search_filter, $attributes);
// Если нужно сортируем
  ldap_sort($ldap_connection, $result, 'displayName');
  $entries = ldap_get_entries($ldap_connection, $result);

  for ($x=0; $x<$entries['count']; $x++) {

    $mail = array_key_exists('mail', $entries[$x]) ? trim($entries[$x]['mail'][0]) : '' ;

    $name = array_key_exists('givenname', $entries[$x]) ? trim($entries[$x]['givenname'][0]) : '' ;
    $fam = array_key_exists('sn', $entries[$x]) ? trim($entries[$x]['sn'][0]) : '' ;

    $phone = array_key_exists('telephonenumber', $entries[$x]) ? trim($entries[$x]['telephonenumber'][0]) : '' ;
    $title = array_key_exists('title', $entries[$x]) ? trim($entries[$x]['title'][0]) : '' ;

    $desc = array_key_exists('description', $entries[$x]) ? trim($entries[$x]['description'][0]) : '' ;

    $otd = array_key_exists('department', $entries[$x]) ? trim($entries[$x]['department'][0]) : '' ;
    $office = array_key_exists('physicaldeliveryofficename', $entries[$x]) ? trim($entries[$x]['physicaldeliveryofficename'][0]) : '' ;
    $full_name = array_key_exists('displayname', $entries[$x]) ? trim($entries[$x]['displayname'][0]) : '' ;

    $dn = array_key_exists('dn', $entries[$x]) ? trim($entries[$x]['dn']) : '' ;

//Выводим то, что нужно
  echo "";
  }
?>

Сырые полученные данные из LDAP смотрите посредством, в данном случае:

var_dump($entries);

Вообще, это выдержка из PHP скрипта поиска по Active Directory.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.