MacOSのRDP設定ファイルはどこにある?(Windows.App)

まったく、RDPクライアントがWindows.Appだなんて!とんでもないアプリ名に変えてくれたもんだMicrosoftめ。関連情報がキーワード検索しにくくって仕方がない。

普段MacOSを使っていると、あまりアプリの動作に関係するような情報に深入りしようという気にならないせいか、Windows.AppがRDP接続先の情報をどこのフォルダに格納しているのか意識することもない。

でも、今回ちょっとだけその情報に触れてみたい事があったので探してみることにした。

RDP接続アプリのWindows Appアイコン

■設定ファイルの保存場所は

答えから言うと、

設定ファイルの格納場所は:
~/Library/Containers/com.microsoft.rdc.macos/Data/Library/Preferences/com.microsoft.rdc.macos.plist

セッションファイルの格納場所は:
~/Library/Containers/com.microsoft.rdc.macos/Data/Library/Application Support/com.microsoft.rdc.macos

のなかに存在するようではある。
※”macos”のほか”mac”となっているフォルダやファイルも存在する場合があるので更新日時でどれが新しいものか判断する必要がある

ただ残念なことに、プレーンテキストで保存されていることを期待したのだけれどどうやらSQLiteであるようだ。なので下手に手を加えてしまうことは避けたほうが、みずからトラブルを招き込まずに平和に過ごせることだろう

■sqliteを直接見てみる

それでもやはり目の前のファイルの中身をのぞき見してみたい衝動には駆られる。

CLIからだと sqlite3がインストールされていることが前提だけれど、

% sqlite3 “~/Library/Containers/com.microsoft.rdc.macos/Data/Library/Application Support/com.microsoft.rdc.macos/com.microsoft.rdc.application-data.sqlite”

とすることで、保存してある接続先のデータベースに潜り込める。

ここからはsqlite3のコマンド操作になるが、

sqlite> .tables

と入力するとテーブル一覧が参照でき、手っ取り早く

sqlite> SELECT * FROM ZBOOKMARKENTITY;

とすると、保存されている接続先とそのパラメタ一覧が画面いっぱいに表示される。

まーいろんな値が格納されていること!と思いながら眺めるのもよし。

RDP接続先一覧

■修正方法は

さて、今回修正しておきたいパラメタはたったの1つ。

とある接続先の connection type:i:1 となっている部分を connection type:i:6 あるいは 7と書き換えたいのみ。

そのためにまず調べるのがテーブル構造。

sqlite> .schema ZBOOKMARKENTITY

で確認すると、とりあえずキー項目と人間が読んで判断できそうなホスト名らしき項目があるので、

sqlite> SELECT Z_PK, ZHOSTNAME FROM ZBOOKMARKENTITY;

とすることで一意のIDとそのホスト名やIPアドレスが表示される。

だけれど、フィールド名を眺めてみても直接RDPのパラメタを保持しているようなフィールドは見当たらず・・・

sqlite> SELECT Z_PK, ZHOSTNAME, ZRDPSTRING FROM ZBOOKMARKENTITY WHERE Z_PK=18; ※一覧から得たID

と試してみると、嫌なことに修正したい値を含めたRDPのパラメタ値が文字列としてだらだらと格納されていた

sqliteって直接文字列を操作したりできるのかなー?と不安に思いつつも、

sqlite> UPDATE ZBOOKMARKENTITY SET ZRDPSTRING = REPLACE(ZRDPSTRING, ‘connection type:i:1’, ‘connection type:i:7’) WHERE Z_PK=18;

と入力し、反映されているかどうか確認すると無事にパラメタが書き換わっていた。

試しにRDP接続してみると、無事に修正した設定が反映されていたので書き換えポイントは間違っていなかったようだ。

最後は

sqlite> .exit

としてデータベースを閉じておくことを忘れないように。

■データベース操作に慣れてないと

私自身もデータベース操作に慣れているかと問われると、どちらかといえば苦手なほうと答える入門者レベル。

データベース操作はちょっと間違ってしまっただけでも全体を壊すことに繋がりかねないので、安全のためには触れないほうが良いでしょう。

どうしてもパラメタを書き換えたい場合には、

・Connections – Export to RDP file…を選んでファイルに書き出し
・書き出したファイル内をテキストエディタで編集
・再びInport from RDP file…

といった手順を踏むのが安全だしわかりやすいでしょう。直接書き換えちゃったほうが楽じゃないかと思ってたんですが、これじゃあどっちが手間なのかよくわからないくらいの差ですね。


安心安全安価なSDカードデータ復元・HDDデータ復元は
長年の信頼と実績の『株式会社パソコントラブル救助隊』へ。
https://hqsecure.net/