public/Add-RebootTask.ps1
Function Add-RebootTask { If (Get-ScheduledTask -TaskName "*Weekly Reboot*") { Write-Error "A scheduled reboot already exists!" -ErrorAction Stop } $MachineType = (Get-WmiObject -Class Win32_ComputerSystem).Model $RandomMins = Get-Random -Minimum 30 -Maximum 59 if ($MachineType -eq "Virtual Machine") { schtasks /create /tn “Weekly Reboot - VM” /tr “shutdown /r /t 0” /sc weekly /d mon /st 03:$($RandomMins):00 /ru “System” schtasks /query /tn "Weekly Reboot - VM" } else { schtasks /create /tn “Weekly Reboot - Host” /tr “shutdown /r /t 0” /sc weekly /d mon /st 04:$($RandomMins):00 /ru “System” schtasks /query /tn "Weekly Reboot - Host" } } |