シンプル・スマートな画面録画ソフト EaseUS RecExperts

  • Windows11のコマンドプロンプトで接続を自動化できるVPNサービスを使いたい
  • バッチファイルやPowershellでVPN接続を制御する方法を知りたい

この記事では、以上の疑問にお答えします。

 

Windows11で作業を自動化・効率化するために使われるバッチファイルやPowershellなどで、VPN接続を制御したいという場合も、時折あるかと思います。

VPNサービスはそれこそ星の数ほどありますが、その中でも、コマンドプロンプトからのコマンド実行や、バッチファイル・Powershellスクリプトに対応しているVPNサービスを、今回はご紹介します。

具体的なスクリプトについても紹介していますので、そのままコピペいただけば、Windows11環境で利用いただけます。

それではどうぞ。

【前提】コマンドプロンプトからVPN接続を制御できる「NordVPN」

さて、Windows11に対応しているVPNサービスは国内外含めて多数ありますが、その中でコマンドプロンプトでの操作に対応しているのは、NordVPN(ノードVPN)です。

近年、急激に日本のユーザーを増やしている北欧発のVPNサービスで、シンプルな料金形態・アプリで初心者にも簡単に使える上、コマンドプロンプトやスクリプト、Pythonなどからの制御も可能です。

 

Windows11でのNordVPNの利用については、下記のページに詳しくまとめていますので、あわせてどうぞ。

  

筆者はこのNordVPNを使って、WindowsやLinuxなどの環境で、バッチファイルやPythonなどを使って通信をVPN化しています。

プログラミングで作ったツールなどの通信をVPN化することも出来ますし、特定国のVPNサーバに接続したり、実行が終了したらVPN通信を停止したり、という操作も自動化できるようになります。

NordVPNの料金形態やインストール方法などは上記の記事をご覧いただければと思いますので、この記事では早速具体的に、コマンドプロンプト・バッチファイルからVPN接続を制御する方法、サンプルスクリプトをご紹介しますね。

【スクリプト①】NordVPNに自動接続する

ということで、NordVPNに自動接続する場合のバッチファイルは以下の通り。

こちらをコピー・アンド・ペーストしてバッチファイルを作成して、NordVPNをインストール済みのWindows11PCで実行してもらえれば、NordVPNの近隣のサーバ(通常は日本国内)にクイック接続されます。

cd "C:\Program Files\NordVPN\"

nordvpn --connect

pause

 

仕組みとしてはシンプルで、まずNordVPNのディレクトリに移動して、アプリのコマンドを実行している、というシンプルなつくりです。

上記の「nordvpn --connect」は、近隣のサーバにクイック接続するというコマンドです。

自動的に、最適なVPNサーバに接続されます。

実行したスクリプトのコマンドプロンプトウィンドウを自動的に閉じたい場合は、「pause」の記述を削除してください。

 

すでにVPN接続中に上記スクリプトを実行した場合、別のサーバに接続が開始されます。

VPN接続のリフレッシュ的な動きをする感じですね。

IPアドレスを変更したい場合などは、このスクリプトを適宜実行することで、対応可能そうです。

 

ちなみに、NordVPNのソフトウェアが起動していない場合に上記のスクリプトを実行すると、NordVPNのアプリも自動的に立ち上がってきます。

以前にログインが完了していれば、そのままサーバへクイック接続されます。

【スクリプト②】NordVPNの特定の国に接続する

続いて、特定の国に接続したいという場合のサンプルスクリプトです。

下記は、日本のサーバを指定して、接続するコマンドを記載しています。

cd "C:\Program Files\NordVPN\"

nordvpn -c -g "Japan"

pause

 

「nordvpn -c -g "国名"」と実行すると、その国もサーバにVPN接続します。

接続できる国、および国の英語表記はこちらの通りです。

NordVPNで接続できる59カ国 (2022年時点)

  • アメリカ (United States)
  • カナダ (Canada)
  • ブラジル (Brazil)
  • アルゼンチン (Argentina)
  • メキシコ (Mexico)
  • コスタリカ (Costa Rica)
  • チリ (Chile)
  • イギリス (United Kingdom)
  • ドイツ (Germany)
  • オランダ (Netherland)
  • フランス (France)
  • スウェーデン (Sweden)
  • スイス (Switzerland)
  • ベルギー (Belgium)
  • デンマーク (Denmark)
  • ノルウェー (Norway)
  • ポーランド (Poland)
  • アイルランド (Ireland)
  • チェコ (Czech Republic)
  • イタリア (Italy)
  • スペイン (Spain)
  • フィンランド (Finalnd)
  • セルビア (Serbia)
  • オーストリア (Austria)
  • スロバキア (Slovakia)
  • スロベニア (Slovenia)
  • ブルガリア (Bulgaria)
  • ハンガリー (Hungary)
  • ラトビア (Latvia)
  • ルーマニア (Romania)
  • ポルトガル (Portugal)
  • ルクセンブルク (Luxembourg)
  • ウクライナ (Ukraine)
  • ギリシャ (Greece)
  • エストニア (Estonia)
  • ボスニア・ヘルツェゴビナ (Bosnia and Herzegovina)
  • アイスランド (Iceland)
  • アルバニア (Albania)
  • キプロス (Cyprus)
  • クロアチア (Croatia)
  • モルドバ (Moldova)
  • グルジア (Georgia)
  • 北マケドニア (North Macedonia)
  • リトアニア (Lithuania)
  • オーストラリア (Australia)
  • シンガポール (Singapore)
  • 日本 (Japan)
  • 香港 (Hong Kong)
  • ニュージーランド (New Zealand)
  • 台湾 (Taiwan)
  • ベトナム (Vietnam)
  • インドネシア (Indonesia)
  • マレーシア (Malaysia)
  • 韓国 (South Korea)
  • タイ (Thailand)
  • 南アフリカ (South Africa)
  • イスラエル (Israel)
  • トルコ (Turkey)

【スクリプト③】NordVPNの特定国・特定サーバに接続する

状況によっては、以前接続した時と同じサーバ・同じIPアドレスにしたいという場合もあると思います。

その場合は、サーバの番号を覚えておけば、以下のスクリプトを使うことで明示的に、そのサーバに接続することが可能です。

cd "C:\Program Files\NordVPN\"

nordvpn -c -n "Japan #529"

pause

 

上記は、日本国内の「#529」というサーバに接続すると指定しています。

この「#529」の部分は、クイック接続や国名指定の接続だと毎回変わるため、どれか1つのサーバに明示的に接続したいのであれば、その番号を覚えておく必要があります。

現在接続しているサーバの番号は、アプリ上のこの部分から確認できます。

【スクリプト④】NordVPNから切断する

NordVPNから切断するサンプルスクリプトは以下の通りです。

cd "C:\Program Files\NordVPN\"

nordvpn --disconnect

pause

 

上記を実行すると、NordVPNから切断し、通常の状態に戻ります。 簡単ですね。

例えば、スクリプト①〜③のVPN接続スクリプトを先に実行して、その他のツールでVPN通信を実施、完了したらこのスクリプトでVPN通信を終了、という流れをスクリプトで組むことも可能そうです。

それをタスクスケジューラーなどで定期的に実行すれば、ツール実行時のみVPN接続という処理もできますね。

まとめ

以上、Windows11の環境でバッチファイルを使ってVPN接続を制御する方法でした。

基本的には接続・切断の制御のみですが、コマンドプロンプトから実行できるというのは、自動化への大きなメリットです。

時短・効率化を考えている方は、ぜひNordVPNを検討してみて下さい。

 

 

ちなみに、Linux環境でもNordVPNは利用可能です。

こちらは基本がコマンドライン実行ですので、より細かい制御が可能です。

興味があれば、こちらの記事もあわせてご覧くださいませ。