Intereting Posts

LDAP Filter – Найти всех пользователей определенного подразделения

У меня возникают проблемы с LDAP Search Filter . То, что мне нужно получить, – это все пользователи определенной группы LDAP которая является OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local

Мой поиск:

 (&(objectCategory=user)(OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local)) 

В настоящее время он не возвращает никаких результатов. Что мне не хватает?

Вы должны сделать две вещи

  1. Установите базу поиска OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local
  2. Найдите объекты с objectClass .

Используя PHP, поиск будет выглядеть так (на основе этого примера PHP ):

 <?php //You must bind, first // using ldap bind $ldaprdn = 'yourdomain\nic_hubbard'; // ldap rdn or dn $ldappass = 'password'; // associated password // connect to ldap server $ldapconn = ldap_connect("yourad.test.local") or die("Could not connect to LDAP server."); if ($ldapconn) { // binding to ldap server $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); $dn = "OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local"; $filter="(objectClass=user)"; $justthese = array("cn", "sn", "givenname", "mail"); $sr=ldap_search($ldapconn, $dn, $filter, $justthese); $info = ldap_get_entries($ldapconn, $sr); echo $info["count"]." entries returned\n"; } ?> 

Вы можете проверить в командной строке это (точные параметры различаются, это работает с последними клиентскими инструментами openldap):

 ldapsearch -H ldap://yourad.test.local -x -D "yourdomain\nic_hubbard" -W -b "OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local" -s sub "(objectClass=user)"