tech.guitarrapc.cóm

Technical updates

Remote Desktop Web Access の Remote Apps が重複する問題の対処

Remote Desktop Service (リモートデスクトップサービス) には、RD Web Access (RD Web アクセス) と RD Session Host (RD セッションホスト)呼ばれる機能があります。

これらの機能を使うことで、Remote Desktop Service で展開している Remote Apps を公開できます。

今回は、この Remote Apps が重複して表示される問題への対処について。

目次

Remote Apps の公開

たとえば、以下のような RD Web Apps 公開設定します。

すると、Web Access に対してブラウザ経由でアクセスした際に 通常は以下のようにRemote Apps が公開されます。

このRemote Apps の実行はあくまでも Remote Desktop Service サーバーで実行されているので、一見すると Windows や iOS、Android など OS を問わず実行が可能です。

重複した表示

しかし、Remote Desktop Service の機能をアンインストールしてからインストールし直した場合に「RD Web Appsが重複して表示」される場合があります。

正確には、前回の構成で表示していた RD Web Apps が表示されてしまいます。つまり以下の状態。

この状態は利用者からするとかなり厄介で、今回の Remote Desktop Service 構成で設定した RD Remote Apps ではないアプリを選択するとエラーが発生します。Feed 表示でも同様に重複していることから、キャッシュによるものでもありません。しかも見た目で判断は不可能です。

2件ほど似たような事例がありますが、どれも違う場合に役に立つでしょう。

問題となった設定を探す

インストールの流れを疑ってみましょう。

Server Manager の GUI 表示

設定にしたがって Server Manager > Remote Desktop Service > Collection から設定した RD Web Apps を見て見るでしょう。しかし、重複はありません。

PowerShell での Collection 表示

また、PowerShell で RD Session Collection が重複しているか見ても重複はありません。

gist.github.com

CollectionName                 Size ResourceType       CollectionDescription
--------------                 ---- ------------       ---------------------
<設定した CollectionName>      1    RemoteApp プロ...  RD Session Collection
RDWeb のフォルダ状態

RDWeb の IIS 設定は、 %WinDir%\Web\RDWeb に中身があります。

当然キャッシュもなく、Default.aspx、Default.aspx.cs にも異常はありません。

つまり、物理構成でも論理構成でもないということです。

原因はレジストリ

RD Remote Apps の実態は、設定するとレジストリに登録されます。大事なのは、PublishFarms 以下です。

PowerShell を使うと楽でしょう。

gist.github.com

通常は上記のように設定した コレクション名のエントリのみになります。しかし重複している場合は、PublishedFarms 配下に設定していないコレクション名が存在しています。

対処

レジストリから設定していないコレクション名を削除して、Remote Desktop Service を再起動してください。*1これで Remote Apps の重複が修正されます。

もしこれでダメな場合は、Remote Desktop Service の機能を入れなおせば間違いなく治ります。

まとめ

Remote Desktop Service を入れなおした時は、レジストリが汚いままなので気をつけましょう。

*1:あるいはサーバー再起動でもいいです