active directory - PHP LDAP Get user details of member which is a member of a group -


I am trying to create a PHP script which will return some details of each member who is part of a specific group active Directory.

I have no problem adding and displaying the name of the group members (CN), but when it comes to displaying the details of the telephone, email and username, I get trapped .

Here is my code with which I am trying to see if anyone can see what I am doing?

  & lt ;? Php $ ldap_server = "AD_Server.domain.pri: 389"; $ Auth_user = "user@domain.pri"; $ Auth_pass = "password"; $ Base_dn = "OU = IM Group, OU = Global, DC = Domain, DC = PRI"; $ Filter = "(and (objectCategory = user) (memberOf = IM-ALL_USERS))"; // Connect to server if (! ($ Connect = @ ldap_connect ($ ldap_server))) die ("Could not connect to ldap server"); } // bind to server if (! ($ Bind = ldap_bind ($ connect, $ auth_user, $ auth_pass))) (die ("unable to bind server");} // search Active Directory if (! ( $ Search = ldap_search ($ connect, $ base_dn, $ filter)) die ("unable to find ldap server");} $ number_ refurned = ldap_count_entries ($ connect, $ search); $ info = ldap_get_entries ($ connect, $ Search); resonant "returns the number of entries returned for" $ number_returned "& lt; p & gt; ($ i = 0; $ i & lt; $ info [" count "]; $ i ++ ) {Echo "is the name:" $ info [$ i] ["givenname"] [0] "
" echo "is the display name : "$ Info [$ i] [" mail "] [0]": ". $ Info [$ i] [" DisplayName "] [0]"
"echo" email. ; Br & gt; "echo" is the telephone number: ". $ Info [$ i] [" telephonenumber "] [0]"

".}? & Gt;

Using a great function created by it.

This is the last code that works .

  & lt ;? Php function explosion _DN ($ dn, $ with_attributes = 0) {$ result = ldap_explode_dn ($ dn, $ with_attributes); Foreign Currency ($ $ $ Key => $ value) $ result [$ key] = preg_replace ("/ \\\ ([0- 9A-FA-F] {2}) / E", " ".cr (hexadec ('\\ 1')). ''", $ Value); return result;} function get_members ($ group, $ user, $ password) {$ ldap_host = "LDAPSERVER"; $ Ldap_dn = "OU = some group, OU = some group, DC = company, DC = com"; $ Base_dn = "DC = company, DC = com"; $ Ldap_usr_dom = "@ company.com"; $ Ldap = ldap_connect ($ ldap_host) ); Ldap_set_option ($ ldap, LDAP_OPT_PROTOCOL_VERSION, 3); Ldap_set_option ($ ldap, LDAP_OPT_REFERRALS, 0); Ldap_bind ($ ldap, $ user. $ Ldap_usr_dom, $ password); $ results = ldap_search ($ ldap, $ ldap_dn, "cn = ". $ Gro Up); $ member_list = ldap_get_entries ($ ldap, $ result); $ dirty = 0; $ group_member_details = array (); foreign currency ($ member_list [0] ['member'] as $ member) {if ( $ Dirty == 0) {$ dirty = 1;} and {$ member_dn = explosion_dn ($ member); $ member_cn = str_replace ("cn =", "", $ member_dn [0]); $ member_search = ldap_search ( $ Ldap, $ base_dn, "(cn =". Member $ cn. ")"); $ Member_details = ldap_get_entries ($ ldap, $ member_search); $ Group_member_details [] = Array ($ member_details [0] ['given name'] [0], $ member_details [0] ['sn]' [0], $ member_details [0] ['Telefonumber'] [0], $ member_details [0] ['othertelephone'] [0]); }} Ldap_close ($ ldap); Return $ group_member_details; } // Specify the group to receive members and username and password with the right to query $ result = get_members ("groupname", "username", "password"); // with details from $ group_member_details $ xml = simplexml_load_string ("& lt;? Xml version = '1.0'? & Gt; \ n & lt; address book & gt; & lt; / address book & gt;) Will create an XML file; $ version = $ xml- & gt; Add Chald ('version', '1'); Foreign currency ($ $ $ e) {$ contact = $ xml- & gt; add child ('contact '$ Contact-> gt; Add Chald (' First name ', $ e [0]); $ Contact- & gt; Add Chald (' Last name ', $ e [1]); $ phone = $ contact - & gt; Add Chald ('Phone'); if ($ E [3] == '') {$ phone- & gt; addChild ('Phononumber', '0');} and ($ Phone-> gt; ; H Add Child ('Phone Number', $ E [3]);} $ Phone- & gt; Add Child ('Account Index', '0'); $ Phone = $ Contact- & gt; Add Chald ('Phone') ; If ($ E [2] == '') {$ phone- & gt; Add child ('Phononumber', '0');} and ($ Phone- & gt; Add Child ('Phononumber', $ E [2]);} $ Phone- & gt; Add Chald ('Account Index', '1'); $ Contact-> Add Chald ('Group', '0'); $ Contact-> Add Child ('photo url', 'blank');} $ Xml- & gt; asXML ('phonebook.xml'); ? & Gt;    

Comments