Automatically reboot Windows if no internet connectivity
Batch File:
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
Any of these can be scheduled to work as a task at an intervall to suit you - an if scheduled to run with "highest priviledges", then will be able to overcome any potential UAC problems.
Bear in mind this only checks connectivity to your router. It maybe worth replacing the IP with one such as www.google.com or similar.. make it something which you know replies (do a manual ping) and make sure it isnt a dodgy site which is vulnerable to downtime.. you dont want your pc rebooting for nothing
Related videos on Youtube
mrpatg
Updated on September 18, 2022Comments
-
mrpatg over 1 year
I have a media server (Windows 8) located in a very inconvenient part of my house. Occasionally I will have to reset my router or it will reset itself. The issue is the PC loses connectivity for some reason, and I am forced to walk outside, around the house, into the basement, over a bunch of toys and weights and boxes, to push a button to reboot it.
I would love to have it check itself every 5-10 minutes and auto reboot if it is unable to ping a given address/IP.
Any ideas how to accomplish this?
-
Fazer87 almost 5 yearsjust a quick note on this... add the
-Force
switch torestart-computer
. If you do not, the machine will not reboot if a service stops it or if you have an inactive RDP session (or various other reasons). The-Force
switch will ignore all of these and make it reboot -
Roald about 3 yearsIn case your power shell script is not executing, you can try stackoverflow.com/a/18261228/6329629
-
Chenmunka over 2 yearsThat would use an awful lot of CPU time and could be construed as a DOS attack on google.com.