Padde85 Geschrieben 29. Oktober 2007 Geschrieben 29. Oktober 2007 Morsche erstemal Ich hab ein Perl-Script zum Auslesen einer LDAP-Struktur beliebiger Tiefe geschrieben. Nun geht der bei mir aber nur den ersten Ast des baumes ab und hört dann auf. Der Baum hat aber 8 Äste, die eigentlich abgeklappert werden müssten. Hier das Script: #!/usr/bin/perl use Net::LDAP; $ldap = Net::LDAP->new( "xxx.xxx.xxx.xxx" ); $mesg = $ldap->bind; search_and_fill(); sub search_and_fill { my $neu = shift; if( $neu eq 'undef' || $neu eq '') { $mesg = $ldap->search( base => 'o=firma', scope => 'one', filter => "objectclass=organizationalUnit" && "objectclass=top", attrs => ['1.1']); } else { $mesg = $ldap->search( base => $neu, scope => 'one', filter => "objectclass=organizationalUnit" && "objectclass=top", attrs => ['1.1']); } @entries = $mesg->entries; foreach $entr ( @entries ) { $dn = $entr->dn; if($dn =~ m/\bou=\b/i) { print "$dn\n"; if( $dn eq 'undef' || $dn eq '') { return; } else { push( @baum, $dn); return search_and_fill($dn); } } } }; $ldap->unbind(); Und hier das Ergebnis des Servers: OU=erste OU,O=Firma OU=erste UnterOU,OU=erste OU,O=Firma Das ist also nur der erste Ast, genaue Bezeichnungen habe ich aus Datenschutzgründen rausgenommen. Wäre froh, wenn mir da jemand weiterhelfen könnte, da ich keine Ahnung habe wo der Fehler liegt Zitieren
dr.disk Geschrieben 29. Oktober 2007 Geschrieben 29. Oktober 2007 Hab's nur mal schnell überflogen, müsste aber am "scope => 'one'," liegen. Damit gibst Du an, dass nur ein Element gesucht werden soll. Setzt das mal auf "sub", damit müsste es klappen. Zitieren
Padde85 Geschrieben 30. Oktober 2007 Autor Geschrieben 30. Oktober 2007 hab das mal probiert, aber dann gibt er gar nix mehr zurück. egal welches scope man auf sub setzt. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.