У меня есть OpenVPN-соединение от клиента (ноутбука) к моему OpenVPN-серверу (Synology). Все отлично работает
Я написал командный файл для защиты моего OpenVPN-соединения. Каким-то образом результаты ping из пакетного файла не совпадают с результатами, напечатанными вручную в cmd.
Если, например, у меня установлено и работает OpenVPN-соединение, и я отключаюсь от WiFi, пакетный файл, который защищает OpenVPN-соединение, продолжает получать результаты ping.
Вот код, который я написал:
@Echo off
:ping1
Set "Connection="
SetX Connection ""
ping -n 1 192.168.x.x | Find "Lost = 0"
if errorlevel 1 (
goto pingfailed
) else (
goto pingsuccessfull
)
:pingfailed
Set Connection="not connected"
SetX Connection "not connected"
echo %errorlevel%
echo status connection: "%Connection%"
goto pingagain
:pingsuccessfull
Set Connection=connected
SetX Connection connected
echo %errorlevel%
echo status connection: "%Connection%"
goto ping1
:pingagain
echo pinging again...
ping -n 2 192.168.x.x | Find "Lost = 0"
if errorlevel 1 (
echo %errorlevel%
goto pingfailedagain
) else (
goto pingsucceededagain
)
:pingfailedagain
Set Connection="not connected"
SetX Connection "not connected"
echo %errorlevel%
echo status connection: "%Connection%"
goto noping
:pingsucceededagain
Set Connection=connected
SetX Connection connected
echo %errorlevel%
echo status connection: "%Connection%"
goto ping1
:noping
Set Connection="not connected"
SetX Connection "not connected
(Я использую переменную "Соединение" в другом пакетном файле.) Пинг продолжает получать результат «lost = 0», пока я не отключу WiFi с
wmic path win32_networkadapter where NetConnectionID="Wireless Network Connection" call disable
из другого пакетного файла.