What you need to know about RDSH on VMWare Horizon

Powerful new features in ControlUp v8.2 change the game when it comes to monitoring VMWare Horizon published applications.


One of the coolest features in ControlUp v8.2 (our latest release!) is its ability to monitor and manage published applications. The reason I am so excited about this is that computing always has been—and always will be—about applications, not desktops; desktops are just vehicles for accessing applications. 

VMware realized the benefits of application streaming early on, and they’ve enabled Horizon to stream desktops and applications from Microsoft Remote Desktop Session Host (RDSH) servers since Horizon 6. When accessing published applications, Horizon allows you to stream them to the device of your choice, whether it’s Windows, Mac, or Linux-based, a VDI client, or even a tablet or smartphone.

Let’s take a look at how RDSH servers are configured, and then how Horizon delivers applications emanating from them.

Configuring an RDS Host

RDSH is a role within the Remote Desktop Services (RDS) feature for Windows Server. For RDSH to function, the RDS role must be enabled, which you can do from the Server Manager.

In order to publish applications from Windows Server, you need to install the Remote Desktop Session Host role.

Once RDSH is installed and you have rebooted your server, Remote Desktop Service service will be configured to start automatically.

Most large organizations run multiple RDS hosts. This configuration is known as a “farm” and Horizon supports this with cloned RDS hosts, making it easy to deploy hundreds—or even thousands—of streamed applications quickly.

Configuring Horizon for RDSH

Once an RDS host has been created, you publish applications by creating an application pool with Horizon Console.

In order for an RDS host to be used with Horizon, you need to install the Horizon Agent on it. When I added the Horizon Agent to the RDS host, I gave it the IP address of my Horizon Connection Server, accepted all the defaults, and then allowed the server to reboot. After these steps were complete, I saw the VMware Horizon View Agent, as well as other VMware services that were running.

To add an RDS host to Horizon, I logged in to Horizon Console, selected Farms from the Inventory drop-down menu, and then clicked Add.

The wizard asked me what I wanted to name it, and which RDS hosts I wanted in the farm.

Once the farm was created, I navigated to Applications from the Inventory drop-down menu, and then clicked Add from Installed Applications from the Add drop-down menu. At this point, I selected the applications that I wanted to stream (any application installed on the RDSH server can be used).

NOTE: As of Horizon 2012, Universal Windows Platform (UWP) applications are not supported as published applications.

I entitled the applications to the active directory (AD) users that I wanted to have access.

I logged on to my Horizon client and saw the applications that I had selected to stream, as well as my instant clone desktop pools.


When you stream an application using a Horizon client, you will see the client process, not the streamed application, in the local Task Manager, as the application will be running on the RDS host.

The Horizon Console will show a single RDSH session.

Under Applications, it will show a user count of one for each of the three streaming applications.

Using ControlUp with Streaming Applications

When you add a Horizon environment to your ControlUp Console, Horizon application farms will be added automatically. I had farms in both my Horizon 7 and my Horizon 8 environments.

Once added, ControlUp will only gather information from the Horizon Connection Server and the hypervisor (this is ControlUp’s “agentless” monitoring). Machine, session, and process level performance information is not available in this mode. To get the full performance metrics from the RDSH server, you will need to install the ControlUp Agent on it. To do this, I opened the firewall on the server to allow ControlUp through, and then clicked Install Agent for my RDS host in the ControlUp dashboard.

Once the ControlUp Agent was installed, I clicked Sessions and saw the number two listed under the Apps in Use Count column, and the two apps (Notepad and Calculator) listed under the Apps in Use column.

When I clicked the Applications tab, I saw all four applications that were being brokered by Horizon, as well as their names, status (i.e., Enabled or Disabled), and the farm that was streaming them.

When I right-clicked one of the applications, I had the option to disable the application under the Horizon Management drop-down menu. Once an application is disabled, it will show as “Disabled” in the dashboard.

When I tried to launch the disabled application, I got a “Loading Failed” message. However, my streamed applications currently running were not terminated.

In Horizon Administrator, it showed the application as not being enabled. The ability to disable individual applications was introduced in Horizon 2012. You can now enable/disable applications in Horizon Administrator from the More drop-down menu.

Applications can also be enabled from the ControlUp dashboard even though the ability to enable and disable a single action was only introduced in Horizon 2012 you can do it for applications in Horizon 7 using ControlUp.

You can Disconnect and Log off sessions from the Horizon Management drop-down menu.

Disconnecting a session will only terminate the connection and stop it from streaming; it will not stop the application from running on the RDS hosts. The application’s state is shown on the dashboard.

You can also see an application’s state in Task Manager on the RDS host.

When you start streaming an application again, they will be in the same state as they were before you disconnected from them.


Application streaming is an important technology, and one that is widely used in health care and other verticals where the need exists to deploy applications regardless of the user’s platform or location. ControlUp now brings a tool to the IT staff which helps in their management and deployment of applications from Horizon. Although ControlUp presently only has a limited number of script actions for use with Horizon streaming  applications, it does provide a platform for implementing self-healing and anonymous management of streaming applications; in the near future, I foresee this becoming a bigger trend. 

If you want to see how ControlUp 8.2 works in your environment, all you have to do is install a single executable file on a Windows machine. You can download a free-trial version of ControlUp from www.controlup.com. It can be set up in less than five minutes, and if you encounter any issues along the way, ControlUp’s award-winning support staff will be more than happy to assist you.