Я использую старую систему Windows 7 по Wi-Fi, к которой у меня удаленный доступ к монитору.
Проблема в том, что WiFi непредсказуем (из-за странных проблем с роутером), и мне нужно, чтобы эта система была подключена к сети в любое время суток. Как ни странно, когда Wi-Fi падает, он не имеет тенденцию автоматически переподключаться, даже если он все еще доступен, и Windows настроен на переподключение к нему.
Я нашел похожий вопрос с ответом здесь, но это было для проводной сети, и, к сожалению, решение не работает для моей системы.
Это командный файл, созданный ниже. Я запустил его, убил маршрутизатор Wi-Fi, который остановил эхо-запросы, но он не завершил оператор if для сброса интерфейса. В командном окне просто отображается время ожидания проверки связи и повторяется до тех пор, пока соединение не будет восстановлено. Файл журнала не регистрирует ошибку, поэтому он никогда не попадает в часть ошибки оператора if. Я изменил первоначальный вариант "Интерфейс" с "Подключение по локальной сети" на "Подключение к беспроводной сети"
Может кто-нибудь устранить эту проблему или предложить альтернативный вариант для автоматического сброса адаптера, когда сеть падает, как кажется, это исправить. Нужно ли добавить «Беспроводное сетевое соединение (% SSID%)» в качестве интерфейса?
Спасибо!
Panterateama
@echo off
set INTERFACE="Local Area Connection"
set TIMEOUT=3600
set IP=8.8.8.8
set LOG="watchdog.log"
echo %DATE% %TIME%: Watchdog started >> %LOG%
:loop
rem First check the interface for an hour by pinging the Google DNS
rem and resetting the networking interface if it should fail.
ping -n %TIMEOUT% -w 1000 -l 0 %IP%
if %errorlevel% NEQ 1 goto :loop
echo %DATE% %TIME%: Connection failed. Restarting interface.. >> %LOG%
netsh interface set interface %INTERFACE% disable
netsh interface set interface %INTERFACE% enable
rem Give it another shot but restart the whole computer if it the
communication should still fail
ping -n %TIMEOUT% -w 1000 -l 0 %IP%
if %errorlevel% NEQ 1 goto :loop
echo %DATE% %TIME%: Still no connection. Restarting computer.. >> %LOG%
shutdown /r /c "Internet wathchdog"
echo %DATE% %TIME%: Waiting for system to shut down >> %LOG%
choice /T %TIMEOUT% /D Y /N > NUL
echo %DATE% %TIME%: Gave up on the shut down attempt. Trying again.. >>
%LOG%
goto :loop