Veröffentlicht 29. Oktober 200717 j 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
29. Oktober 200717 j 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.
30. Oktober 200717 j hab das mal probiert, aber dann gibt er gar nix mehr zurück. egal welches scope man auf sub setzt.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.