У меня есть 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

из другого пакетного файла.

0