Arquivo em lote:
ping 192.168.1.1
IF ERRORLEVEL 1 SHUTDOWN -R -T 00
Powershell:
if (!(Test-Connection 192.168.1.1 -quiet)) {Restart-Computer -Force}
VBScript:
If Reachable("192.168.1.1") Then
WScript.Run("shutdown -r -t 00")
End If
Function Reachable(strComputer)
Dim wmiQuery, objWMIService, objPing, objStatus
wmiQuery = "Select * From Win32_PingStatus Where Address = '" & strComputer & "'"
Set objWMIService = GetObject("winmgmts:\.\root\cimv2")
Set objPing = objWMIService.ExecQuery(wmiQuery)
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) Or objStatus.Statuscode<>0 Then
Reachable = False 'if computer is unreacable, return false
Else
Reachable = True 'if computer is reachable, return true
End If
Next
End Function
Qualquer um destes pode ser agendado para funcionar como uma tarefa em um intervalo para atender você - um programado para ser executado com "privilégios mais altos", então será capaz de superar quaisquer problemas potenciais do UAC.
Lembre-se de que isso apenas verifica a conectividade do seu roteador. Talvez valha a pena substituir o IP por um como o www.google.com ou similar. Torne-o algo que você sabe responder (faça um ping manual) e certifique-se de que ele não é um site duvidoso que é vulnerável ao tempo de inatividade. seu pc reiniciando por nada