Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 7685 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 ..
Ähnliche Inhalte
Windows Server
gelöst Account-Sperrungen eines AD-Users auslesen (2)

Frage von MissJones zum Thema Windows Server ...

Windows 7
Computer OU auslesen bzw. abfragen (2)

Frage von mexx991 zum Thema Windows 7 ...

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

Frage von conym18 zum Thema Windows Server ...

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

Frage von Akrosh zum Thema PHP ...

Neue Wissensbeiträge
Humor (lol)

Taschenrechner in IOS kaputt!

(5)

Information von Lochkartenstanzer zum Thema Humor (lol) ...

Sicherheit

Kanadischer Geheimdienst veröffentlicht erstmals Sicherheitssoftware

(3)

Information von BassFishFox zum Thema Sicherheit ...

Virtualisierung

Docker Monitoring und Steuerung per "sen"

Tipp von Frank zum Thema Virtualisierung ...

Heiß diskutierte Inhalte
Windows 7
Abbruch bei Brennvorgang (19)

Frage von Simulant zum Thema Windows 7 ...

Router & Routing
Externe IP von innen erreichbar machen (16)

Frage von Windows10Gegner zum Thema Router & Routing ...

Firewall
WIndows 7 RDP Massen Angriff (14)

Frage von Motte990 zum Thema Firewall ...