仮想マシンに繋がるまでがシンドイ
リモートワークでノートパソコンを起動して、VPN接続して、リモートデスクトップを起動をするのですが、仕事開始までの以下の作業が正直シンドイです。
- BitLockerのPINの入力(システムドライブの暗号化解除)
- Windows10へのサインイン
- VPN接続のID・パスワードを入力(FortiClient)
- リモートデスクトップのパスワード入力...。
何回もIDとパスワードを入力するのに疲れます。BitLockerのPINとWindowsのサインインのパスワードで二重に保護しているので、正直『Windowsにサインインしたらあとは自動で良くない?』と思う訳です。
そこで、VPN接続とリモートデスクトップ(RDP)を自動化にチャレンジしました。リモートデスクトップ(RDP)はユーザー名とお明日ワード保存したり、ショートカットをスタートアップに登録したりで簡単に実現できましたが、VPN接続の自動化で躓いたので、その解決方法をメモ。
VPN接続はFortiClientを使用
ルーターはFortiGate(フォーティゲート)を使用していて、VPN接続もここに外部から接続できるようにしています。そのVPN接続にFortiClientを使用しているのですが、ノートパソコンにインストールしたFortiClientのコンソール画面にパスワードを保存したり、自動接続する項目が見当たりませんでした。
『機能として絶対あるでしょ!?むしろ無いなんておかしい!』と思って、レジストリを探ってみたらそれらしい項目が見つかりました!
FortiClientのダウンロードページ
自動接続に必要なレジストリを設定する
レジストリエディタ(regedit.exe)を起動し、HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名
にある以下のレジストリを編集すれば必要な項目が管理画面に表示されます。
環境によってはHKEY_CURRENT_USER
にはなく、HKEY_LOCAL_MACHINE
側の場合があります。
『パスワードを保存』のチェックボックスを表示する
以下のレジストリの設定でリモートアクセスの画面に『パスワードを保存』のチェックボックスが表示されるようになります。
キー | HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 |
値の名前 | show_remember_password |
タイプ | REG_DWORD |
値のデータ | 1(デフォルトは0で非表示) |
レジストリを登録するコマンド
コマンドプロンプト(管理者)からレジストリを登録するコマンド例。
reg add HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 /t REG_DWORD show_remember_password /d 1 /f
『自動接続』のチェックボックスを表示する
以下のレジストリの設定でリモートアクセスの画面に『自動接続』のチェックボックスが表示されるようになります。
キー | HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 |
値の名前 | show_autoconnect |
タイプ | REG_DWORD |
値のデータ | 1(デフォルトは0で非表示) |
レジストリを登録するコマンド
コマンドプロンプト(管理者)からレジストリを登録するコマンド例。
reg add HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 /t REG_DWORD show_autoconnect /d 1 /f
その他のレジストリ
電子証明書のエラーを非表示にする
『無効なサーバー証明書の警告を非表示(Do not Warm Invaild Server Certificate)』の欄のチェックをオンにします。(チェックON:0、チェックOFF:1)
キー | HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 |
値の名前 | ServerCert |
タイプ | REG_SZ |
値のデータ | 0(デフォルトは1でチェックオフ) |
『常にアップ』のチェックボックスを表示する
以下のレジストリの設定でリモートアクセスの画面に『常にアップ』のチェックボックスが表示されるようになります。『常にアップ』は何を常にアップするのはわかりません...。
キー | HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 |
値の名前 | show_allwaysup |
タイプ | REG_DWORD |
値のデータ | 1(デフォルトは0) |
調査中
キー | HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 |
値の名前 | promptcertificate |
タイプ | REG_DWORD |
値のデータ | 1(デフォルトは0でチェックオフ) |
調査中
キー | HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 |
値の名前 | KeepRunning |
タイプ | REG_DWORD |
値のデータ | 1(デフォルトは0) |
調査中
キー | HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 |
値の名前 | promptusername |
タイプ | REG_DWORD |
値のデータ | 1(デフォルトは0) |
調査中
キー | HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 |
値の名前 | save_username |
タイプ | REG_DWORD |
値のデータ | 1(デフォルトは0) |
調査中
キー | HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 |
値の名前 | SavePass |
タイプ | REG_DWORD |
値のデータ | 1(デフォルトは0) |
再起動後に変更したレジストリが元に戻るとき
『パスワード保存』と『自動接続』のレジストリを1に変更したのに、再起動後すると自動接続が解除され、『リモートアクセス』の画面を開くと、チェックボックスが非表示になることが続きました。その際、以下の方法で回避しました。
スタートアップにバッチファイルを作成
- エクスプローラのアドレスバーに
shell:startup
と入力してEnterを押す - 以下のコマンドのバッチファイルをそこに置きます。
@echo off reg add HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 /v REG_DWORD /v show_remember_password /d 1 /f reg add HKEY_CURRENT_USER\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\トンネル名 /v REG_DWORD /v show_autoconnect /d 1 /f
これで、何度か再起動してみましたが、ちゃんと毎回VPNの自動接続が維持できました。