Получение каждого атрибута Active Directory с помощью PHP

В PHP я создаю функцию, которая добавляет пользователя в наш Active Directory. Я хочу сравнить уже те записи, которые у нас есть в Active Directory, поэтому я могу выяснить, какую информацию мне нужно включить в функцию addUser.

Я пробовал:

$results = ldap_search($ad, $adDN, $filter, $attr);
$entries = ldap_get_entries($ad, $results);
print_r($entries);

$filter - это имя пользователя, а $attr пусто, но оно возвращает только DN пользователя (Distinguished Name) и что оно. Если я начну добавлять вещи к $attr, они вернут эти вещи.

Как я могу просто вернуть каждый атрибут?

2 ответа

Я понял, как вернуть каждый атрибут:

$attr = array('*');


В следующей строке:

$results = ldap_search($ad, $adDN, $filter);

Оставьте поле атрибутов пустым.

Это не будет указывать какие-либо атрибуты для pull, что означает, что LDAP будет тянуть каждый атрибут.

Из руководства ldap_search();

атрибуты

Массив требуемых атрибутов, например. array ( "mail", "sn", "cn" ). Обратите внимание, что "dn" всегда возвращается независимо от которые запрашивают типы атрибутов.

Использование этого параметра намного эффективнее, чем действие по умолчанию (который должен возвращать все атрибуты и связанные с ними значения). поэтому использование этого параметра следует считать хорошей практикой.

licensed under cc by-sa 3.0 with attribution.