paumus 10 Geschrieben 24. Mai 2007 Autor Melden Teilen Geschrieben 24. Mai 2007 Nach dem Motto "Besser spät als nie" habe ich jetzt ein HowTo zum Thema geschrieben und auch eine rudimentäre Lösung für die verschachtelten OUs gefunden, zu finden auf serverhowto.de: Windows Server How-To Guides: Das Active Directory mit PHP und LDAP abfragen - ServerHowTo.de Zitieren Link zu diesem Kommentar
Daim 12 Geschrieben 24. Mai 2007 Melden Teilen Geschrieben 24. Mai 2007 Eins sei aber noch der vollständigkeitshalber an dieser Stelle erwähnt. Falls ein Exchange-Server installiert ist, erscheint im Snap-In "Active Directory-Benutzer und -Computer" ein weiterer Reiter mit 15 frei nutzbaren Feldern. Des Weiteren existieren diverse Attribute die "nur" in keiner MMC in Form eines Feldes erscheinen. Solche Attribute wären unter anderem Employee-Number oder Employee-ID (Personalnummer). Diese lassen sich recht einfach über das Kontextmenü des Benutzerobjekts ansprechen. Komplizierter würde es werden, wenn man diese Felder in die bestehenden Verwaltungs-Tools ansprechen/einbauen wollte. Dies wäre zwar möglich, verlangt aber die Programmier-Sprache C++. Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 25. Mai 2007 Melden Teilen Geschrieben 25. Mai 2007 Hallo, das Script ist wirklich klasse. Genau soetwas brauche ich hier. ;) Zwei Fragen noch dazu: 1. Ist es möglich die Abfrage der Benutzer nur auf eine bestimmte OU ohne Sub-OUs zu setzen? Praktisch das, was bei DSQUERY mittels "-scope onelevel" zu erreichen ist? 2. Kann man mittels LDAP-Filter gleich alle Kontakte / Personen etc. ausfiltern, die gar keine Telefonnummer vergeben haben? Sonst müßte man vorher das Array durchlaufen und die leeren Einträge entfernen. Das kostet jedoch Zeit und ist ineffektiv, da ja alle Daten vorher schon aus der AD ausgelesen wurden, obwohl sie unter Umständen danach wieder entfernt werden... Also - danke noch einmal für das Script und Gruß olc Zitieren Link zu diesem Kommentar
paumus 10 Geschrieben 31. Mai 2007 Autor Melden Teilen Geschrieben 31. Mai 2007 Freut mich, dass Dir das Skript was bringt! Zu 1. muss ich mal schauen, ob sich das machen lässt... Ah, ich habs gefunden in der sehr guten Dokumentation auf PHP: LDAP Funktionen - Manual (Jetzt hab ich dank Deiner Frage auch was gelernt ;)) Du musst einfach die Zeile if (!($search=@ldap_search($connect,$base_dn,$filter))) { ... durch if (!($search=@ldap_list($connect,$base_dn,$filter))) { ersetzen. ldap_list führt eine one-level statt einer subtree-Suche durch. Das 2. Problem lässt sich einfach über LDAP-Filter nennen, dazu den Filter im Skript z.B. wie folgt ändern: $filter = "(& (mail=*) (|(objectClass=contact)(objectClass=user)) )"; Dann werden nur noch Benutzer und Kontakte ausgegeben, bei denen eine Mail-Adresse eingetragen ist. Hier ein paar gute Infos zu LDAP-Filtern: SelfADSI : LDAP Filter Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 1. Juni 2007 Melden Teilen Geschrieben 1. Juni 2007 Klasse! Hat (beides) einwandfrei funktioniert. Vielen Dank für Deine Mühe und Deine Antwort. Danke auch für die Links - werde mir die Materie zu Gemüte ziehen. ;) Gruß olc Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.