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