Table of Contents
Introduction
The “No Remote Desktop Client Access Licenses available” error is one of the most frustrating issues administrators encounter when managing Windows Server 2022 Remote Desktop Services (RDS). This error prevents users from connecting to terminal servers or accessing published RemoteApps, disrupting business operations and productivity. The message typically reads: “The remote session was disconnected because there are no Remote Desktop client access licenses available for this computer.”
This error occurs when the Remote Desktop Licensing server cannot issue client access licenses (CALs) to connecting users or devices. The problem might stem from licensing server configuration issues, expired grace periods, insufficient purchased CALs, licensing mode mismatches, or communication failures between RDS servers and licensing servers. Understanding the root cause is essential because different scenarios require different solutions.
For IT administrators, RDS licensing represents one of the most complex and misunderstood aspects of Windows Server infrastructure. Unlike simple server activation, RDS requires purchasing separate CALs, installing a licensing server, activating it with Microsoft, and properly configuring RDS servers to communicate with the licensing infrastructure. Any misconfiguration or oversight in this chain causes the “No CALs available” error, even when you’ve legitimately purchased sufficient licenses.
This comprehensive guide explains Remote Desktop Services licensing fundamentals, provides systematic troubleshooting to identify your specific cause, offers proven solutions for different scenarios, ensures proper licensing configuration, and helps you maintain a compliant RDS infrastructure that reliably serves your users without licensing interruptions.
Understanding Remote Desktop Services Licensing
Before troubleshooting, understanding how RDS licensing works prevents future issues and helps you identify the root cause of current problems.
What Are RDS CALs?
Remote Desktop Services Client Access Licenses (RDS CALs) are additional licenses required beyond the base Windows Server license when users connect to:
Terminal Services / Session Host: Multiple users connecting to a single Windows Server to run applications or full desktops.
RemoteApp: Published applications that users access remotely without full desktop sessions.
Virtual Desktop Infrastructure (VDI): Virtual desktops hosted on Windows Server.
Important: RDS CALs are separate from and in addition to Windows Server CALs. You need both:
- Windows Server CALs for basic server access
- RDS CALs for Remote Desktop Services access
RDS CAL Types
Per User CAL: Licenses a specific user to connect from any number of devices. Best for users who connect from multiple locations or devices (office computer, laptop, home computer, tablet).
Per Device CAL: Licenses a specific device to be accessed by any number of users. Best for shared workstations or kiosks where multiple users share the same device.
Choosing the Right Type:
- Mobile workers with multiple devices: Per User CALs
- Shift workers sharing workstations: Per Device CALs
- Mixed environments: Combination based on usage patterns
Grace Period
Windows Server provides a 120-day grace period for RDS:
Purpose: Allows RDS functionality immediately while you complete licensing server setup and CAL installation.
Duration: 120 days from the first Remote Desktop connection to the server.
After Expiration: Users cannot connect until proper RDS licensing is configured.
Grace Period Tracking: Each RDS server tracks its own grace period independently.
Licensing Server Role
RDS licensing requires a dedicated RD Licensing server role:
Purpose: Stores RDS CALs and issues temporary usage licenses to connecting users/devices.
Activation: The licensing server itself must be activated with Microsoft before it can issue CALs.
CAL Installation: After activation, purchased RDS CALs must be installed on the licensing server.
Discovery: RDS servers must be configured to find and communicate with the licensing server.
Licensing Modes
RDS servers operate in specific licensing modes:
Per Device: Server expects Per Device CALs and issues device-based licenses.
Per User: Server expects Per User CALs and issues user-based licenses.
Not Configured: Server hasn’t been configured with a licensing mode (defaults to Per Device after grace period).
Critical: The licensing mode on your RDS server must match the type of CALs installed on your licensing server. Mismatches cause the “No CALs available” error even when sufficient licenses exist.
Diagnostic Steps Before Troubleshooting
Systematic diagnostics identify the specific cause of your “No CALs available” error, allowing you to apply targeted solutions.
Check Grace Period Status
On the RDS Server:
Step 1: Open Server Manager.
Step 2: Navigate to Remote Desktop Services.
Step 3: Click on the RDS deployment.
Step 4: Look for grace period status and days remaining.
Alternative Method (Registry):
Step 1: Open Registry Editor (regedit).
Step 2: Navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
Step 3: Check the values. If the grace period expired, this is often the primary cause.
Note: Deleting the GracePeriod key to “reset” the grace period is a temporary workaround that violates licensing terms and doesn’t solve underlying configuration problems. Use only as an emergency measure while implementing proper licensing.
Verify Licensing Server Activation
On the RD Licensing Server:
Step 1: Open Remote Desktop Licensing Manager (licmgr.exe).
Step 2: Right-click your licensing server.
Step 3: Check the “Activation Status.”
Step 4: Should show “Activated” if properly configured.
If Not Activated:
- The licensing server cannot issue CALs regardless of how many you’ve installed
- Must complete activation before CALs will work
Check Installed CALs
In Remote Desktop Licensing Manager:
Step 1: Expand your licensing server.
Step 2: Look at “Issued” CALs.
Step 3: Verify you have sufficient CALs of the correct type (Per User or Per Device).
Step 4: Check CAL counts:
- Total Available
- Issued (currently in use)
- Available for new connections
Common Issues:
- Zero CALs installed (must install CALs after purchasing)
- Wrong CAL type (Per User CALs when server is configured for Per Device, or vice versa)
- Insufficient quantity (all CALs issued, none available for new connections)
Verify RDS Server Configuration
On the RDS Server:
Step 1: Open Server Manager.
Step 2: Click Remote Desktop Services > Deployment Overview.
Step 3: Check “RD Licensing” section.
Step 4: Verify licensing server is specified and correct.
Step 5: Check licensing mode (Per User or Per Device).
Alternative Method (Group Policy or Registry):
Step 1: Open Group Policy Editor (gpedit.msc) or check registry.
Step 2: Navigate to:
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing
Step 3: Check policies:
- “Use the specified Remote Desktop license servers”
- “Set the Remote Desktop licensing mode”
Step 4: Ensure both are configured correctly.
Test Licensing Server Connectivity
From the RDS Server:
Step 1: Open Command Prompt as administrator.
Step 2: Test connectivity to licensing server:
ping licensing-server-name
Step 3: Test RPC connectivity (licensing uses RPC):
Test-NetConnection -ComputerName licensing-server-name -Port 135
Step 4: Verify the licensing server service is running:
sc \\licensing-server-name query TermServLicensing
If connectivity fails: Network, firewall, or DNS issues prevent the RDS server from reaching the licensing server.
Review Event Logs
On the RDS Server:
Step 1: Open Event Viewer (eventvwr.msc).
Step 2: Navigate to:
Applications and Services Logs > Microsoft > Windows > TerminalServices-RemoteConnectionManager > Admin
Step 3: Look for recent errors related to licensing, particularly:
- Event ID 1128: Licensing mode not configured
- Event ID 4105: Cannot contact licensing server
- Event ID 4107: Licensing grace period expired
On the Licensing Server:
Step 1: Check Event Viewer.
Step 2: Navigate to:
Applications and Services Logs > Microsoft > Windows > TerminalServices-Licensing > Admin
Step 3: Look for activation issues, CAL installation problems, or communication errors.
Event logs often provide specific error codes and messages that pinpoint exact problems.
Solution 1: Configure Licensing Server and Mode
If your RDS server isn’t configured to use a licensing server or has incorrect licensing mode, this causes “No CALs available” errors.
Specify the Licensing Server
Via Server Manager:
Step 1: Open Server Manager on the RDS server.
Step 2: Navigate to Remote Desktop Services.
Step 3: Click on your deployment.
Step 4: Right-click “RD Licensing” and select “Edit Deployment Properties.”
Step 5: Click “RD Licensing” in the left pane.
Step 6: Click “Add” and enter your licensing server name.
Step 7: Select the licensing mode (Per Device or Per User).
Step 8: Click “OK” to apply.
Via Group Policy (Preferred for Multiple Servers):
Step 1: Open Group Policy Management (gpmc.msc).
Step 2: Edit the GPO applied to your RDS servers.
Step 3: Navigate to:
Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing
Step 4: Enable “Use the specified Remote Desktop license servers.”
Step 5: Enter your licensing server name(s). You can specify multiple servers for redundancy:
licensing1.domain.com,licensing2.domain.com
Step 6: Enable “Set the Remote Desktop licensing mode.”
Step 7: Select “Per Device” or “Per User” matching your CAL type.
Step 8: Apply the GPO.
Step 9: On RDS servers, run:
gpupdate /force
Step 10: Restart Terminal Services:
net stop TermService
net start TermService
Verify Configuration
Step 1: On the RDS server, check the registry to confirm settings applied:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core
Step 2: Verify:
- LicensingMode: 2 (Per Device) or 4 (Per User)
- SpecifiedLicenseServers: Contains your licensing server name(s)
Step 3: Attempt a remote desktop connection to test.
Solution 2: Activate the RD Licensing Server
An unactivated licensing server cannot issue CALs even if CALs are installed. Activation is a one-time process.
Activate the Licensing Server
Step 1: Open Remote Desktop Licensing Manager (licmgr.exe) on the licensing server.
Step 2: Right-click your server and select “Activate Server.”
Step 3: The Activation Wizard launches.
Step 4: Select activation method:
- Automatic connection (recommended): Requires internet connectivity
- Web Browser: For servers without direct internet
- Telephone: Call Microsoft for manual activation
For Automatic Connection:
Step 5: Click “Next.”
Step 6: Enter required information:
- First name, Last name
- Company name
- Country or region
Step 7: Click “Next.”
Step 8: Review and confirm information.
Step 9: Click “Next” to activate.
Step 10: Activation completes and displays confirmation.
For Web Browser Method:
Step 5: Note the server ID displayed.
Step 6: On a computer with internet access, visit Microsoft’s licensing website.
Step 7: Enter the server ID and required information.
Step 8: Receive activation ID from the website.
Step 9: Return to the activation wizard and enter the activation ID.
Step 10: Complete activation.
Verify Activation
Step 1: In Remote Desktop Licensing Manager, right-click your server.
Step 2: Select “Review Configuration.”
Step 3: Verify “Activation Status” shows “Activated.”
Step 4: Proceed to install CALs (next solution).
Solution 3: Install RDS CALs on the Licensing Server
After activating the licensing server, you must install the RDS CALs you’ve purchased.
Obtain Your License Key Pack
From Volume Licensing Service Center (VLSC):
Step 1: Visit microsoft.com/licensing/servicecenter.
Step 2: Sign in with your VLSC credentials.
Step 3: Navigate to “Licenses” > “Relationship Summary.”
Step 4: Select your licensing agreement.
Step 5: Click “Licenses” in the menu.
Step 6: Find your RDS CAL purchase.
Step 7: Note the License ID and Key Pack ID.
From Retail Purchase:
Step 1: RDS CALs purchased retail include a product key in the packaging or email confirmation.
Step 2: Note the 25-character product key.
Install CALs on the Licensing Server
Step 1: Open Remote Desktop Licensing Manager (licmgr.exe).
Step 2: Right-click your activated licensing server.
Step 3: Select “Install Licenses.”
Step 4: The Install Licenses Wizard launches.
Step 5: Click “Next.”
Step 6: Select license program:
- Enterprise Agreement
- Select License Program
- Retail Purchase
- Other agreement
Step 7: Enter required information based on program type:
- Agreement number (for enterprise agreements)
- Product key (for retail purchases)
- Authorization number (for other agreement types)
Step 8: Click “Next.”
Step 9: Select product version: “Windows Server 2022“
Step 10: Select license type:
- RDS Per User CAL
- RDS Per Device CAL
Step 11: Enter quantity of CALs.
Step 12: Click “Next.”
Step 13: Review information and click “Next” to install.
Step 14: Installation completes and displays confirmation showing CAL quantity added.
Verify CAL Installation
Step 1: In Remote Desktop Licensing Manager, expand your server.
Step 2: Check the CAL count under appropriate CAL type (Per User or Per Device).
Step 3: Verify the quantity matches your purchase.
Step 4: Check “Available” CALs (should match total installed if none are currently issued).
Step 5: Test RDS connections to verify CALs are now issued successfully.
Solution 4: Reset or Extend Grace Period (Emergency Temporary Fix)
Warning: This solution is a temporary workaround that doesn’t address underlying licensing problems and may violate licensing compliance. Use only in emergencies while implementing proper licensing solutions.
Understanding the Limitation
Resetting the grace period:
- Provides 120 additional days to configure proper licensing
- Does not replace the need for legitimate RDS CALs
- Should never be used as a permanent solution
- Must be followed by proper licensing server configuration and CAL installation
Grace Period Reset Method
Step 1: On the RDS server, open Registry Editor (regedit).
Step 2: Navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
Step 3: Back up the registry key before making changes:
- Right-click “GracePeriod”
- Select “Export”
- Save the backup file
Step 4: Right-click “GracePeriod” and select “Permissions.”
Step 5: Click “Advanced.”
Step 6: Change the owner to your administrative account:
- Click “Change” next to Owner
- Enter your username
- Click “OK”
Step 7: Grant yourself Full Control permissions.
Step 8: Close the permissions dialog.
Step 9: Delete all values within the GracePeriod key (but not the key itself).
Step 10: Restart the Remote Desktop Services:
net stop TermService
net start TermService
Step 11: Verify the grace period reset:
- Check Server Manager > Remote Desktop Services
- Should show 120 days remaining
Critical: Use this 120-day period to implement proper licensing: activate licensing server, install CALs, and configure RDS servers correctly.
Solution 5: Fix Licensing Server Discovery Issues
Sometimes RDS servers cannot locate or communicate with the licensing server, causing “No CALs available” errors despite proper configuration.
Check DNS Resolution
Step 1: On the RDS server, verify DNS resolves the licensing server name:
nslookup licensing-server-name
Step 2: Ensure the IP address returned is correct.
Step 3: If DNS resolution fails, add a hosts file entry temporarily:
notepad C:\Windows\System32\drivers\etc\hosts
Add a line:
192.168.1.100 licensing-server-name.domain.com
Replace with your licensing server’s actual IP and name.
Configure Licensing Server Discovery
Via Active Directory (Recommended):
Step 1: On the licensing server, open Remote Desktop Licensing Manager.
Step 2: Right-click your server and select “Review Configuration.”
Step 3: Verify “Discovery Scope” is set to “Domain” or “Forest.”
Step 4: The licensing server should publish itself in Active Directory for automatic discovery.
Step 5: Verify publication:
- On a domain controller, open ADSI Edit
- Navigate to:
CN=RPC Services,CN=System,DC=domain,DC=com
- Look for your licensing server entry
Manual Discovery Configuration:
If AD publication isn’t working, manually specify the licensing server on RDS servers as described in Solution 1.
Verify Firewall Rules
On the Licensing Server:
Step 1: Ensure Windows Firewall allows Remote Desktop Licensing:
netsh advfirewall firewall show rule name="Remote Desktop Licensing - TCP In"
Step 2: If the rule doesn’t exist or is disabled, create/enable it:
netsh advfirewall firewall set rule group="Remote Desktop Licensing" new enable=Yes
Step 3: Verify RPC connectivity (port 135) is allowed.
On Network Firewalls:
Ensure firewalls between RDS servers and licensing servers allow:
- TCP port 135 (RPC endpoint mapper)
- Dynamic RPC ports (typically 49152-65535)
Restart Licensing Service
Step 1: On the licensing server, restart the Remote Desktop Licensing service:
net stop TermServLicensing
net start TermServLicensing
Step 2: On RDS servers, restart Terminal Services:
net stop TermService
net start TermService
Step 3: Test RDS connections.
Solution 6: Address CAL Exhaustion
If you’ve legitimately run out of available CALs (all purchased licenses are issued), you’ll receive “No CALs available” errors for new connections.
Identify CAL Exhaustion
Step 1: Open Remote Desktop Licensing Manager on the licensing server.
Step 2: Check CAL statistics:
- Total Installed
- Issued
- Available
Step 3: If “Available” is zero, all CALs are currently issued to users or devices.
Review Issued CALs
Step 1: In Remote Desktop Licensing Manager, expand your server.
Step 2: Expand the appropriate CAL type (Per User or Per Device).
Step 3: Review issued CALs:
- User names (for Per User CALs)
- Device names or IPs (for Per Device CALs)
Step 4: Identify:
- Former employees who no longer need CALs
- Decommissioned devices still holding CALs
- Devices with multiple CALs issued incorrectly
Revoke Unused CALs (Per Device Only)
For Per Device CALs:
Step 1: In Remote Desktop Licensing Manager, right-click a specific device CAL.
Step 2: Select “Revoke.”
Step 3: Confirm revocation.
Step 4: The CAL returns to the available pool immediately.
Important: Per User CALs cannot be manually revoked. They expire automatically after a period of non-use (typically 52-89 days depending on configuration).
Temporary Per User CAL Management
Understanding Per User CAL Lifecycle:
- Issued when a user connects
- Renewed each time the user connects
- Expires after 52-89 days without connection
- Cannot be manually revoked
To Free Up Per User CALs:
You must wait for expired CALs to return to the available pool. To accelerate this:
Step 1: Identify former employees or inactive users.
Step 2: Disable their accounts to prevent reconnection.
Step 3: Wait for CAL expiration (52-89 days).
Alternatively, purchase additional CALs if you’ve legitimately exceeded your licensed user count.
Purchase Additional CALs
If you’ve genuinely exhausted legitimate CAL needs:
Step 1: Purchase additional RDS CALs through:
- Volume Licensing Service Center
- Authorized Microsoft resellers
- Cloud Solution Providers (CSP)
Step 2: Install the new CALs following Solution 3 procedures.
Step 3: Verify additional CALs appear in Remote Desktop Licensing Manager.
Step 4: New CALs are immediately available for issuance.
Maintaining Proper RDS Licensing Compliance
After resolving immediate issues, implementing proper license management prevents future problems.
Regular License Audits
Monthly Reviews:
Step 1: Check Remote Desktop Licensing Manager for CAL usage trends.
Step 2: Review issued vs. available CALs.
Step 3: Identify approaching CAL exhaustion before it occurs.
Step 4: Plan CAL purchases in advance of need.
Documentation
Maintain Records:
- Licensing server names and locations
- CAL purchase orders and quantities
- License keys and activation information
- Configuration documentation (licensing modes, server assignments)
- Audit reports showing compliance
Monitoring and Alerts
Set Up Alerts:
Step 1: Configure Event Log monitoring for licensing-related events.
Step 2: Alert on critical events:
- Grace period approaching expiration
- CAL exhaustion warnings
- Licensing server connectivity failures
Step 3: Use System Center Operations Manager (SCOM) or third-party monitoring tools for automated alerts.
Redundant Licensing Servers
For high-availability environments:
Step 1: Deploy multiple RD Licensing servers.
Step 2: Activate each server with Microsoft.
Step 3: Install CAL key packs on each server.
Step 4: Configure RDS servers to use multiple licensing servers:
licensing1.domain.com,licensing2.domain.com
Step 5: RDS servers automatically failover to secondary licensing servers if the primary is unavailable.
User and Device Management
Best Practices:
- Regularly review user accounts and disable former employees promptly
- Track device inventories and decommission unused devices
- Choose an appropriate CAL type (Per User vs. Per Device) based on usage patterns
- Monitor CAL usage trends to predict future needs
Frequently Asked Questions (FAQs)
Do I need RDS CALs if I’m only using administrative remote desktop connections?
No, administrative remote desktop connections (Remote Desktop for Administration) do not require RDS CALs. Windows Server includes two concurrent administrative connections by default without requiring RDS CALs. However, if you’ve installed the Remote Desktop Session Host role to allow multiple users or publish RemoteApps, all connections (including administrative) require RDS CALs. The administrative exception applies only to servers without the RD Session Host role installed.
Can I mix Per User and Per Device CALs on the same licensing server?
Yes, you can install both Per User and Per Device CALs on the same licensing server. However, each individual RDS server must be configured for one licensing mode or the other you cannot configure a single RDS server to use both modes simultaneously. In environments with multiple RDS servers, you can configure some servers for Per User and others for Per Device mode, with all servers using the same licensing server that has both CAL types installed.
How long does it take for unused CALs to become available again?
This depends on CAL type. Per Device CALs can be manually revoked immediately by administrators through Remote Desktop Licensing Manager, returning them to the available pool instantly. Per User CALs cannot be manually revoked and expire automatically after 52-89 days of non-use (the exact duration depends on configuration). After expiration, Per User CALs return to the available pool automatically. There’s no way to accelerate Per User CAL expiration beyond waiting for the timeout period.
What happens if my licensing server fails or becomes unavailable?
RDS servers continue functioning even if the licensing server becomes temporarily unavailable. Existing connections using already-issued temporary licenses continue working for up to 90 days without contact with the licensing server. However, new connections cannot be established without reaching the licensing server. For high-availability environments, deploy multiple redundant licensing servers and configure RDS servers to use all of them. RDS servers automatically failover to available licensing servers when one is unreachable.
Can I transfer RDS CALs from one licensing server to another?
Yes, but the process varies by CAL acquisition method. CALs purchased through Volume Licensing (Enterprise Agreement, Open License, etc.) can be moved by uninstalling from one server and reinstalling on another through the Volume Licensing Service Center. Retail RDS CALs are typically tied to the licensing server where initially installed and are more difficult to transfer. For major infrastructure changes, contact Microsoft licensing support for guidance on CAL migration. Always maintain documentation of your CAL purchases to facilitate transfers.
Why do I still get errors after installing CALs?
Common causes include: (1) Licensing mode mismatch – Your RDS server is configured for Per Device but you installed Per User CALs (or vice versa). Verify licensing modes match. (2) Connectivity issues – The RDS server cannot reach the licensing server due to network, firewall, or DNS problems. Test connectivity and resolve network issues. (3) Service not restarted – Changes require restarting Terminal Services on RDS servers and the licensing service on licensing servers. Restart both services. (4) Wrong Windows Server version – Ensure you installed Windows Server 2022 RDS CALs, not 2019 or 2016 CALs which won’t work for Server 2022.
Conclusion
The “No Remote Desktop Client Access Licenses available” error in Windows Server 2022 stems from various causes ranging from simple configuration oversights to expired grace periods, unactivated licensing servers, or exhausted CAL pools. Systematic troubleshooting checking grace period status, verifying licensing server activation, confirming CAL installation, and testing connectivity identifies the specific cause affecting your environment and allows you to apply targeted solutions.
Proper RDS licensing requires multiple components working together: an activated Remote Desktop Licensing server, installed RDS CALs matching your licensing mode, correctly configured RDS servers pointing to the licensing server, and network connectivity allowing communication between all components. Missing or misconfiguring any single element causes licensing failures despite potentially having legitimate CALs purchased and available.
The grace period reset provides emergency temporary relief but must never replace proper licensing implementation. Use the 120-day grace period to activate your licensing server, install purchased CALs, configure RDS servers correctly, and verify full licensing functionality. Repeatedly resetting grace periods violates licensing terms, creates compliance risks, and ultimately doesn’t resolve underlying configuration problems requiring correction.
Long-term success with RDS licensing requires ongoing management: regular CAL usage monitoring, timely removal of former employee and decommissioned device licenses, capacity planning for CAL purchases before exhaustion, redundant licensing servers for high availability, and comprehensive documentation of licensing infrastructure and CAL inventories. Proactive management prevents the emergency situations that the “No CALs available” error represents.
For organizations implementing or troubleshooting Remote Desktop Services on Windows Server 2022 and needing legitimate RDS CALs with proper licensing support, work with authorized Microsoft licensing partners or Cloud Solution Providers who can provide appropriate CAL quantities, licensing guidance specific to your environment, and ongoing support for RDS licensing compliance and management.
