http://phpforum.ru/index.php?showtopic=77445
Имеется срипт подключения к Active Directory.
<?php
$ldapServer = '****';
$ldapUserToAuth = '***@***.local'; // Любая активная учётка в домене
$ldapUserPasswd = '***';
$ldapBase = 'dc=***, dc=local'; // Откуда начинать поиск (тут во всём домене)
$ldapFilter1 = '(&(objectclass=user)(objectcategory=Person)(employeeid=123456))';
$justthese1 = array('sn', 'employeeid','extensionattribute1'); // имена полей, которые необходимо вытащить
$ldapFilter2= '(&(objectCategory=computer)(name='extensionattribute1'))';
$justthese2 = array('name', 'description'); // имена полей, которые необходимо вытащить
// Connecting to LDAP
$ldapconn = ldap_connect($ldapServer)
or die("Could not connect to $ldapServer");
// Пара опций - параметры чего -то-там
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
ldap_set_option($ldapconn, LDAP_PORT, 3268);
// Авторизация
$ldapbind = ldap_bind($ldapconn, $ldapUserToAuth, $ldapUserPasswd);
$sr1=ldap_search($ldapconn, $ldapBase, $ldapFilter1, $justthese1);
$sr2=ldap_search($ldapconn, $ldapBase, $ldapFilter2, $justthese2);
$info1 = ldap_get_entries($ldapconn, $sr1);
$info2 = ldap_get_entries($ldapconn, $sr2);
for ($i=0, $c1=$info1['count']; $i<$c1; $i++)
echo $info1[$i]['sn'][0] . ' ----> ' .$info1[$i]['employeeid'][0] . ' -----> ' .$info1[$i]['extensionattribute1'][0];
for ($i=0, $c2=$info2['count']; $j<$c2; $j++)
echo $info2[$j]['description'][0];
?>
Каким образом можно задать 2 фильтр по значению атрибута 'extensionattribute1'?
$ldapFilter2= '(&(objectCategory=computer)(name='extensionattribute1'))'; - таким образом не работает