コマンドプロンプトを使用してプログラム引数を指定することにより、事前定義された構成(.ovpn)を使用して接続するために、Windows OpenVPNクライアントを起動することは可能ですか?または、Windowsのショートカットなどから開くときに、ショートカットで引数を指定します。
コマンドプロンプトを使用してプログラム引数を指定することにより、事前定義された構成(.ovpn)を使用して接続するために、Windows OpenVPNクライアントを起動することは可能ですか?または、Windowsのショートカットなどから開くときに、ショートカットで引数を指定します。
回答:
openvpn-gui.exe
が上記で既に開始されている場合、回答が機能しないことに注意してください。自宅にいないときにopenVPN接続を自動的に開始するために作成した小さなバッチファイルの:runセクションに注意してください。
rem This script is fired from Task Scheduler (using Custom Event filter) when I am NOT at home (not connected to home network)
rem so check if my home NAS is already pingable, because maybe old/previous OpenVPN connection is still open
rem if not then start OpenVPN connection
rem if yes than do nothing
ping -n 1 192.168.10.100 > testping.txt
findstr /r /c:"Reply from \d*.\d*.\d*.\d*.* bytes=\d*.*time[<=]\d*.* TTL=\d*" testping.txt
IF ERRORLEVEL 1 goto run
rem do nothing because NAS is pingable
goto finished
:run
rem be sure to kill previous (closed) openvpn process so reconnecting actually works!
taskkill.exe /F /IM openvpn.exe
taskkill.exe /F /IM openvpn-gui.exe
timeout 1
start /b "" "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect nas_at_home.ovpn
:finished
Flowerkingの回答に加えて、ovpnファイルが存在するフォルダーを指定して、プライベートキーデータをユーザースペースに保存することもできます。そのためには、次を使用しますconfig_dir
。
openvpn-gui.exe --connect "client.ovpn" --config_dir "C:\Users\Foo\Documents\protected_crypto_data"
同じ問題が発生し、UIが既に接続されている場合はUIを再度開かず、接続が完了するのを待つスクリプトも必要でした。
良い解決策が見つからなかったので、自分で書いた。他の人に役立つ場合に備えてここにあります:
https://www.pretentiousname.com/miscsoft/index.html#ConnectOpenVPN
Windows Vista以降。自由; C ++ソースコードが含まれています。
(WindowsビルトインVPNクライアント用の同様の古いツールもあります。)
/ verboseスイッチを使用して、実行内容に関する詳細情報を出力する使用例:
C:\> ConnectOpenVPN.exe / connect / adapter "OpenVPN" / config "MyVPN.ovpn" ConnectOpenVPN:「OpenVPN」ネットワークアダプターの状態を確認しています... ConnectOpenVPN:「OpenVPN」ネットワークアダプターが接続されていません。 ConnectOpenVPN:実行中: "C:\ Program Files \ OpenVPN \ bin \ openvpn-gui.exe" --command connect "MyVPN.ovpn" ConnectOpenVPN:OpenVPN GUIが表示されるのを待っています... ConnectOpenVPN:OpenVPN GUIが見つかりました。 ConnectOpenVPN:OpenVPN GUIが閉じるのを待っています... ConnectOpenVPN:OpenVPN GUIが閉じました。 ConnectOpenVPN:VPN接続の待機/確認が存在します... ConnectOpenVPN:接続済み。 ConnectOpenVPN:CONNECTアクションが終了しました。
他の人にも役立つことを願っています。
以下を変更することで、@ Janの答えを改善できます。
ping -n 1 192.168.10.100 > testping.txt
findstr /r /c:"Reply from \d*.\d*.\d*.\d*.* bytes=\d*.*time[<=]\d*.* TTL=\d*" testping.txt
に:
ping 192.168.10.100 -n 1 | findstr /r /c:"Reply from \d*.\d*.\d*.\d*.* bytes=\d*.*time[<=]\d*.* TTL=\d*" && goto :finished
この方法では、一時ファイルを作成する必要はありません。