Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Active Directory Forum


Alles zum Thema Active Directory — Q & A zu Active Directory Architektur, Konfiguration, Troubleshooting


Antwort
     
Themen-Optionen
Alt 19.01.2009, 10:13   #1
Board Veteran
 
Offline
Registriert seit: 08-2007
Beiträge: 1.084
Ärgerlich PHP/AD und ldap

Hallo Leute

Ich versuche mit diesem Script User aus einer Gruppe im AD herauszulesen, irgendwie funktioniert das aber nicht:

// BaseDN festlegen:
//$base_dn = $base_dn = 'OU=Firma,DC=domäne,DC=loc';
$base_dn = $base_dn = 'OU=_User,OU=Groups,DC=domäne,DC=loc';

// LDAP filter setzen: Nur Kontakt- und Benutzer-Objekte sollen zurückgegeben werden
$filter = '(|(objectClass=user))'; //(objectClass=contact)

Irgendwie klappt das aber nicht, wenn ich aber den Pfad benutze
OU=Firma, DC=domäne,DC=loc
dann geht es, das problem dann ist einfach, dass ich alle objekte bekomme auch computer u.s.w. ich möchte aber nur die user haben die eben in der OU=_User sind.

Vielen Dank für eure Hilfe...

Signatur
Dumm ist der, der nicht fragt, nicht der, der es tut

    Mit Zitat antworten
Alt 19.01.2009, 13:13   #2
Junior Member
 
Benutzerbild von frommi
 
Offline
Registriert seit: 05-2004
Ort: an der Grenze zur Schweiz
Beiträge: 80
Zitat von edocom Beitrag anzeigen
Hallo Leute
// LDAP filter setzen: Nur Kontakt- und Benutzer-Objekte sollen zurückgegeben werden
$filter = '(|(objectClass=user))'; //(objectClass=contact)
Nimm mal
(&(objectCategory=person)(objectClass=user))
- Computer sind auch von der objectClass "user" - mit der Einschränkung "person" bekommst du nur die Bentzerobjekte.

Cheers,

Florian
    Mit Zitat antworten
Alt 19.01.2009, 15:35   #3
Board Veteran
 
Offline
Registriert seit: 08-2007
Beiträge: 1.084
hey super du hattest recht, nun habe ich aber noch immer ein kleines problämchen

und zwar möchte ich jetzt noch user filtern die nur in einer bestimmten Gruppe im AD vorhanden sind. Weil jetzt werden mir auch user angezeigt die z.B. nur Ressourcen sind, die aber als User angelegt wurden.

Nun ich habe eine OU die FirmenUser heist, und dort sind die User enthalten die ich nur gerne hätte...! wie kann ich das auch noch filtern?

Und weist du auch, wo ich die Bezeichnung der einzelnen Felder im AD finde, so wie du das mit dem objektClass=user geschrieben hast...


VIELEN DANK....

Signatur
Dumm ist der, der nicht fragt, nicht der, der es tut

    Mit Zitat antworten
Alt 19.01.2009, 17:05   #4
Junior Member
 
Benutzerbild von frommi
 
Offline
Registriert seit: 05-2004
Ort: an der Grenze zur Schweiz
Beiträge: 80
Howdie!

Zitat von edocom Beitrag anzeigen
und zwar möchte ich jetzt noch user filtern die nur in einer bestimmten Gruppe im AD vorhanden sind. Weil jetzt werden mir auch user angezeigt die z.B. nur Ressourcen sind, die aber als User angelegt wurden.

Nun ich habe eine OU die FirmenUser heist, und dort sind die User enthalten die ich nur gerne hätte...! wie kann ich das auch noch filtern?
Indem du die Base-DN entsprechend änderst. Du kannst das nicht im Filter abfangen.

Und weist du auch, wo ich die Bezeichnung der einzelnen Felder im AD finde, so wie du das mit dem objektClass=user geschrieben hast...
Ein Tipp: Lade dir die SupportTools herunter - da sind ADSIEdit (nach Installation 'adsiedit.msc' aufrufen) und ldp enthalten. Mit denen kannst du Active Directory auf LDAP-Ebene browsen und dir Objekte und deren Attribute etwas genauer ansehen.

cheers,

Florian
    Mit Zitat antworten
Alt 20.01.2009, 09:08   #5
Board Veteran
 
Offline
Registriert seit: 08-2007
Beiträge: 1.084
hallo, wenn ich die dn gleich auf die richtige OU leite bekomme ich fehlermeldungen und er kann den inhalt den er mit ldap holen geht, nicht mehr anzeigen...

for ($i=0; $i<$anzahl; $i++)
{
$ergebnis[$i]['objectclass'] = $info[$i]['objectclass'][3];
$ergebnis[$i]['displayname'] = utf8_decode($info[$i]['displayname'][0]);
$ergebnis[$i]['givenname'] = utf8_decode($info[$i]['givenname'][0]);
$ergebnis[$i]['sn'] = utf8_decode($info[$i]['sn'][0]);
$ergebnis[$i]['mail'] = $info[$i]['mail'][0];
$ergebnis[$i]['telephonenumber']= $info[$i]['telephonenumber'][0];
}

// Array alphabetisch sortieren, usort erwartet dazu eine Vergleichsfunktion:
usort($ergebnis, 'vergleich');

hier gibt es fehler USORT funktioniert dann nicht mehr...!

Signatur
Dumm ist der, der nicht fragt, nicht der, der es tut

    Mit Zitat antworten
Alt 20.01.2009, 09:12   #6
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.370
Moin,

und, sind die Fehlermeldungen geheim?
Wie lautet denn der DN, den du zur Suche angibst?

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 20.01.2009, 10:31   #7
Board Veteran
 
Offline
Registriert seit: 08-2007
Beiträge: 1.084
ne ist nicht geheim

Warning: usort() [function.usort]: The argument should be an array in C:\xampp\htdocs\telebook.php on line 136

und der dn wäre genau die gruppe wo ich alle meine user drin habe, die ich auch gern angezeigt hätte...

CN=_User,OU=Groups,DC=domäne,DC=loc;

Signatur
Dumm ist der, der nicht fragt, nicht der, der es tut

    Mit Zitat antworten
Alt 20.01.2009, 10:47   #8
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.370
Moin,

der Fehler deutet darauf hin, dass die Daten nicht richtig an die Funktion übergeben werden. Sie erwartet ein Array, bekommt aber keins. Wenn es mit einem anderen Base-DN funktioniert, deutet das darauf hin, dass der hier verwendete DN nicht richtig ist und daher gar keine Daten zurückkommen. (Sollte deine Angabe im Posting richtig sein, ist das Semikolon am Ende falsch - das gehört nicht zum DN.)

Ach halt, jetzt sehe ich es erst richtig: Dein DN gibt keine OU an, sondern ein Objekt. Also anscheinend eine Gruppe. Eine Gruppe kannst du aber nicht auslesen wie eine OU, denn sie hat keine Unterobjekte. Die Mitglieder einer Gruppe stehen (als DNs) in deren Attribut "member".

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 20.01.2009, 13:19   #9
Board Veteran
 
Offline
Registriert seit: 08-2007
Beiträge: 1.084
hallo

und wie mache ich einen filter in dem ich nur sagen kann, zeige mir nur die user die mitglied in dieser gruppe sind?

danke...
bin neu auf php

Signatur
Dumm ist der, der nicht fragt, nicht der, der es tut

    Mit Zitat antworten
Alt 20.01.2009, 13:55   #10
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.370
Moin,

Zitat von edocom Beitrag anzeigen
und wie mache ich einen filter in dem ich nur sagen kann, zeige mir nur die user die mitglied in dieser gruppe sind?
du willst den Inhalt des Feldes "member" einer bestimmten Gruppe ausgeben. Der LDAP-Filter dazu könnte so aussehen:

Code:
<LDAP://CN=Gruppe,OU=Ordner,dc=dom,dc=tld>;(objectCategory=group);member;Base
Das wird dann aber natürlich nicht mit deinen vorhandenen PHP-Funktionen klappen, weil die ja von was anderem ausgehen.

bin neu auf php
Dann hast du dir vielleicht ein etwas arg komplexes Beispiel zum Einstieg ausgesucht. Und du solltest dir vielleicht noch mal ein paar LDAP-Grundlagen aneignen. Dazu könnte sich dies als Einstieg eignen:
faq-o-matic.net LDAP-Grundlagen fr Active Directory

Und für deine Gesamtaufgabe könnte dies hier interessant sein, wenn auch nicht in PHP:
http://www.faq-o-matic.net/2008/07/0...aten-ausgeben/

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Php/ldap/ads edocom Active Directory Forum 2 26.09.2007 13:10
Ldap ShadowByte Active Directory Forum 1 26.07.2007 17:58
IAS und ldap lextor Active Directory Forum 1 17.09.2005 08:39
Ldap CoolAce Active Directory Forum 0 14.06.2005 11:36
LDAP und X.500? Hansi Active Directory Forum 3 08.06.2004 13:18


Alle Zeitangaben in MEZ/CET. Es ist jetzt 05:06 Uhr. Seite generiert in 0,041 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang