Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mit PHP die OU eines Users im AD auslesen

Frage Entwicklung PHP

Mitglied: andste72

andste72 (Level 1) - Jetzt verbinden

23.11.2009, aktualisiert 02.12.2009, 7404 Aufrufe, 6 Kommentare

Probleme mit LDAP und PHP.

Hallo, ich muss über PHP die OU eines Users per LDAP auslesen können.
Es funktioniert eigentlich alles, die Windows-Authentifiziereung und das auslesen der Benutzerdaten.

Mein Problem ist jetzt, dass ich die OU nicht auslesen kann, bzw. ich nicht weiss, wie ich es abfragen kann.

Kann mir da jemand Hilfestellung geben was ich abfragen muss?

Danke
Andreas
Mitglied: dog
23.11.2009 um 20:46 Uhr
öhm....
01.
(&(objectCategory=person)(objectClass=user)(sAMAccountName=$username))
Jeder LDAP Entry, der mit PHP abgefragt wird enthält auch automatisch die DN.
Bitte warten ..
Mitglied: andste72
24.11.2009 um 12:36 Uhr
In meiner PHP-Datei sieht es in etwa so aus:
01.
$benutzer = 'benutzename'; 
02.
 
03.
if($bind = @ldap_bind($connect, "user@domäne.com", "passwort")) 
04.
                 $search = @ldap_search($connect, $ldap_base, "(samaccountname=$benutzer)"); 
05.
                 $anzahl = @ldap_count_entries($connect,$search); 
06.
                 $info = @ldap_get_entries($connect,$search); 
07.
                 $datum  = strtotime("NOW"); 
08.
                 $nicht = 0; 
09.
                 for($i=0; $i<$anzahl; $i++){ 
10.
                         $vorn = $info[$i]["givenname"][0]; 
11.
                         $nnam = $info[$i]["sn"][0]; 
12.
                         $logi = $info[$i]["samaccountname"][0]; 
13.
                         $mail = $info[$i]["mail"][0]; 
14.
                         $tele = $info[$i]["telephonenumber"][0]; 
15.
                         $stan = $info[$i]["physicaldeliveryofficename"][0]; 
16.
                         $deak = $info[$i]["useraccountcontrol"][0]; 
17.
                 ......
Wie muss ich den die OU abfragen?
Bitte warten ..
Mitglied: dog
24.11.2009 um 14:57 Uhr
Die OU ist kein eigenes Attribut!
Die OU eines Benutzers ist der DN minus den ersten Teil.

Benutzer Horst hat z.B. den DN:
01.
cn=Horst,ou=buchhaltung,dc=domain,dc=local
Wenn du jetzt den CN und den DC-Teil rausstreichst erhälst du die OU (Buchhaltung)

Siehe: http://www.php.net/manual/en/function.ldap-explode-dn.php
Bitte warten ..
Mitglied: andste72
25.11.2009 um 12:50 Uhr
Das ist mir soweit schon klar, ich beschreibe vielleciht mal kurz das problem:

unsere AD-Struktur sieht etwa so aus

Domäne (DC)
--- Standorte (OU)
--------StandortA (OU)
------------Benutzer (OU)
-----------------Sonstige(OU)
--------StandortB (OU)
.....

Ich muss im Intranet die Möglichkeit geben, das Windows Passwort für einen User ändern zu können, ohne dass er sich selbst am Rechner anmelden muss.
Das funktioniert soweit ja auch. Den entsprechenden Standort kann ich aus den Attributen auslesen. Mein Problem ist, das der eine User unter

"CN=USER,OU=Benutzer,OU=StandortA,....

liegt und der nächste unter

"CN=USER,OU=Sonstige,OU=Benutzer,OU=StandortA,....

Da der DN aber komplett hinterlegt werden muss, würde ich den Pfad gerne in eine Variable schreiben, damit ich mit dieser weiterarbeiten kann.

Ich hoffe es wird jetzt ein bischen verständlicher
Bitte warten ..
Mitglied: dog
25.11.2009 um 12:59 Uhr
Du musst erst über den sAMAccountName den Benutzer suchen und dann die DN, die du so als Ergebnis bekommst als Base DN benutzen, dann kannst du ldap_read verwenden.
Bitte warten ..
Mitglied: andste72
25.11.2009 um 17:13 Uhr
Ich Stand irgendwie auf dem Schlauch!

Habe in der for-Schleife noch folgendes eingetragen:

01.
$base = $info[$i]["dn"];
und schon hat es funktionert. Ich habe es vorher immer mit der [0] versucht, das ging aber nicht.

Danke für die Hilfe.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
JavaScript
gelöst Dropdownfeld auslesen und mit AJAX und JS an PHP senden (7)

Frage von ITFlori zum Thema JavaScript ...

Windows Server
AD Bestimmten Benutzer (Hilfsadmin) nur Zugriff auf eine OU geben (1)

Frage von conym18 zum Thema Windows Server ...

PHP
gelöst HTML Dropdownmenü auslesen und in PHP als Variable übergeben (35)

Frage von ITFlori zum Thema PHP ...

PHP
gelöst Externe XML-Datei in PHP auslesen (18)

Frage von Akrosh zum Thema PHP ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...