web-dev-qa-db-ja.com

Open Vpn Windowsクライアントを使用して接続するための引数

windows openvpn client を起動して、コマンドプロンプトを使用してプログラム引数を指定することにより、事前定義された構成(.ovpn)を使用して接続することは可能ですか?または、Windowsショートカットなどから開くときに、ショートカットで引数を指定します。

13
Flowerking

以下のように解決しました:

windowsコマンドプロンプトから

enter image description here

これにより、構成で指定された接続に直接接続するopn vpn guiクライアントが開始されます。

18
Flowerking

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
9
Jan

Flowerkingの回答に加えて、おそらくユーザー空間に秘密鍵データを格納するために、ovpnファイルが存在するフォルダーを指定できます。そのためには、config_dir

openvpn-gui.exe --connect "client.ovpn" --config_dir "C:\Users\Foo\Documents\protected_crypto_data"
5
Justin Brown

1つではなく複数のVPNに接続する場合の簡単な例を次に示します。

"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect vpn1.ovpn --connect vpn2.ovpn

openvpn-gui.exeが実行されている場合は機能しません。

3
Etmos

これが最近追加されたかどうかはわかりませんが、実行中のGUIインスタンスにコマンドを送信するために使用できる「--command」オプションがあります。
これで、次のことができます
openvpn-gui.exe --command connect config.ovpn

コマンドラインに移動して、openvpn-gui.exeのオプションを表示します。
openvpn-gui.exe --help

1
Jeff Rausch

同じ問題があり、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:Running: "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:Connected。
 ConnectOpenVPN:CONNECTアクションが終了しました。

他の方にもお役に立てれば幸いです。

1
Leo Davidson

@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

これにより、一時ファイルを作成する必要がなくなります。

0
M1n1_Z