Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $dsmod_enable = 0;
  2. $dsmove_enable = 1;
  3.  
  4. $prefix = 'bads';
  5. $cur_yr = (get-date).year;
  6.  
  7. $logfile = 'log' + (get-date -format HHmmss.MMddyy) + '.txt';
  8. do {
  9.     $user_file = read-host "CSV Source: [Enter] for $prefix$cur_yr.csv";
  10.     if(!$user_file) {
  11.         $filename = "$prefix$cur_yr.csv";
  12.     } else {
  13.         $filename = $user_file;
  14.     }
  15. } until ((test-path $filename) -eq "True")
  16. "Ready to move using $filename...";
  17. do{$ready = read-host 'Proceed? (y/n)'}  
  18. until ($ready -eq "y" -or $ready -eq "n")
  19. if($ready -eq "n") {
  20.     exit;
  21. }
  22. $data = import-csv $filename;
  23. $failcount = 0;
  24. $success_check = "Students";
  25. $ts_start = get-date -format HH:mm:ss.MM-dd-yy;
  26. 'Job Start Time: ' + $ts_start;
  27. 'Job Start Time: ' + $ts_start | out-file -Append $logfile;
  28. foreach( $i in $data ) {
  29.     if($i.Username) {
  30.         $ts = get-date -format HH:mm:ss;
  31.         $ts + ' - ' + $i.Username;
  32.         "@echo off" | out-file -enc ASCII run.bat | out-null;
  33.         start-sleep -m 200;
  34.         if($dsmod_enable) {
  35.         $dsmod = 'echo user CN=' + $i.Username + ',OU=Students,DC=otterbein,DC=edu -desc "Alumni ' + $i.GRAD_TERM.Substring(0,4) + '"';
  36.         $dsmod | out-file -Append -enc ASCII run.bat | out-null;
  37.         $dsmod;
  38.         start-sleep -m 200; }
  39.         if($dsmove_enable) {
  40.         $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';
  41.         $dsmove | out-file -Append -enc ASCII run.bat | out-null;
  42.         $dsmove;
  43.         start-sleep -m 150; }
  44.         $run = .\run.bat;
  45.         if($run -like "*$success_check*"){
  46.             $msg = 'SUCCESS';
  47.             write-host "Success!" -foregroundcolor green;
  48.             $dsmod
  49.             $dsmove
  50.         } else {
  51.             $msg = 'FAIL';
  52.             $failcount = $failcount + 1;
  53.             write-host 'Failure on user ' + $i.Username -foregroundcolor white -backgroundcolor red;
  54.             do{$ready = read-host 'Proceed with move? (y/n)'}  
  55.                 until ($ready -eq "y" -or $ready -eq "n")
  56.             if ($ready -eq "n") {
  57.                 exit;
  58.             }
  59.            
  60.         }
  61.        
  62.         $ts + ": " + $i.Username + ' [' + $msg + ']' | out-file -Append $logfile;
  63.     }
  64. }
  65. $ts_finish = get-date -format HH:mm:ss.MM-dd-yy;
  66. 'Job Finish Time: ' + $ts_finish;
  67. 'Job Finish Time: ' + $ts_finish | out-file -Append $logfile;
  68. 'Log saved to ' + $logfile
  69.  
  70. if ($failcount -eq 0) {
  71.     ./dance.ps1 # :D-< :D|-< :D/-<
  72. }
  73.  
  74. #cleanup
  75. rm .\run.bat
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement