Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $directory="201403260208"
- $loop=0
- $wait=60
- $totalfixes=0
- $fixes=0
- While($true)
- {
- $loopstart = Get-Date
- $fixes = 0
- #IP range for affected workstations (172.16.1.50 - 172.16.1.250)
- for ($i=50; $i -le 250; $i++)
- {
- $computer = "172.16.1.$i"
- if (Test-Connection -Cn $computer -Count 1 -ea 0 -quiet)
- {
- $time = Get-Date -format "HH:mm"
- if ((test-path "\\$computer\c$\Program Files (x86)") -and -not (test-path "\\$computer\c$\Program Files (x86)\Common Files\Government\Program\$directory\"))
- {
- Write-host "$time Starting fix: $computer"
- robocopy "C:\fixgovernment\$directory" "\\$computer\c$\Program Files (x86)\Common Files\Government\Program\$directory" /MIR /E /R:0 /W:1 /NJH /NJS /NDL /NC /NS /NP /NFL /A-:SH
- $result="FIXED"
- $fixes++
- }
- else
- {
- #correct directory already exists
- $result="Skipped"
- }
- }
- else
- {
- #IP is offline or not a windows machine
- $result="Offline"
- }
- Write-host "$time $result: $computer"
- }
- $loop++
- $time = Get-Date -format "HH:mm"
- $timetaken = ((Get-Date)-$loopstart)
- $totalfixes = $totalfixes + $fixes
- Write-host "--------------------------------------------------"
- Write-host "$time Completed loop $loop in " $timetaken.hours "hours, "$timetaken.minutes "minutes, "$timetaken.seconds" seconds."
- Write-Host "Fixes this loop: $fixes. Overall fixes: $totalfixes"
- Write-host "Waiting $wait seconds before continuing"
- Write-host "--------------------------------------------------"
- Start-Sleep -s $wait
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement