J'ai une connexion OpenVPN du client (ordinateur portable) à mon propre serveur OpenVPN (Synology). Tout fonctionne bien.
J'ai écrit un fichier de commandes pour protéger ma connexion OpenVPN. D'une manière ou d'une autre, les résultats de ping du fichier de commandes ne sont pas les mêmes que ceux de manuellement tapé dans cmd.
Si, par exemple, ma connexion OpenVPN est active et que je me déconnecte du WiFi, le fichier batch qui protège la connexion OpenVPN est conservé. obtenir des résultats de ping.
Voici le code que j'ai écrit:
@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
(J'utilise la variable "Connexion" dans un autre fichier batch.) Le ping continue à obtenir le résultat "perdu = 0" jusqu'à ce que je désactive WiFi
wmic path win32_networkadapter where NetConnectionID="Wireless Network Connection" call disable
à partir d'un autre fichier batch.