ldap2xml.pl
#!/usr/bin/perl
use Net::LDAP;
use XML::Simple;
my $XML = XML::Simple->new(NoAttr=>0,
RootName=>'LDAPDump',
ForceArray=>1 );
my $LDAP = Net::LDAP->new( $ARGV[0] );
my $Message = $LDAP->bind( $ARGV[1],
password => $ARGV[2] );
if ( defined($Message) )
{
$Message = $LDAP->search( base => “”,
filter => qq{($ARGV[3])});
foreach my $Entry ($Message->entries)
{
if ( defined($Entry) &&
ref($Entry) eq ‘Net::LDAP::Entry’ )
{
print $XML->XMLout($Entry->{asn});
}
}
$Message = $LDAP->unbind;
}
Its no problem to use…
shell$ ./ldap2xml.pl ldap_host "uid=whoever,cn=whatever" password "filter_attribute=value"
Requires…
Net::LDAP from CPAN & XML::Simple from CPAN