Remote Desktop Service (リモートデスクトップサービス) には、RD Web Access (RD Webアクセス) とRDセッション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件ほど似たような事例がありますが、どれも違う場合に役に立つでしょう。
https://yamanxworld.blogspot.jp/2013/03/windows-server-2012-rd.html
問題となった設定を探す
インストールの流れを疑ってみましょう。
Server Manager の GUI 表示
設定にしたがってServer Manager > Remote Desktop Service > Collection
から設定したRD Web Appsを見て見るでしょう。しかし、重複はありません。
PowerShell での Collection 表示
また、PowerShellでRDセッションCollectionが重複しているか見ても重複はありません。
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を使うと楽でしょう。
通常は上記のように設定したコレクション名のエントリのみになります。しかし重複している場合は、PublishedFarms配下に設定していないコレクション名が存在しています。
対処
レジストリから設定していないコレクション名を削除して、Remote Desktop Serviceを再起動してください。*1これでRemote Appsの重複が修正されます。
もしこれでダメな場合は、Remote Desktop Serviceの機能を入れなおせば間違いなく治ります。
まとめ
Remote Desktop Serviceを入れなおした時は、レジストリが汚いままなので気をつけましょう。
*1:あるいはサーバー再起動でもいいです