use strict; use Net::LDAP; #-----------------------------------------------# # Customize for your own environment, # connect and authenticate #-----------------------------------------------# my $dc = 'dc1'; my $user = 'administrator@mycorp.com'; my $passwd = 'Adminpasswd'; my $dn = "cn=jdoe,cn=users,dc=mycorp,dc=com"; my $ldap = Net::LDAP->new($dc) or die "$@\n"; my $rc = $ldap->bind( $user, password => $passwd); die $rc->error if $rc->code; #----------------------------------------------# # Modify several attributes #---------------------------------------------# print "Setting givenname, sn and mail...\n"; $rc = $ldap->modify($dn, changes => [ add => [ givenname => "Johnny" ], add => [ sn => "Doh"], add => [ mail => 'jdoe@mycorp.com'], ]); die $rc->error if $rc->code; print "Changing givenname to John...\n"; $rc = $ldap->modify($dn, replace => { givenname => "John" }); die $rc->error if $rc->code; print "Deleting the mail attribute...\n"; $rc = $ldap->modify($dn, delete => [ 'mail' ]); die $rc->error if $rc->code; print "Setting the telephoneNumber and sn...\n"; $rc = $ldap->modify($dn, changes => [ add => [ telephoneNumber => '555-123-4567'], replace => [ sn => 'Doe'], ]); die $rc->error if $rc->code; print "\nModifications successful\n"; $ldap->unbind;