Step by Step Server 2016 Remote Desktop Services QuickStart Deployment #RDS #VDI #RDP #RemoteApp   18 comments

Setting up a RDS  Farm is not that hard but anyway I created a step by step guide to build a Windows Server 2016 Remote Desktop Services deployment.

there is a new feature in the Windows Server 2016 RDS  : Full OpenGL support with RDS for VDI scenarios.

And Yes you can use the Quickstart but I’m not using this in this demo setup. I tried to do a complete setup,but doing this I noticed that I’m constantly expanding this demo with new options so. I’ll keep this pure to the setup and some PowerShell basics.

Quick Start is an option in RDS deployment during the process of adding roles and features with Windows Server 2012 Service Manager. It dramatically simplifies the deployment process and shortens go-to-market while still providing the ability to add additional RDS servers as needed. The abstraction formed by RDWA, RDCB, and RDSH offers such elegancy that the Quick Start process integrates the three and deploy all to one server in a process rather uneventful. For For prototyping a centralized remove access environment, demonstrating and testing a VDI solution, or simply building a study lab for self-training, Quick Start is a fast track for getting RDS up and running in a matter of minutes. – See more at:

As a lot of customers are using Citrix just to host some applications and never heard od RDS paying big license cost. as in the options is already build-in

My DC is running the License services and this is also my broker server.


Doing this setup is in two parts One add Roles and Second  the RDS setup.


Adding the Roles to my DC and adding all the servers in the all server filter in the server manager of the DC.


Selecting the Server that holds the Remote Desktop Session host ( mvprds01 )


Selecting and installing the role. I did this in the menu but you can also do this in the configuration. and the role will be installed.


Now that the roles are installed there is an extra option in server manager <> Remote Desktop Services.


To configure Windows Server 2016 Remote Desktop Services you have to pick in the add roles and features the lower option Remote Desktop Services Installation.


As you can see a quick Start option is here but we are not using this. and check the standard deployment. now you need to configure all the stuff.

But for a quick demo you can pick the quick start option.


When using the VDI option you will need a machine that is running Hyper-v !. In my setup I’ll use the Session based desktop deployment.


A quick overview of the roles that I’ll need for this deployment.


Selecting the RD Connection Broker Server


Selecting the RD Web Access Server


Selecting the RD Session host Servers ( in this case only 1 )


The roles are getting configured and if needed deployed to the servers. I already did this but there is a check mark to deploy the Roles


Now that all the roles are installed in server manager you can go to the Remote Desktop Services


In the overview you can see what is deployed and what options you can do. but in every task pulldown item there are the same options.




I installed all my options and I’m ready to create a Collection.

Create a Collection.


In the task menu I choose the Create Session Collection,


Just Name it


Choose a RD Session host Servers


What users may access this collection. I’ll pick all domain users.



User profile disks offer several advantages:

  • Configuration and deployment is simpler than roaming profiles or folder redirection.
  • User profiles can be maintained even on pooled virtual desktops that get rolled back after logoff.
  • Logon and logoff times are reduced.
  • Previously, profiles could be corrupted if used simultaneously on multiple computers. User profile disks are specific to the collection, so they can’t be used on multiple computers simultaneously.
  • Administrators can have granular control of exactly which locations get saved to the virtual hard disk (VHDX).
  • User profile disks can be stored on Server Message Block (SMB) shares, cluster shared volumes, SANs, or local storage.
  • In pooled virtual desktop collections, user profile disks work with virtual machines running both Windows 8 and Windows 7 with Service Pack 1 (SP1).

Some things to remember about user profile disks:

  • User profile disks are available only in pooled virtual desktop collections and session collections—not in personal virtual desktop collections.
  • Share permissions are automatically set up by the management tools.
  • Use Server Manager or Windows PowerShell to manage user profile disks.
  • User profile disks are for a single collection only. A user connecting to two different collections will have two separate profiles. If you want to synchronize settings, refer to Microsoft User Experience Virtualization.



When Creating the collection we can make a start for publishing applications.


Now that the Application Collection is ready we can add applications to this collection. When selection the task <> publish remoteapp programs or in the hyperlink. there will be a discovery off all the apps on the RD Session host Servers in this case the mvprds01.mvp.local



But sure you can apps that are not discovered just press add



and  press Publish and there is the APP


When Logon to the Portal you can see the RemoteApp


Changing the Icon of the RemoteApp can be done by PowerShell or copy and replace. On the RDS Broker server. goto the path :



all the RemoteApps are there and can be changed here.

OR change the ICON with the shell23.dll with powershell


To change the Icon

The Icon Index for this interface works top to bottom, starting with 0. So count the rows until you see your desired icon, multiply this by 4, subtract 1, and count up to your desired icon. The Icon Index for the Windows Update icon turns out to be 46.

Type one of the following commands in the Powershell box:

Get-RDRemoteApp -Alias "clustermvp" | Set-RDRemoteApp -IconPath "c:\windows\system32\shell32.dll" -IconIndex 46

Creating Subfolders in the Application

Using the The RemoteDesktop PowerShell module we’re also able to add subfolders in RD Web Access and “move” specific Remote Apps to specific folders.

In order to do so we use the same command as above, Set-RDRemoteApp. For example, to create a subfolder called “My tools” and move the Remote App MSpaint to that folder you can use the following command:

Set-RDRemoteApp -CollectionName “Application 1” -Alias clustermvp -FolderName “My tools” -ConnectionBroker mvpdc01.mvp.local


Creating File Extensions

A common setting is configuring the file extensions for Remote Apps. Inside the ServerManager GUI, file extensions are configured as a property of a RemoteApp, therefore you would expect that setting a file extension using PowerShell should be done using the command Set-RDRemoteApp. Instead, we need to use a different command called Set-RDFileTypeAssociation.
For example if we want to add the file extension .pdf or .txt to a Remote App Acrobat Reader or Wordpad we can use the following command:

Set-RDFileTypeAssociation –CollectionName “Application 1” -AppAlias AcrobatReader -FileExtension .pdf -IsPublished $true –ConnectionBroker mvpdc01.mvp.local


More about using Powershell to manage RemoteApp programs.

Get-RDRemoteApp ( is used to list properties for RemoteApps.

Get-RDRemoteApp -alias “wordpad” | fl


Set-RDRemoteApp ( is used to set properties for RemoteApps.

Set-RDRemoteApp -Alias “wordpad” -DisplayName “WordPad – Renamed”

New-RDRemoteApp ( is used to create a new RemoteApp in a certain collection.

New-RDRemoteApp -CollectionName “RemoteApps” -Alias “regedit” -DisplayName “RegEdit” -FolderName “Admin Tools” -FilePath “C:\Windows\regedit.exe”

Remove-RDRemoteApp ( is used to remove a RemoteApp.

Set-RDRemoteApp -CollectionName “RemoteApps” -Alias “wordpad”

Get-RDAvailableApp ( is used to list available applications to publish in a collection.

Get-RDAvailableApp -CollectionName “RemoteApps”

Get-RDFileTypeAssociation ( lists the filetype association(s) for a certain application.

Get-RDFileTypeAssociation -AppAlias “wordpad”

Set-RDFileTypeAssociation ( is used to set the filetype association(s) for a certain application.

Set-RDFileTypeAssociation -CollectionName "Application 1" -AppAlias "wordpad" -FileExtension ".txt" -IsPublished $True -IconPath "%ProgramFiles%\Windows NT\Accessories\wordpad.exe" -IconIndex 0


Happy RDS clustering

Robert Smit



Posted June 23, 2015 by Robert Smit [MVP] in Windows Server 2016

Tagged with

18 responses to “Step by Step Server 2016 Remote Desktop Services QuickStart Deployment #RDS #VDI #RDP #RemoteApp

Subscribe to comments with RSS.

  1. Hey Robert,

    Thanks for sharing.

    I’ve setup the deployment as described. It worked in the first place, but then I started to change some things and now it does not work anymore.

    You’re not talking about certificates our any configuration changes you’ve made to the ‘edit deployment properties’ in server manager.

    I’ve created a DNS record for this points to the web access / gateway server. The RD Web Access url is set to the local url (webaccessserver.domain.local/RDWeb)

    Certificates are all set to * and are all trusted.

    Now I am facing the error: Remote Desktop can’t fint the computer This means that does not belong to the network.

    But when I try to ping I get an reply from my webaccess server, so it is findable.

    It’s an internal connection so the usual solution for this problem (changing gateway enty in IIS) is not working for this issue.

    Based on my information, can you put me in a direction to take a look at?

    • So ping has no relation to trusted or not. make sure the gateways and DNS are fine. maybe for test you can put a host file on every involved machine with all the IP just to make sure. also the *.domain cert must be available on the involved machines and trusted so a bogus website must respond. did you check the local firewall.

  2. Hi great to see this kind of information, do you know if I can manage this with 1 server ?

    • you can’t do this with just one server. you need a dedicated hyper-v server for the VDI. but you can use VM’s but it all depends on you configuration, VDI needs a hyper-v server the desktop sharing could based on one Hyper-v server.
      thanks for reading my blog for direct questions you can tweet me @clustermvp

  3. Hi Robert – I have setup Server 2016 as a simple RD Session Host and it is working fine – however the Remote Desktop Services Manager application doesn’t seem to be installed, just a couple of RDS Licensing apps. Should it be there, or is there a new way to keep tabs on who is logged in? Have done a bit of searching but documentation seems a little sketchy as yet on RDS 2016.

  4. Hi Robert – I have been looking but cannot find an answer to this question. Are there differences in RDS capabilities when using 2016 Standard vs 2016 DataCenter? Appreciate your write up.

  5. I cannot access our RDS Deployment from outside of the LAN. Deployment details as follows:
    EDIT: Server 2016
    Broker01/Broker02 – Configured in HA both with internal IP (10.x.x.x) – Broker01 also holds the Web Access role
    RDGateway01 – Two NICS, on internal IP address (10.x.x.x) and one for DMZ (192.x.x.x)
    SessionHost01/02 – Both with internal IP Address (10.x.x.x)
    Everything works beautifully on the inside, I can type our URL and there is no problems. Issues arise when trying to access externally.
    The firewall on the DMZ has been set to forward requests on port 443 to the RDSGateway01 but I keep getting “This Page Cannot Be Displayed” or something different depending on the browser. What am I missing?

  6. I’m looking at setting up this way for the first time…been using 2008r2 where everything Remote App can be on one server. I use a single hosted VM now, but looking at your article it looks like I’ll need a minimum of three. Correct?

  7. What about CALS on windows server 2016 regular and essentias. Do I need CALS to activate RDS or no?

  8. Hi Robert,
    We have setup Server 2016 as a simple RD Session Host, and everything it´s ok but printing redirection doesn´t works. Server not connecting local printers although the option is checked. Any ideas?. Regards.

  9. Hi Robert,
    Great post. We have a challenge though: can you somehow let one user connect to multiple vdi’s from the pool? We are having Kiosk-machines we want to wipe everytime a user logs of – and a way is rds in pools – we only have one user that is connecting (should happen automatically when someone starts the pc up) we tried with server 2012 r2 which looks quite similar to 2016.
    Any guesses/ideas in that matter?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

  • Twitter

  • %d bloggers like this: