So; if you’re going to be going away for 3+ weeks and need your Internet to stay up. What if the router needs a reboot or it goes haywire? Needless to say you can’t do it remotely if the Internet is unavailable (actually, there are some cool power-sockets that can cycle the power when they get an SMS text to an installed SIM card).
Here’s a solution I came up with;
First, the Energenie Power Management System. It’s basically a multi-block power socket with a LAN connection that allows you to cycle each power socket according to criteria. The inbuilt software allows it to cycle on a schedule or on the presence of a file etc.
What it ALSO includes is a command-line app that allows you to cycle the plug sockets.
So add a little Powershell magic;
$PauseTime=10 do { $FailCount=0 $TryCount=0 do { $InternetOn=$False foreach($Server in $TestServers) { $InternetOn=($InternetOn -or (Test-Connection $Server -Quiet)) } if(-not ($InternetOn)) { $FailCount=$FailCount+1 $Message="Internet failed. Failure count : "+ $FailCount Write-EventLog -logname Application -source "Internet Checker" -Message $Message -EventId 101 -EntryType Warning -Category 1 }else { $FailCount=0 } Start-Sleep -Seconds $PauseTime $TryCount=$TryCount+1 if($TryCount -ge 20) { Write-EventLog -logname Application -source "Internet Checker" -Message "Internet Functioning Ok" -EventId 101 -EntryType Information -Category 1 $TryCount=0 } }while($FailCount -lt $FailThreshold) Write-EventLog -logname Application -source "Internet Checker" -Message "Internet Failed, turning off power to Router." -EventId 101 -EntryType Warning -Category 1 & "C:\Program Files\Power Manager\pm" -off -PLAN -Socket1 Start-Sleep $PauseTime Write-EventLog -logname Application -source "Internet Checker" -Message "Restarting power to Router." -EventId 101 -EntryType Information -Category 1 & "C:\Program Files\Power Manager\pm" -on -PLAN -Socket1 } while($true) Write-EventLog -logname Application -source "Internet Checker" -Message "Checker Ended" -EventId 101 -EntryType Information -Category 1
Start the script automatically when the system boots and you’re set!
“& “C:\Program Files\Power Manager\pm” -off -PLAN -Socket1″ is the part that runs the commandline utility.