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"

    }


}