Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "Welcome to Abed's Magical AD Mover!"
- $dsmod_enable = 0;
- $dsmove_enable = 1;
- $prefix = 'bads';
- $cur_yr = (get-date).year;
- $logfile = 'log' + (get-date -format HHmmss.MMddyy) + '.txt';
- do {
- $user_file = read-host "CSV Source: [Enter] for $prefix$cur_yr.csv";
- if(!$user_file) {
- $filename = "$prefix$cur_yr.csv";
- } else {
- $filename = $user_file;
- }
- } until ((test-path $filename) -eq "True")
- "Ready to move using $filename...";
- do{$ready = read-host 'Proceed? (y/n)'}
- until ($ready -eq "y" -or $ready -eq "n")
- if($ready -eq "n") {
- exit;
- }
- $data = import-csv $filename;
- $failcount = 0;
- $success_check = "Students";
- $ts_start = get-date -format HH:mm:ss.MM-dd-yy;
- 'Job Start Time: ' + $ts_start;
- 'Job Start Time: ' + $ts_start | out-file -Append $logfile;
- foreach( $i in $data ) {
- if($i.Username) {
- $ts = get-date -format HH:mm:ss;
- $ts + ' - ' + $i.Username;
- "@echo off" | out-file -enc ASCII run.bat | out-null;
- start-sleep -m 200;
- if($dsmod_enable) {
- $dsmod = 'echo user CN=' + $i.Username + ',OU=Students,DC=otterbein,DC=edu -desc "Alumni ' + $i.GRAD_TERM.Substring(0,4) + '"';
- $dsmod | out-file -Append -enc ASCII run.bat | out-null;
- $dsmod;
- start-sleep -m 200; }
- if($dsmove_enable) {
- $dsmove = 'echo CN=' + $i.Username + ',OU=Students,DC=otterbein,DC=edu -newparent OU=' + $i.GRAD_TERM.Substring(0,4) + ',OU=Alumni,DC=otterbein,DC=edu';
- $dsmove | out-file -Append -enc ASCII run.bat | out-null;
- $dsmove;
- start-sleep -m 150; }
- $run = .\run.bat;
- if($run -like "*$success_check*"){
- $msg = 'SUCCESS';
- write-host "Success!" -foregroundcolor green;
- $dsmod
- $dsmove
- } else {
- $msg = 'FAIL';
- $failcount = $failcount + 1;
- write-host 'Failure on user ' + $i.Username -foregroundcolor white -backgroundcolor red;
- do{$ready = read-host 'Proceed with move? (y/n)'}
- until ($ready -eq "y" -or $ready -eq "n")
- if ($ready -eq "n") {
- exit;
- }
- }
- $ts + ": " + $i.Username + ' [' + $msg + ']' | out-file -Append $logfile;
- }
- }
- $ts_finish = get-date -format HH:mm:ss.MM-dd-yy;
- 'Job Finish Time: ' + $ts_finish;
- 'Job Finish Time: ' + $ts_finish | out-file -Append $logfile;
- 'Log saved to ' + $logfile
- if ($failcount -eq 0) {
- ./dance.ps1 # :D-< :D|-< :D/-<
- }
- #cleanup
- rm .\run.bat
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement