I successfully query our Active Directory for a user with the following code:
$filter = (&(objectCategory=person)(samaccountname=someusername)); $fields = array("samaccountname","mail","manager","department","displayname","objectGUID"); $user = ldap_search($ldapconnection, $baseDn, $filter, $fields);
The resulting array gives this value for the manager attribute:
CN=McBossy\, Boss,OU=Users,OU=CentralOffice,DC=ds,DC=example,DC=com
For me, it looks like a distinguished name. But when I try to request a manager entry,
$filter = (&(objectCategory=person)(dn='CN=McBossy\, Boss,OU=Users,OU=CentralOffice,DC=ds,DC=example,DC=com')); $manager = ldap_search($ldapconnection, $baseDn, $filter, $fields);
request fails with PHP Warning: ldap_search(): Search: Bad search filter error PHP Warning: ldap_search(): Search: Bad search filter
I tried several possibilities, including different quotes, more brackets using distinguishedName , not dn , etc.
What am I doing wrong and how to choose the right manager entry?