Я использую компьютер под управлением Windows 10, к которому мне нужно иметь удаленный доступ, находясь вне дома. Я использую службу VPN на этом компьютере, и, если оставить ее на длительное время, соединение будет часто разрываться, приводя систему в состояние, когда VPN-клиент думает, что он все еще подключен, но это не так. Клиент никогда не пытается восстановить соединение, так как он считает, что он все еще подключен, и трафик, не относящийся к VPN, также блокируется (как своего рода непреднамеренный переключатель уничтожения). Это приводит к ситуации, когда непреднамеренное отключение отключает меня от удаленного доступа к компьютеру.
Моя конечная цель - автоматическая перезагрузка компьютера, когда Интернет кажется недоступным в течение более 5 минут, но я не знаю, как это сделать. Я был бы признателен, если бы кто-нибудь помог мне разработать сценарий, который перезагрузил бы компьютер в такой ситуации. Я не совсем знаком со сценариями cmd или powershell, но вот небольшой псевдокод, демонстрирующий процесс, который я ищу в сценарии, таким образом, чтобы его можно было запускать с помощью встроенных инструментов / программного обеспечения, включенного в мою ОС, например PowerShell или партия.
// Note- PSEUDO-CODE, NOT A USABLE SCRIPT AS-IS
ping 8.8.8.8 // check for internet connection. 0% packet returns would indicate the computer had probably entered this network lock-up
if pingsReturned == 0
{
wait 5 minutes // in case of temporary disconnect, give the network time to reestablish itself
ping superuser.com // alternate site used to confirm google isn't the only site I can't connect to, i.e. google is down, not my network connectivity
if pingsReturned == 0
shutdown /f /r /t 60 /c "Rebooting due to connection issues."
else
{
exit
}
}
else
{
exit
}
Я планирую запускать это как задачу, которая выполняется с 5-минутными интервалами в планировщике задач, если это возможно. Я бродил по Интернету (и этому сайту конкретно) в поисках решений, но не нашел ни одного для Windows, хотя нашел очень похожую реализацию для установок Linux (которые по совпадению также использовали DNS от Google в качестве теста, или, возможно, это просто зайдите на сайт для пинг тестов в общем ...).