Remote Desktop Services (RDS) Client Access Licenses (CALs) are essential for managing user and device connections to your terminal servers. Understanding the RDS CAL license registry key is critical for administrators needing to troubleshoot licensing issues, clear stuck grace periods, or back up configurations.
This guide covers the exact registry locations for RDS CALs, how to manage them, and best practices for system administrators. 🛑 Critical Warning Before You Begin
Modifying the Windows Registry can cause irreversible system damage if done incorrectly. Always back up the registry key before making changes. Document any values you modify or delete.
Perform registry edits during maintenance windows to avoid user disconnection. 📍 Where is the RDS CAL License Registry Key?
Windows stores RDS licensing data in different registry paths depending on whether you are looking at the RD Licensing Server or the RD Session Host (Client). 1. The RD Licensing Server Database Path
If you need to find where the actual licensing server stores its database configuration and activated license packs, navigate to:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TermServLicensing\Parameters
What it does: This key points to the location of the Jet database (lServer.mdb) that tracks all issued CALs.
Common use case: Moving the license database to a new drive. 2. The RD Session Host Grace Period Key rds cal license registry key
When you build a new RD Session Host, Microsoft grants a 120-day grace period. Once this expires, clients cannot connect without a valid license server. To reset or check this grace period, navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
What it contains: A binary value that counts down the 120-day grace period.
Special permissions: To delete or modify this key, you must right-click the GracePeriod folder, go to Permissions, and take ownership from SYSTEM to grant your admin account full control. 3. The Client-Side Cached License Key
When a device connects to an RDS host, the host issues a digital token (CAL) to the client machine. This is stored locally on the user's computer at: HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing
What it contains: Subkeys like HardwareID and Store containing the actual certificates.
Common use case: Deleting the MSLicensing folder on a client machine is the standard fix for the error: "The remote session was disconnected because the local computer client access license could not be upgraded or renewed." 🛠️ How to Reset the RDS Grace Period via Registry
If your production licenses are still processing but your 120-day grace period has expired, you can temporarily reset it by removing the registry marker. Step-by-Step Reset: Open the Registry Editor (regedit.exe) as an Administrator. Remote Desktop Services (RDS) Client Access Licenses (CALs)
Navigate to: HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod. Right-click the GracePeriod key and select Permissions.
Click Advanced, change the Owner to Administrators, and click OK.
Check the box to "Replace owner on subcontainers and objects". Give the Administrators group Full Control.
Right-click the specific binary value inside the folder (usually starts with L$FQDN) and click Delete.
Reboot the RD Session Host server for the reset to take effect.
🔍 How to Find Your Active RDS License Server via Registry
Sometimes group policies fail, and you need to force an RD Session Host to look at a specific licensing server. You can verify or set this manually in the registry.
Navigate to:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\LicenseServers Procedure A: Force a Specific License Server
To add a server: Create a new Key under LicenseServers named exactly after the NetBIOS or FQDN of your license server.
Alternatively, modern versions of Windows Server prefer specifying this through the following path if set via policy:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services Look for the string value: LicenseServers 💡 Best Practices for RDS License Registry Management
Use GPO over Registry: Whenever possible, use Group Policy Objects (GPOs) to assign license servers and licensing modes (Per User or Per Device) rather than hacking the registry manually. GPOs are easier to audit and replicate.
Backup MSLicensing: Before deleting the MSLicensing key on client machines to fix connection errors, right-click it and select Export.
Run as Admin: Remember that clearing the client-side MSLicensing key requires running the Remote Desktop Client (mstsc.exe) as an Administrator the first time you reconnect, so it has permission to recreate the registry keys.
Here’s a technical review covering the RDS CAL license registry key in Windows Server, focusing on its purpose, location, typical use cases, risks, and best practices.
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCMREG_MULTI_SZ value named SpecifiedLicenseServers.Before touching the registry, you must understand where Windows stores its RDS licensing information.
IssuedLicenses unless directed by Microsoft Support.Computer Configuration → Policies → Administrative Templates → Windows Components → Remote Desktop Services → RD Session Host → Licensing) to set licensing mode and license server list instead of direct registry edits.TermServLicensing keyLicensing Core keyTermService and Remote Desktop Services services.wmic or PowerShell to verify license configuration rather than relying solely on registry:
Get-WmiObject -Class Win32_TerminalServiceSetting -Namespace root\cimv2\terminalservices | Select LicensingMode