Starten Sie Windows8 automatisch neu, wenn keine Internetaktivität vorliegt

5533
mrpatg

Ich habe einen Medienserver in einem sehr ungünstigen Teil meines Hauses. Gelegentlich muss ich meinen Router zurücksetzen, oder er setzt sich selbst zurück. Das Problem ist, dass der PC aus irgendeinem Grund die Konnektivität verliert, und ich bin gezwungen, draußen, um das Haus herum, in den Keller zu gehen, über ein paar Spielzeuge, Gewichte und Boxen, um einen Neustart durch Drücken einer Taste zu starten.

Ich würde mich freuen, wenn er sich alle 5-10 Minuten selbst überprüft und den automatischen Neustart durchführt, wenn es nicht möglich ist, eine bestimmte Adresse / IP zu pingen.

Irgendwelche Ideen, wie man das schafft?

1

2 Antworten auf die Frage

2
Fazer87

Batchdatei:

ping 192.168.1.1 IF ERRORLEVEL 1 SHUTDOWN -R -T 00 

Power Shell:

if (!(Test-Connection 192.168.1.1 -quiet)) 

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 

Jede dieser Aufgaben kann zeitweise als Aufgabe für einen bestimmten Zeitraum geplant werden - wenn sie mit "höchsten Privilegien" ausgeführt wird, können mögliche UAC-Probleme gelöst werden.

Beachten Sie, dass dies nur die Verbindung zu Ihrem Router prüft. Es lohnt sich vielleicht, die IP durch eine wie zB www.google.com oder ähnliches zu ersetzen. Machen Sie etwas, das Sie wissen, antworten (machen Sie einen manuellen Ping) und stellen Sie sicher, dass es keine zwielichtige Website ist, die anfällig für Ausfallzeiten ist Ihr PC startet umsonst

0
Keltari

Hier ist ein PowerShell-Skript, das dies tun wird. Führen Sie es einfach als geplante Aufgabe so oft aus, wie Sie möchten. Es verwendet Restart-Computer, die Sie -forceje nach Umständen verwenden müssen. Überprüfen Sie den Link auf Optionen.

If (!(Test-Connection 192.168.20.199 -quiet)) { #Write-Host "Not connected" Restart-Computer } Else { #Write-Host "Connected" } 

Ich habe eine vollständige If / Else-Anweisung eingefügt, jedoch können Sie dies in einer Zeile tun. Das vollständige If / Else gibt Ihnen die Flexibilität, bei Bedarf mehr zu tun. Hier ist ein 1 Liner:

if (!(Test-Connection 192.168.20.199 -quiet)) 

Wenn Sie den Router bei einem Fehler nicht pingen können, verwenden Sie die Adresse Ihres Routers im Skript. Das wäre die beste Option. Sie könnten eine Website wie yahoo.com testen. Das Problem beim Testen einer externen Site ist folgendes:

  1. Die Remote-Adresse muss Pings akzeptieren
  2. Die Remote-Adresse ist möglicherweise inaktiv, wodurch der Computer neu gestartet wird