Adding additional session hosts means that your users can have their sessions load balanced across two or more server supporting larger numbers with better performance.
Before you start
The first time I added a second session server (onto the DC VM) I lost RDP access to DC. It came back when I uninstalled the session host which I could do from the second VM– but risky … - so maybe good idea to install UltraVNC (and test it !) if you are using Azure as the only access is via RDP maybe to allow a console method of access.
I have one VM setup as a domain controller. (VMDC)
I have a second VM (VMRDS) set up as server joined to the domain on VMDC. This server has Remote Desktop services setup and installed on it as in this article https://www.esdm.co.uk/server-2012-setting-up-remote-gateway-remote-desktop-and-remoteapp
Adding additional session hosts
One I actually figured out what I needed to do and which components needed to be on additional servers the process was actually very simple. One of the really nice features of Server 2012 is the ability to easily manage and install services on other remote servers. In this case I’m installing a session host on one additional server – but I’m pretty sure that I could have installed to multiple other servers at the same time.
Make sure other server(s) are in list – if necessary add them by going to Manage, Add servers
Go to the Remote desktop services overview and then right click – Session host and select “Add server”. This will install the RD Session Host on the selected servers if its not already there.
Once the servers have the session host installed – you need to assign them to one or more collections in order for them to be used by the remote apps of that server.
As sever users log on you can watch the connections and should see them being executed on both servers.
The collection settings allows you to control how applications are shared but by default they are all given equal weighting.
Setting up remoteApps on multiple session hosts
When you add a new remoteApp into a collection, you browse the current gateway server. Its your responsibility to make sure that the application is installed on all servers being used by this collection.
With a little care you can use a network share or mapped drives to use the same installation for multiple servers in many cases making maintenance easier. Or you can just have it setup so you just have to copy any updates round to each server.
Connecting to the server
Connecting to a RemoteApp is exactly the same (and using exactly the same FQDN) as if you have everything installed on a single server. The gateway and broker take care of all subsequent communication with other servers.
However if you want to have an RDP connection which connects to a specific collection through a broker its slightly more complicated.
- Create an RDP connection as usual – entering the FQDN (e.g. test.esdm.co.uk) for both the gateway and the machine name.
- Save the connection
- Open the connection file in notepad
- add/update the following information, substituting your RDS collection name for QuickSessionCollection if different
use redirection server name:i:1
loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.QuickSessionCollection
- Save the .rdp file and test.
Connecting to a specific session host server
By default when you try to connect the session host will direct you to a machine according to its balancing rules. If you want to perform some maintenance on a specific server this is a bit of an issue.
Fortunately simply using the /Admin switch allows you to connect to a specific server.
mstsc /v:server /admin
Is used for administration of a terminal server. In this version of Remote Desktop Connection, if the Terminal Server role service is installed on the remote computer, running mstsc /admin will do the following (for the current connection only):
- Disable Terminal Services client access licensing.
- Disable time zone redirection.
- Disable TS Session Broker redirection.
- Disable TS EasyPrint.