Hallo zusammen!
In dem unteren Beispielcode verbinde ich mich via ActiveX
und ADODB zu einem LDAP Server und lese alle User einer
Organisationseinheit aus. Nun möchte ich auch alle E-Mail Adressen
zu jedem Benutzer ermitteln, doch genau das bereitet mir
Kopfzerbrechen.
Bei der Spalte $rs['otherMailbox'] handelt es sich nämlich um ein
Array Object, das sich aber nicht einfach durch $rs['otherMailbox'][0]
auslesen lässt. Im Web gibt es ein paar Beispiele wir man das in
ASP (VBScript) macht aber mit PHP ist das nicht ganz so einfach
(glaube ich).
Hat jemand von euch eine Idee?
In dem unteren Beispielcode verbinde ich mich via ActiveX
und ADODB zu einem LDAP Server und lese alle User einer
Organisationseinheit aus. Nun möchte ich auch alle E-Mail Adressen
zu jedem Benutzer ermitteln, doch genau das bereitet mir
Kopfzerbrechen.
Bei der Spalte $rs['otherMailbox'] handelt es sich nämlich um ein
Array Object, das sich aber nicht einfach durch $rs['otherMailbox'][0]
auslesen lässt. Im Web gibt es ein paar Beispiele wir man das in
ASP (VBScript) macht aber mit PHP ist das nicht ganz so einfach
(glaube ich).
Hat jemand von euch eine Idee?
PHP-Code:
<?php
$Conn = New COM("ADODB.Connection");
$rs = New COM("ADODB.Recordset");
$Conn->Provider = "ADsDSOObject";
$Conn->Properties['User ID'] = "username";
$Conn->Properties['Password'] = "secret";
$strConn = "Active Directory Provider";
$Conn->Open($strConn);
$strRS = "Select givenname,sn,displayName,SAMAccountName,mail,otherMailbox
FROM
'LDAP://server/OU=FirmaXY,DC=WebCluster,DC=KS,DC=DCentre'
where objectClass='user'";
$rs->Open($strRS, $Conn, 1, 1);
for ($i=0; $i < $rs->RecordCount; $i++)
{
echo @$rs['otherMailbox']->value ."\n"; // Hier ist das Problem
// Diese Felder können ausgelesen werden
echo "givenname=".$rs['givenname']->value ."\n"."sn=".
$rs['sn']->value ."\n"."displayName=".$rs['displayName']->value
."\n"."mail=". $rs['mail']->value ."\n"."SAMAccountName=".
$rs['SAMAccountName']->value ."\n";
echo "---------------------------------------\n";
$rs->MoveNext();
}
$rs->Close;
$Conn->Close;
exit;
?>
Kommentar