In this blog post we will look at how to install and activate a Remote Desktop License Server on Windows Server 2016. We will also review the two different types of CALs, and how to install CALs on the RD License Server. Finally, we will look at how to designate specific License Servers to RD Session Host Servers, through PowerShell and Group Policy.
If you don’t have Remote Desktop Services Client Access Licenses (RDS CALs), your users will not be able to connect to a remote desktop session host server, after the initial grace period of 120-days expires. To install Remote Desktop Services CALs, you first need to install Remote Desktop Licensing. This is a role service of the Remote Desktop Services role on Windows Server 2016. You can use RD Licensing to install, issue, and track the availability and usage of licenses.
If you have Windows Server 2016 session host servers, then the RD Licensing role service must be installed on a Windows Server 2016 machine, because 2016 RDS CALs can only be installed on a Server 2016 RD license server.
Citrix XenApp also relies on a RD license server. Because what XenApp essentially does, is to extend the capabilities of the Microsoft Remote Desktop session host server. Each time a user connects to a XenApp session, he is also connecting to a Remote Desktop Session. So you will need licenses for both XenApp and RDS.
Keep in mind, the license server we set up in this blog post, will only be used to issue licenses to session host servers that will host shared desktops and deliver applications in a Citrix XenApp environment. Such a deployment will only have RD session host servers and license server(s). There will be no Remote Desktop Connection Broker.
1. Installing the Role Service
Before you start, you should add the designated license server to the Terminal Server License Servers group in Active Directory. Otherwise, you will not be able to issue RDS Per User CALs to users in the domain, and you will not be able to track or report the usage of RDS Per User CALs on the License Server.
1.1 Start the Add Roles and Features Wizard in Server Manager
1.2 Click Next
1.3 Select Role-based or feature-based installation, click Next
1.4 Select the local server, click Next
1.5 Select Remote Desktop Services, click Next
1.6 Click Next
1.7 Click Next again
1.8 Select Remote Desktop Licensing (click Add Features when prompted), click Next
1.9 Click Install
1.10 Click Close when the installation is finished
2. Activating the server
The license server must be activated to issue RD CALs.
2.1 In Server Manager, Click Tools → Remote Desktop Services → Remote Desktop Licensing Manager
2.2 Right click the server name, and select Activate Server
2.3 Click Next
2.4 Select desired connection method. I’m selecting Automatic connection, which connects to the Microsoft clearinghouse over the internet, by using https. If your license server does not have access to the internet, you can also choose to activate it through the web browser (of another computer, which is connected to the internet) or over telephone. Click Next
2.5 You will be requested to provide some information about yourself. These four fields are required, so enter information for each field
2.6 These fields are optional. Click next when you are ready
2.7 The server will be activated
2.8 You can start the Install Licenses Wizard if you like from this page, but I chose not to
2.10 If you right-click the server name, and select Review Configuration, you can review the configuration of the RD license server.
3. Types of CALs
Each user and device that connects to a Remote Desktop Session host needs a client access license (CAL). There are two types of Client Access Licenses available in this type of setup.
Per Device CALs
These are permanent CALs assigned to any computer or device that connects to an RD Session Host Server more than once. The first time a computer or device connects to an RD Session Host, its by default issued a temporary license. The second time a computer or device connects to an RD Session Host, the license server issues it a permanent RDS Per Device CAL, if the license server is activated and enough RDS Per Device CALs are available. In other words, Per Device CALs can not be overallocated, meaning if you have 15 CALs, only 15 devices will be able to make a connection to session hosts.
Per User CALs
Per User CALs give users right to access Remote Desktop Services from any number of devices. They are not assigned to users permanently like Device CALs are to devices. Rather they are valid only for a set period of time, and are assigned to the user account in Active Directory. Licensing for Per User CALs is not enforced, so they can be overallocated, meaning even if you only have 15 CALs, more than 15 users will be able to make a connection to session hosts. So its up to you to ensure that you stay in compliance with the Microsoft RDS Licensing agreement.
4. Install CALs
4.1 Right-click server, and select Install Licenses
4.2 The connection method you used during activation is retained (to change it, use the properties dialog box of the license server). Click Next
4.3 Select appropriate License Program, and then click next.
4.4 The next few steps will depend on the license program you selected in the previous step. These are the steps for Enterprise Agreement
4.5 Enter Agreement number, click Next
4.6 Select Product Version, license type and quantity of licenses to install onto the license server. Then click Next and follow the wizard to complete the license installation process.
The license server can now issue RDS CALs to clients.
5. Specify Licensing Mode and License server for RD Session Host Servers
The Remote Desktop Session Host Configuration Tool was removed in Windows Server 2012 R2, and isn’t present in Server 2016 either. So you will have to specify licensing mode and licensing server through other means. Since we are not dealing with a full-blown deployment of Remote Desktop Services here, but rather just session host servers that we will use for the purpose of hosting shared desktops and deliver applications on Citrix XenApp, we can not define the licensing server in Server Manager. Rather, we will have to use either PowerShell or Group Policy.
5.1 Through PowerShell
Run the following three cmdlets in PowerShell on the session host server
$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
In cmdlet number two, the value of 4 specified that the licensing mode will be Per User. If you want to use Per Device licensing mode, then you will have to enter 2 instead.
Finally, run this cmdlet to verify that the specified license server was set correctly.
5.2 Through Group Policy
The settings can be found in the following location, and they are self-explanatory.
Computer Configuration → Policies → Admin Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Licensing
(The configured GPO must be linked to your session host servers)
Another interesting setting can be found at the following location
Computer Configuration → Policies → Admin Templates →Windows Components → Remote Desktop Services → RD Licensing
With this setting you can control which RD Session Host servers are issued RDS CALs by the license server. It must be configured in a GPO that is applied to the license server.
5.3 Remote Desktop Licensing Diagnoser
You can use RD Licensing Diagnoser to check licensing configuration details for a session host server. You can also use it to help identify possible licensing problems.
Upper portion gives information about licensing configuration details on the session host server.
Middle portion gives diagnostic information and suggested resolutions for any problems.
Lower portion gives information on which license servers the session host is configured with.