This is a step-by-step guide to installing Remote Desktop Services 2016 and publishing your application collections. But, for those not familiar with Remote Desktop Services, let me explain it first.
Remote Desktop Services is a virtualization platform for providing end users with secure remote desktop access, to published applications and remote desktops. Remote Desktop Services offer various deployment options, such as on-premises (Windows Server 2016) or cloud-based (Microsoft Azure). Virtualization can be session-based, meaning Windows Server host will provide resources or desktop-based, meaning connecting a Windows client will handle the load.
By installing Remote Desktop Services 2016, you will opt-in for a significant improvement compared to older versions. Remote Desktop Services now supports second generation virtual machines and deployment of personal session desktops, which enable each user to get an assigned Remote Desktop Session Host. Also, the Windows Multipoint Services is now part of Remote Desktop Services 2016, and is no longer a separate product.
Installing Remote Desktop Services 2016:
From Server Manager dashboard screen, select “Add roles and features”.
In Add Roles and Features Wizard, select “Remote Desktop Services installation” installation type. This will start the full RDS configuration process. In case you need to manually add specific RDS roles and features to specific server from the pool, you can select “Role-based or feature-based installation” but it is not normally used when installing Remote Desktop Services for the first time.
Select “Standard deployment” to install Remote Desktop Services 2016 normally.
The “Quick Start” option is suitable for demonstrating or testing a virtual desktop solution. It installs the three essential RDS roles (RD Connection Broker, RD Web Access, and RD Session Host) on a single server and automatically builds basic application collection for the host server.
Select the “Session-based desktop deployment”, unless you want virtual machines running Hyper-V for virtual desktop deployment.
On this step, you are given the information regarding which roles will be installed and which account will be used to create the deployment.
For each of these steps, you select one of the servers to have the specific RDS role installed. For the RD Session Host role, you can select multiple servers that would be in the farm.
After selecting servers for each RDS role, you will come to the confirmation screen where you can review deployment options selected in previous steps. Just click “Deploy” and the installation will start.
The installation of RD Session Host requires the destination server to restart, so you can check “Restart the destination server automatically” to skip a manual restart.
After installing of Remote Desktop Services 2016, you will receive the notification in the Server Manager.
Installing additional roles for Remote Desktop Services 2016:
After Installing Remote Desktop Services 2016 using the wizard, the “Remote Desktop Services” tab will appear on Server Manager dashboard. Under that tab, you can see the RDS deployment information. You will also notice that RD Gateway and RD Licensing roles are not set-up and you can start configuring them by clicking on icons marked on the picture below.
The RD Gateway role enables remote users to enter your RDS environment from outside by using RDP over HTTPS. RD Licensing role, as expected, handles the licensing for RDS.
To install the RD Gateway role, you must first select the server from your server pool.
To encrypt the communications between Remote Desktop Services clients and RD Gateway server, you need an SSL certificate that can be self-signed by your CA and only then can you share it via group policy, or it can be from one of the SSL vendors.
To install RD Licensing role, just click the icon for RD Licensing and repeat the steps for the RD Gateway installation. At the end of the process, you RDS deployment overview should look like this:
Publishing applications in Remote Desktop Services 2016:
From the Remote Desktop Services dashboard, select “Create session collections”. If you have used the “Quick Start” deployment type then you’ll already have one application collection created with some basic Windows applications published.
Give the collection you’re creating a descriptive name and write a description.
Select RD Session Host servers on which you want to publish your collection.
Specify the user groups that should have access to your collection. The wizard will automatically allow all your domain users but you can remove them and specify more.
For each user connecting to your RD Host, the system can create a profile that will be stored on disk or the file share. In this step, you can choose the location for a user profile and allocate disk size.
Your newly created collection will be visible under the Remote Desktop Sessions dashboards. Open it and select “Publish RemoteApp programs” in order to select applications you want to publish.
In the Published RemoteApp Programs wizard, select the applications you wish to publish. If the generated programs list is missing specific applications then you can simply add it to the list.
After you have added applications to collection, you can easily edit properties for each of them or add even more applications. To do that, just click the “Tasks” dropdown menu and select the wanted action.
This was a brief guide on how to install Remote Desktop Services 2016, covering only the basics. Each RDS role can be additionally configured to fill specific requirements. After setting up RDS and application collections, end users will start connecting to your servers.
Please write down in the comments if you guys would like to see more complex environments and I would be happy to write that kind of tutorial as well.
BTW, if you need to monitor who the users that log on to your servers are then you can use SysKit. Please ping me for the feedback, I love to hear what matters as you need to track your users and applications.
an awsome article, very educational
I have one question, I am confused
So after I publish my apps following the steps, where do they show up for my users to launch them.
What I want to do is this: for my users to login to the domain from a workstaion and find the published RDS application under the menu of the workstation as if it is installed in the local machine. The way it was in Remote app in windows 2008 R2. How do I accomplish that
Also how do I do that from the web, like give them a link and when they click on the link, they are given a menu of application and when they click that they are asked to login to domain , then the app launches
thanks for your time
The easiest way is to provide them access to the portal.
There is a way to publish it to the start menu as well, but I do not recommend messing with that :-) I always had some kind of strange issues with it.
Sorry for the tardy reply. But your answers and article is useful and I was wondering if you can point me to ways to securing my portal: https://myserver\rdweb and also if comment on the licensing. I want to use the exernal licensing but someone said I cannot use that as students are not external.
Please shed some light on the security and licensing if you can
I immensly appreciate your work
“The easiest way is to provide them access to the portal.”
Umm – which portal? if I open an RDP session as a user to the Connection Broker, it appears just like the admin desktop I use to manage the server. If I try to browse to the CB server I get the default IIS page. What am I missing?
Hi Jess, sorry for responding a bit late, but the URL if RD web is installed should be https://server_name/rdweb, have you checked that URL?
Great guide, very helpful. I have just one question. If I have a Session Host farm, do I need to install the program on every server on the farm?
Hi Dame, which program do you mean? :-)
Hi Frane, thanks for a splendid description :)
A quick question though.. is it only possible to use one server with RD Licensing role installed? i´m curious if its possible to set up two servers with the RD Licensing role installed, in case one of the servers becomes unavailable?
I cant seem to find much information about this, and what I did find was related to server 2012, but indicated that you would have to split up the licenses between each server, such as if you have 100 in total, that would be 50/50. But I reckon that is gonna be an issue if I actually need more than 50 before the other server comes back up again. Do you know what options there is to make this RD Licensing role highly available?
Unfortunately that is the case for the last 10 years :-( so there is no way of having HA solution for the RD licensing role otehr than that. If you are left of the licenses on one server the recommendation is to purchase more licenses (evil microsoft :-)
Hello Frane , in a context that my users will run the application directly on the session of my terminal server farm. Do I still need to publish application ? Like for exemple outlook 2016. In my 2008 r2 TS farm , I just installed the same software on every TS. It will be the same way ? Do you think that the “Collection” will still be necessary ?
The collection is there by default, it is different way of thinking how remote desktop services works in the 2016.
shouldnt the certificate be FQDN with .contoso.local and not just contoso.local?
that is 100% correct! :-) my bad should be the FQDN I am not sure why I took the wrong screenshot.
I followed your instruction 100%. Somehow, I get stuck when I run the RDP. It can’t connect to the remote server.
Note: I even try the calculator, paint… same not working.
Appreciate any help.
An internal error has occured :(
Hey Bryan, have you managed to solve out anything?
IS there any particular requirement for Remote Desktop gateway to work. I had it working for Windows 2008 . I cant seem to make it work on WIndows 2016. I trusted the wildcard cert and still wont work work. I also change my host file point to an internal IP with the external DNS name. Is there a setting that I am missing
If we need to instal an application to the farm, should we install it one by one RDS host?
there is a way to install it instantly in all RDS hosts?
I would like to ask you something a bit out of the topic. What do you recommend in regards of publishing the remote desktop giving to the users personalized sessions(I mean sessions that they can save their icons and things as they wish) like giving them their users desktops or just the 2016 session from the server which they won’t be able to personalize? how good is 2016 for RDC compared to 2008 that I already have? Could you give me some examples? Do you have a tutorial that I can see how to configure the server with individual users sessions using the terminal server?
If I have licensed 80 sessions then suddenly I increase it to 120, can the server keep on working somehow until I buy the new licenses?
I highly recommend staring with 2016, 2008 R2 was a great windows server build but 2016 will replace them in the following years, I highly recommend it!
When creating a farm, do I need a different server for a desktop session and published apps. Or can I have them all on one server?
it can be all on one
Hi Frane ,
I installed the RDS role following your steps , please advise how to install RDS CALS for users inside my organization to allow 5 simulatenous sessions.
you need a license for that, do you have it?
i’ve 2 win 2016 server on which sql 2016 runs in mirroring.
On each “node” we’ve installed a litte application that is connect at sql.
Question: i want to “publish”, for my domain users, this application, using DNS round robin in order to manage “D.R”.
In which way i’ve to deploy RDS?
I’ve installed on a vm all the roles and – for example – calc or sql management works fine… but really i don’t know where to start in order to deploy remote application in only 2 “nodes” balanced via DNS..
May you help me?
Thank you very very much.
PS: Sorry for my English
Thank you for the article its easy to understand. Currently i am stuck up with an issue. Please help me.
I have a environment with 20 servers, from which 3 virtual machines were used for setting up RDS ( session host+ Connection broker+Gateway). I did the RDS Setup from Connection broker, did created collection where i could access the apps, but not sure how to get connected to 17 vm’s. Please do needfull.
This is a good thorough walkthrough, thank you. I got here because I have an issue I can’t resolve and have been searching for days. I have the setup all working, but when I turn on the gateway I get an error “Your computer can’t connect to the remote computer because the Remote Desktop Gateway server address requested and the certificate subject name do not match”. It then tells me to contact my admin, since I am the admin I get stuck in an infinite loop. Have you seen this before and solved it? I have done a lot to try to fix it (GPO etc) and still can’t fix it.
I know this is an old post, but I have one question.
I have to Win2016 machines, I created RDweb access website and it works. Question is if there is a way to publish on that web applications from other server?
to be honest I am not sure, I need to check on that :-)
Of course I meant *two* Win2016 machines.
Is there a tool within RDS that allows you to launch a local application simultaneously after trying to access a remoteapp when the RDSH server fails?
Thanks in advance.
Hi Laura, so you mean launch application on the second server?
Great article, very easy to understand and to the point. I have set up a RDS collection, currently publishing a RDP session pointing to my session host server, but having an issue. Every time a user runs that app, two connections show up for that user in the collection? Have you ever experienced something like that?
interesting, have you been able to resolve this issue? Are you talking about the RDSH or the RD gateway? because I know on the gateway you see the two connections, one for UDP the other for TCP.
is it possible install RD in windows 2016 without domain?
good question :-) to be honest I haven’t tried but I highly doubt
Is there a way to migrate 2008 rds licenses to a new 2016 rds licensing server ?
unfortunately no, you need to register new licenses with Microsoft. each version of the windows needs its own matching licensing server
Great guide – do you have any idea on (user) capacity of RDS without scaling? Obviously its dependent on your infrastructure and applications being used, but just roughly? I’m struggling to find anything, anywhere with information on user capacity.
so I saw infrastructure on 200+ servers with 15000 users believe it or not. the company is struggling with the management so they created their internal scripts for managing the farm.
Great article, helped me to tackle down a few issues on my setup, but there’s just one left:
I want to publish apps from different servers, so I created a collection on two of them, but only the apps from one server are available on the portal.
What should I do in this case?
have you been able to resolve the issue Gabriel, get in touch with me via the email please.
A wonderful and useful walkthrough, thank you very much.
I have a question that has been asked previously but unanswered I think… In the scenario of multiple session hosts where load blancing may direct a user to a different host to last time, do applications (for example Word, Sage Accounts, Quickbooks) have to be installed on each session host? I plan to use UPD & RedirectedFolders on a common shared storage area.
Hi Andy, thanks for the notice.
Well if you want to expose all the same apps to the end user then yes, but if you have a lot of different apps that need to be isolated I recommend using different collections and then only on that RDSH install required apps.
Great post! Thanks!
Also, do you know if a multiple RD Gateway is possible (server 2016)? And if yes then how is it working. In standby or failover and does it need a sql database config like the connextion broker in high availiblity. Thanks :)
well to be honest I haven’t tried it, but it is a great idea for one of the next blog posts!!! :-)
Is it possible to install same applications from existing session host server to newly added session host server? To avoid applications difference between existing and newly added session host servers.. Because we have sccm package collection for session host server but after pushing package on newly added session we could see some differences are there in existing n newly added RDSH servers.. How to mitigate this differences. Awaiting for your reply to move forward
you can clone the machine. what kind of the application you have? it really depends on the application, how it is licensed, where is the config (database, registry, local files etc.). The question is really generic unless you provide more data I cannot provide you clever answer. send me an email, you can check it under contact me.
Hi Frane, thank you for publishing the article. I am very new to implementing Terminal Services. I have an application that about 9 users will need to use via Terminal Server. My first question is, do I need to split the roles such as licensing, and the broker to different servers, or can I put it all on one server?
Can a W2k16 RDS Server/e be added to W2k12 R2 RDS Farm.?
Thanks so much for this article. I was able to setup everything as you described here. But I’m using a single VM for all 3 (session host, RD gateway and broker). I am able to publish the apps and see the apps on the browser. But when I click on the app, it tries to open and then immediately disappears. Don’t see anything on event logs in both server and client. Any tips to troubleshoot this further.
I followed your instruction exactly step by step. If I am suing workstation in the box, everything works fine. However If I am outside of the box, the error massage say “The remote computer cannot be found”. It look the connection try to connect my local host server xxxx-server.xxxx.local. Any idea ho to solve the problem?
no :-( it must be environment specific