物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

Windows10 や Windows Server で VPN常時接続 Always on VPNの方法

VPNを自動接続するには、パスワードを入力するウィンドウが出てくることを抑止する必要がある。そこで、

%AppData%\Microsoft\Network\Connections\Pbk

内の rasphone.pbkPreviewUserPw を0にする

トリガーは、グローバルIPアドレスが必要な出口かどうかでチェックする。

if((Invoke-WebRequest inet-ip.info/ip).Content -eq "133.X.X.X"){
    echo "OK"
}
else{
    rasphone -d "Xlab-external"
}

などと書いたファイルをデスクトップ等に保存する。ファイル名は always_on_vpn.ps1 とかで。

管理者権限のPowerShell

Set-ExecutionPolicy RemoteSigned

を実行する。さっき作った always_on_vpn.ps1 を実行して、VPNに接続できればOK.

Invoke-WebRequest : Internet Explorer エンジンを使用できないか、Internet Explorer の初回起動構成が完了していないため、
応答のコンテンツを解析できません。UseBasicParsing パラメーターを指定して再試行してください。
発生場所 C:\Users\xlab\Desktop\always_on_vpn.ps1:1 文字:6
+ if ((Invoke-WebRequest inet-ip.info/ip).Content -eq "133.X.X.X") {
+      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotImplemented: (:) [Invoke-WebRequest], NotSupportedException
    + FullyQualifiedErrorId : WebCmdletIEDomNotSupportedException,Microsoft.PowerShell.Commands.InvokeWebRequestComman
   d

と出た時は、Internet Explorerを起動して初期設定をやる。

タスクスケジューラによる常時VPNの設定。起動時と毎日1時間ずつの設定をする

全般

  • ユーザーがログオンしているかどうかに関わらず実行する
  • 最上位の特権で実行する

トリガー 1

  • タスクの開始はスタートアップ時
  • 遅延時間は1分間

f:id:onsanai:20191128205552p:plain:w300

トリガー2

  • タスクの開始はスケジュールに従う
  • 設定は毎日で、開始はいつでもよい。間隔は1日
  • 繰り返し間隔は1時間 (VPN先の安定度による)
  • 継続時間は1日間

f:id:onsanai:20191128205628p:plain:w300

操作

  • プログラムの開始
  • プログラム powershell
  • 引数の追加 -c "C:\Users\xlab\Desktop\always_on_vpn.ps1"
    (ユーザー名は適宜設定されたし。)

条件

  • ネットワーク 次のネットワーク接続が使用可能な場合のみタスクを開始するに のみ チェックを入れる。ほかは外す

設定

  • タスク要求時に実行する のみ チェックを入れる。ほかは外す

f:id:onsanai:20191126133041p:plain

OKを押し、パスワードを入れて完了。

kusoneko.blogspot.com