Step by Step Server 2016 Remote Desktop Services QuickStart Deployment #RDS #VDI #RDP #RemoteApp   10 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: http://blogs.technet.com/b/yungchou/archive/2013/02/07/remote-desktop-services-rds-quick-start-deployment-for-remoteapp-windows-server-2012-style.aspx

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.

image

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

image

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

image

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

imageimage

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.

image

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

image

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.

image

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.

image

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.

image

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

image

Selecting the RD Connection Broker Server

image

Selecting the RD Web Access Server

image

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

image

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

image

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

image

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.

image

 

image

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

Create a Collection.

image

In the task menu I choose the Create Session Collection,

image

Just Name it

image

Choose a RD Session host Servers

image

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

 

image

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.

 

image

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

image

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

 

image

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

 

imageimage

and  press Publish and there is the APP

image

When Logon to the Portal you can see the RemoteApp

image

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

C:\Windows\RemotePackages\CPubFarms\Application_1\CPubRemoteApps

image

all the RemoteApps are there and can be changed here.

OR change the ICON with the shell23.dll with powershell

image

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 (http://technet.microsoft.com/en-us/library/jj215454.aspx) is used to list properties for RemoteApps.
Example:

Get-RDRemoteApp -alias “wordpad” | fl

 

Set-RDRemoteApp (http://technet.microsoft.com/en-us/library/jj215494.aspx) is used to set properties for RemoteApps.
Example:

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

New-RDRemoteApp (http://technet.microsoft.com/en-us/library/jj215450.aspx) is used to create a new RemoteApp in a certain collection.
Example:

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

Remove-RDRemoteApp (http://technet.microsoft.com/en-us/library/jj215493.aspx) is used to remove a RemoteApp.
Example:

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

Get-RDAvailableApp (http://technet.microsoft.com/en-us/library/jj215457.aspx) is used to list available applications to publish in a collection.
Example:

Get-RDAvailableApp -CollectionName “RemoteApps”

Get-RDFileTypeAssociation (http://technet.microsoft.com/en-us/library/jj215461.aspx) lists the filetype association(s) for a certain application.
Example:

Get-RDFileTypeAssociation -AppAlias “wordpad”

Set-RDFileTypeAssociation (http://technet.microsoft.com/en-us/library/jj215459.aspx) is used to set the filetype association(s) for a certain application.
Example:

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

@clusterMVP

https://robertsmit.wordpress.com

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

Tagged with

10 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 rds.domain.com. 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 *.domain.com and are all trusted.

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

    But when I try to ping rds.domain.com 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 rds.mydomain.com 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?
    Thanks

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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: