recursive-ldap-delete.pl [plain text]
use strict;
use Net::LDAP;
my $server = "localhost";
my $binddn = "cn=directory manager";
my $bindpasswd = "foobar";
my $delbranch = "ou=users,dc=bigcorp,dc=com";
my $ldap = Net::LDAP->new( $server ) or die "$@";
$ldap->bind( $binddn, password => $bindpasswd, version => 3 );
my $search = $ldap->search( base => $delbranch,
filter => "(objectclass=*)" );
foreach my $e (sort { $b->dn =~ tr/,// <=> $a->dn =~ tr/,// } $search->entries()) {
$ldap->delete($e);
}
$ldap->unbind();