URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

"rasphone"と"rasdial"

 Windows標準のVPNクライアントでVPN接続の自動化を実現する場合、"rasphone"か"rasdial"をタスクマネージャで定期的に実行する方法があります。
 昔からよく使われる方法だと思うので特に新しいことはないのですが、久々に仕事で使ったのでメモです。


 直近の環境ということでWindows 10が前提。
 とりあえずWindowsの設定で「ネットワークとインターネット」のメニューからVPN接続を構成ししておきます(VPN接続の設定は本題ではないので割愛)。
 この時、ユーザー/パスワード等の認証情報は保存するようにする。


  • "rasphone"を使う場合

 コマンドプロンプトから"rasphone -d "を実行することでVPN接続が開始される(既に接続済みの場合は何も起こらない)。
 ただし、Windows 10ではデフォルトで接続のダイアログが表示されるため、事前に電話帳ファイルの設定変更が必要となる。
 電話帳ファイルは既定で"%APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk"になる("%APPDATA%"は、通常は"C:\Users\<ユーザー名>\AppData\Roaming")。ただし、Administratorユーザーで作成した場合は"C:\ProgramData\Microsoft\Network\Connections\Pbk"フォルダに作成されるケースがある。
 変更箇所は、"PreviewUserPw"の値を"1"から"0"にする。VPN接続を複数構成している場合は、変更箇所に注意すること(1つのファイル内でVPN接続名ごとにセクションがある)。

[<VPN接続名>] Encoding=1 PBVersion=4 Type=2 ~ snip ~ PreviewUserPw=0 ~ snip ~
  • "rasdial"を使う場合

 コマンドプロンプトから"rasdial <接続名> <ユーザー名> <パスワード>"を実行することでVPN接続が開始される(既に接続済みの場合は、そのことを示すメッセージが表示される)。
 こちらはVPN構成時にユーザー/パスワードを保存していたとしても、引数として必須となる。なので、バッチファイル等にパスワードを記載することになるため、そのあたりを気にするなら"rasphone"の方がよいと思われる。