こないだPC故障でPC間で環境&データ移行したときに、「Remote Desktop Connection Manager」の移行でちょっとアレッ?おかしいなということがあったのでご報告です。
アプリケーションの移行で…
こないだ、数年使っていたPC環境をやむを得ず移行することになりました。
で、移行元のPCで便利に使っていたツールの一つに「Remote Desktop Connection Manager」があります。
これは何が便利かといいますと、リモートデスクトップの個別設定を一覧にして「Remote Desktop Connection Manager」内に保管しておくことができる、という点が便利です。つまりリモートデスクトップの接続情報を個別に保管しておいて複数のRDP接続を単一のウインドウ内にまとめつつ、複数の接続設定を用意してIDとパスワードを記憶しておくことができる、という点です。通常のRDPだと認証情報は一種類しか記憶できませんがRemote Desktop Connection Managerを使うと一台のコンピュータに対して複数のユーザ認証情報を保存しておきダブルクリックでリモートデスクトップに接続できる、というのが便利です。
通常のリモートデスクトップだと.rdpファイル一つで一つの接続情報しか管理できませんけど、Remote Desktop Connection Managerを使えば複数の接続情報を管理できるうえ、その接続情報をグループ化できるのも大きなメリットです。
リモートデスクトップを多用している環境では手放せないツールの一つですね。かれこれ四・五年は便利に使い続けています。
PC移行で…
Remote Desktop Connection Managerは接続情報は.rdgファイルで保管して管理しています。
このファイルを移行先のPCでRemote Desktop Connection Managerインストール後に読み込むと、パスワードが云々とエラーが出力されます。
------------------------------------------
here were problems decrypting some credentials.
Click OK to copy the details to the clipboard.
------------------------------------------
とエラーが出て
------------------------------------------
Credentials profiles:
RDCmanグループ名: ID設定名 (File) [Failed to decrypt using %COMPUTERNAME%\%USERNAME%credential]
------------------------------------------
と連続して出てきます。
続いて
------------------------------------------
Custom passwords:
RDCmanグループ名\登録コンピュータ名\ID設定名: RDCMan/file/group/server/logonCredentials/password [Failed to decrypt using %COMPUTERNAME%\%USERNAME% credential]
------------------------------------------
簡単に言えば、Remote Desktop Connection Managerの設定ファイル.rdcというのは別のマシンに移すと記録していた認証関連のデータが使えなくなっちゃうってことです。
対策
Remote Desktop Connection Managerは接続情報は.rdgファイルで保管して管理しています。
このファイル実はXML形式で記述されており、メモ帳などで開けば簡単に編集が可能です。
このファイルを開くと
<password> </password>
という部分にハッシュ化されたパスワード文字列が表記されています。
ここを全部消してしまう。
正規表現を使って一気に消してしまう方が多数派のようですが、あまり得意じゃないので
<password>
とある後ろにTabを挿入。
</password>
とある前にTabを挿入。
※挿入はTeraPadを使って「¥t」を追加した<password>\tに置換してしまえば一括で挿入できます。
Tabを挿入すればあとはExcelに貼り付けるだけでパスワード部分が一気に列で触れるようになります。一言で言ってしまうと一気に削除。
あとは空になったパスワードを再入力するだけなのですが、Remote Desktop Connection Managerはグループに認証情報を割り当てることができるため、グループ化していればグループ内のリモートデスクトップ接続先の認証情報は一括で設定できてしまいます。この際なのでグループをうまいことまとめて簡単にユーザIDとパスワードを設定することにしました。
Active DirectoryのOUもそうですけど、この手の構造って結局セキュリティの境界線が分類の境界線とイコールになる、ってことが多いですね。