use Win32::Lanman; $server=shift; # PDC $newuser=shift; # new user $password=shift; #password if ( $password eq "" ) { die "usage : $0 pdc_server username password"); }; $homepath=""; #home path $logonscript="exp_logon.bat"; #logon script $fullname=$newuser; $profile=''; $homedrive=''; if (Win32::Lanman::NetUserAdd("\\\\$server", {'name' => $newuser, 'password' => $password, 'home_dir'=> $homepath, 'comment' => '', 'flags' => UF_PASSWD_CANT_CHANGE | UF_DONT_EXPIRE_PASSWD, 'script_path' => $logonscript, 'full_name' => $fullname, 'usr_comment' => '', 'parms' => '', 'workstations' =>'', 'profile' => $profile, 'home_dir_drive' => $homedrive, 'acct_expires' => -1, # 'acct_expires' => TIMEQ_FOREVER, 'country_code' => 49, 'code_page' => 850, 'logon_hours' => '', 'password_expired'=> 1})) { # Do Whatever Win32::Lanman::NetGroupAddUser("\\\\$server", "Profil Standard", "$newuser"); # get the error code print Win32::Lanman::GetLastError(); } else { # Do Something else } # # Autre possibilité : # #if(!Win32::Lanman::NetUserAdd($PDC{$Data{'NEW_NT_DOMAIN'}}, # {'name' => $Account, # 'password' => $password, # 'home_dir' => $OldUser{'home_dir'}, # 'comment' => $OldUser{'comment'}, # 'flags' => UF_NORMAL_ACCOUNT, # 'script_path' => "corp\\corp_v1.bat", # 'full_name' => $FullName, # 'workstations' => $OldUser{'workstations'}, # 'profile' => $OldUser{'profile'}, # 'home_dir_drive' => uc($OldUser{'home_dir_drive'}), # 'acct_expires' => -1, # 'password_expired' => 1}))