VPN設定をバッチで行う

VPN設定をバッチで行う

VPN設定をバッチで行う手順を掲載してます。

環境

  • OS windows10 pro 64bit

powershell

まずは「powershell」で「VPN」の設定をコマンドで作成します。
※ここでは「makeVpn.ps1」という名前で作成してます。

Add-VpnConnection -Name 接続名 `
-ServerAddress IPアドレス `
-EncryptionLevel Maximum ` # 暗号化レベル
-RememberCredential ` # 資格情報の保存
-AuthenticationMethod MSChapv2 ` # 認証方式
-TunnelType L2TP ` # 暗号化トンネルのプロトコル種別
-L2tpPsk 共有キー `
-UseWinlogonCredential ` # Windows OSのサインイン名とパスワードの利用
-Force # 確認表示をしない

各オプションについて

オプション機能や指定方法
-AllUserConnectionOS 全ユーザーを設定
-AuthenticationMethod認証方式を以下から選択
Pap」「Chap」「MSChapv2」「Eap」「MachineCertificate
-DnsSuffix 値DNSサフィックスを指定
-EncryptionLevel 値暗号化レベル
NoEncryption」(暗号化を許可しない)
Optional」(暗号化は省略可能)
Required」(暗号化が必要)
Maximum」(最強の暗号化)
Custom
-IdleDisconnectSeconds 値タイムアウトの秒数を指定
-L2tpPsk 値L2TP/IPsecトンネルの事前共有キー
-Name 値VPNの名前
-RememberCredential資格情報の保存
-ServerAddress 値サーバーアドレス
-SplitTunnelingスプリットトンネル
-TunnelType <トンネル名称>暗号化トンネル
Pptp」「L2tp」(L2TP/IPsec)「Sstp」「Ikev2」「Automatic
-UseWinlogonCredentialWindows OSのサインイン名とパスワードを利用
-Force確認を表示しない

バッチ作成

実行ポリシーの問題で「このシステムではスクリプトの実行が無効になっている」が発生しないように「powershell -NoProfile -ExecutionPolicy Unrestricted」で「powershell」を実行します。
※バッチファイルと「powershell」のファイルは同じ階層にあるものとします。

@echo off
echo VPN設定中です
powershell -NoProfile -ExecutionPolicy Unrestricted .\makeVpn.ps1
echo 完了
pause > nul
exit

あとは、上記を「.bat」ファイルとして保存して、実行すれば「VPN」が作成されます。
※すでに存在する名前の場合は、エラーとなり作成されません。