#!/usr/bin/perl

use Net::LDAP;

$cn = "cn=Manager";
$dc1 = "dc=DC1";
$dc2 = "dc=DC2";
$pwd = "PASSWORD";

$ldapHost = "SERVER";

##### END EDITING HERE #####

$dn = "$cn, $dc1, $dc2";

$ldap = Net::LDAP->new($ldapHost) or die "$@";
$ldap->bind ( dn        =>      $dn,
              password  =>      $pwd);

sub addUser {
        my ($uid, $crypted_pwd, $user_id, $gecos) = @_;
        my $mesg = $ldap->add (
        dn      =>      'uid=' . $uid . ', ou=People, ' . $dc1 . ', ' . $dc2,
        attr    =>      [ 'userPassword'        =>      $crypted_pwd,
                          'loginShell'          =>      '/bin/false',
                          'uidNumber'           =>      $user_id,
                          'gidNumber'           =>      100,
                          objectClass           =>      [ 'account', 'posixAccount', 'top' ],
                          'uid'                 =>      $uid,
                          'gecos'               =>      $gecos,
                          'cn'                  =>      $uid,
                          'homeDirectory'       =>      '/home/null' ]
                        );
        }
