sironbla 10 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Hallo, wir haben, durch viele niederlassungen usw., eine ziemlich verzwickte OU-Struktur. Und nun bin ich grad an einem php Projekt dran, wo die Benutzer nach OUs abgefragt werden.. Der Übersichtlichkeit wegen, wäre es nun von vorteil eine zweite (unabhängig von der Hauptstruktur) OU-Struktur aufzubauen. Die soll durch verschiedene OUs die genauen Abteilungen, Standorte und Funktionen abbilden. Da ich aber die bestehende Struktur in keinster Weise anfassen will, würd ich gern alle User in die neuen OUs kopieren. Allerdings sollen die OUs und die Benutzer darin, nur für die php Seite sein. Ein Beispiel zur besseren Verständlichkeit: User A ist in: OU=Unterabteilung_XYZ,OU=Abteilung_XYZ,OU=Firma_XYZ,DC=blub,DC=de und nun möchte ich User A zusätzlich in: OU=Funktion_XYZ,OU=Abteilung_XYZ,OU=Standort_XYZ,DC=blub,DC=de ich hab nich so den genauen Plan von AD, da sich darum bei uns ein Kollege kümmert, allerdings ist er grade im Urlaub. Nach meiner Vorstellung bräuchte ich eine "Verknüpfung" von User A in der zweiten OU-Struktur. Durch die Verknüpfung hätte ich den Vorteil das die Userdaten immer aktuell gehalten werden. Also wenn jemand da nen Lösungsansatz für mich hätte wäre das prima :) danke schonmal für die hilfe Zitieren Link zu diesem Kommentar
NilsK 2.930 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Moin, das Vorhaben führt in die Irre. Technisch ist es nicht möglich, und organisatorisch ist es nicht sinnvoll. Die OU-Struktur ist nicht zur Abbildung des Organigramms da, sondern zur Unterstützung der AD-nahen Netzwerkadministration. Was du vorhast, lässt sich besser durch die in den Userobjekten vorgesehenen Felder für Vorgesetzte und Mitarbeiter abbilden. Gruß, Nils Zitieren Link zu diesem Kommentar
sironbla 10 Geschrieben 12. August 2010 Autor Melden Teilen Geschrieben 12. August 2010 Danke für deine Antwort.. Aber leider kann ich das mit den Feldern auch nich ganz einfach lösen.. Weil z.B. ein User der zur Abteilung ABC gehört, in einer anderen OU ist, als seine Kollegen. Da ich mit PHP die einzelnen OUs abfrage, finde ich diesen User ja dann nicht. Dann müsste ich mein PHP Skript die ganze Domäne durchsuchen lassen und dann alles auflisten... So nehmen wir mal an, in der Domäne ist auch eine OU mit z.b. externen Mitarbeitern, diese sollen auf meiner PHP Seite gar nicht auftauchen, da ich aber die ganze Domäne abfrage, listet er mir ja alle User auf. Dann müsst ich das per Hand ändern bzw die User in der Seite löschen und das wäre ziemlich großer Aufwand. Zitieren Link zu diesem Kommentar
NilsK 2.930 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Moin, warum musst du OUs abfragen, um User zu finden? Stell eine LDAP-Anfrage oder arbeite mit ADSI, dazu brauchst du den Speicherpfad nicht zu wissen. Wenn du die Hierarchie über die dafür vorgesehenen Felder in den Userobjekten pflegst, kannst du dich anhand der dort abgelegten Werte von oben nach unten (oder umgekrht) dort durchhangeln. Die OU-Struktur brauchst du dafür nicht. Gruß, Nils Zitieren Link zu diesem Kommentar
sironbla 10 Geschrieben 13. August 2010 Autor Melden Teilen Geschrieben 13. August 2010 ok und nochmal danke :) ich hab meine php seite jetzt so halbwegs in die richtung gebracht und es scheint auch langsam in die richtige richtung zu gehen.. jetz hab ich nur noch das Problem, das er mir die Unterdomänen nicht mit ausliest.. wenn ich die Unterdomäne im basedn festlege, $base_dn = "DC=sub,DC=domain,DC=de"; dann bringt er mir keine fehler, aber zeigt auch keine user an.. wenn ich das "DC=sub" weglasse dann zeigt er mir nur die user der domain.de an, aber nicht die unter sub.domain.de liegen... jemand ne idee ? hier noch n bissle mehr von meinem code: if (!($connect=@ldap_connect($ldap_server))) { die("Keine Verbindung zum Verzeichnis-Server möglich."); } ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($connect, LDAP_OPT_REFERRALS, 0); if (!($bind=@ldap_bind($connect, $auth_user, $auth_pass))) { die("Bind fehlgeschlagen."); } $base_dn = "DC=sub,DC=main,DC=de"; $filter = "(|(objectClass=user))"; if (!($search=@ldap_search($connect,$base_dn,$filter))) { die("Durchsuchen des LDAP-Servers fehlgeschlagen."); } $info = ldap_get_entries($connect, $search); Zitieren Link zu diesem Kommentar
NilsK 2.930 Geschrieben 13. August 2010 Melden Teilen Geschrieben 13. August 2010 Moin, ausliest.. wenn ich die Unterdomäne im basedn festlege, $base_dn = "DC=sub,DC=domain,DC=de"; dann bringt er mir keine fehler, aber zeigt auch keine user an.. wahrscheinlich hat das Konto keine Leserechte auf die Objekte. Dann gibt LDAP auch keine zurück. Gruß, Nils Zitieren Link zu diesem Kommentar
sironbla 10 Geschrieben 13. August 2010 Autor Melden Teilen Geschrieben 13. August 2010 ok ich habs jetzt.. irgendwie komisch aber naja.. also der user hat die entsprechenden rechte ich hab jetzt den domänen controller für die entsprechende unterdomäne genommen und dann läuft es ohne probleme.. aber damit steh ich schon wieder vor der nächsten schwierigkeit, denn nun hab ich in der abfrage nur die user aus der unterdomäne, aber er soll mir auch user von der hauptdomäne anzeigen.. mal guggn ob ich da irgendwie mehrere abfragen reinkriege.. Zitieren Link zu diesem Kommentar
NilsK 2.930 Geschrieben 13. August 2010 Melden Teilen Geschrieben 13. August 2010 Moin, dann frage den Global Catalog ab. Gruß, Nils 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.