Consider the following scenario:
You have more than one Remote Desktop Session Host servers.
You have a Remote Desktop Web Access Server that publishes the RemoteApp hosted on the RDSH servers.
There is no RemoteAccess Connection Broker configured for these servers.
Whenever any of the RDSH servers are offline due to a reboot or some other maintenance, the RemoteApps are not available through RDWeb and the RDWeb page would show blank.
Additionally, you may see following errors are logged in the RDWeb trace log:
[Error] WMI COM error accessing Terminal Server: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
[Warning] Thread 5 WMI COM error setting up event watcher: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
This is an expected behavior if there is no connection broker in the RDS setup to check for the availability of Remote Desktop Session Host servers and manage their farm membership. The RDWeb server tries to get the list of RemoteApps from each server in the RemoteApp Sources and then populates them on the webpage.
Considering the scenario where there are multiple servers listed in the RemoteApp sources of a RDWeb Access server; and of which many are offline. Then it would take a substantial amount of time for the RDWeb Access server to loop through the entire list of RDSH servers, (wait for the timeout to decide if a server is offline) and then continue checking the next ones to show the apps. If list is long this will cause long delays before the RemoteApps are shown on the RDWeb page. To cut down on the time taken to search each and every RDSH server , the RDWeb doesn’t show RemoteApps from the RDSH servers if it detects any of them RDSH to be offline.
To work around this behavior, use a Remote Desktop Connection Broker in your environment. The Connection Broker does not forward apps from servers which are offline/down to the RD Web Access server. Hence the RemoteApp from only available servers would be displayed instead of presenting a blank page.
For information about Deploying Remote Desktop Web Access with Remote Desktop Connection Broker, refer to the following links:
Deploying Remote Desktop Web Access with Remote Desktop Connection Broker Step-by-Step Guide
Download - Deploying Remote Desktop Web Access with Remote Desktop Connection Broker Step-by-Step Guide
To Enable RDWeb logs follow below steps:
On the RDWeb Access Server, open RDWeb's Web.config file (default location is %windir%\web\rdweb\web.config)
Set the trace level to verbose by changeing the value of TraceTSWA to 4. <add name="TraceTSWA" value="4" />
Set the trace mode to file tracing, find the block that starts with: <!-- uncomment for file tracing, and delete the start and end comment lines (the lines starting with <!-- and -->)
Log onto RD Web Access and trigger the error
The logs are generated in %windir%\web\rdweb\App_Data\rdweb.log