RDS CALs Exhausted or Licensing Server Unreachable — Users Blocked from Remote Desktop
Remote Desktop Services stops issuing sessions when the RDS CAL pool is exhausted or the RD Licensing Server cannot be reached. After the 120-day grace period expires, users are disconnected immediately after login. Emergency steps: extend grace or redirect to a working licensing server; proper fix is purchasing and installing sufficient Per-User or Per-Device RDS CALs.
Indicators
- Users receive: 'The remote session was disconnected because there are no Remote Desktop License Servers available'
- After login, immediate disconnect with licence error even for administrators
- RD Licensing Manager (licmgr.exe) shows 0 available CALs or licensing server unreachable
- Event ID 1128 or 1130 in System log — RD Licensing cannot contact server
- 120-day grace period countdown visible in RD Licensing Diagnoser
Likely causes
- RD Licensing role not installed or not activated on any server in the environment
- Licensing server not configured in Group Policy or RDMS Deployment Properties
- Per-User or Per-Device RDS CAL pool exhausted — more sessions than licences
- Firewall blocking TCP 135 and dynamic RPC ports between RD Session Host and Licensing Server
- Grace period expired after RDS role installation without configuring licensing
- RDS Licensing server was decommissioned without migrating CALs
Diagnostic steps
-
Run RD Licensing Diagnoser: Server Manager > Remote Desktop Services > Deployment Overview > Tasks > Edit Deployment Properties > RD Licensing — check status and grace period remaining
-
Open licmgr.exe (RD Licensing Manager) on the licensing server — verify issued vs available CALs; right-click server to activate if not already activated
-
Check GPO licensing config: Computer Config > Admin Templates > Windows Components > Remote Desktop Services > RD Session Host > Licensing — 'Use the specified RD license servers' and 'Set the RD licensing mode' (Per User or Per Device)
-
Verify RPC connectivity: Test-NetConnection <LicServer> -Port 135; dynamic ports 49152–65535 must be open between RDSH and licensing server
-
Emergency grace reset (temporary — for lab/test only): delete HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod (requires SYSTEM ownership); reboot
-
Install additional CALs: in licmgr.exe > right-click server > Install Licences > enter agreement number and licence code from VLSC
Resolution path
- Confirm grace period state and days remaining in RD Licensing Diagnoser
- Point RDSH to correct licensing server via GPO
- Verify RPC connectivity from RDSH to licensing server
- Install purchased RDS CALs in RD Licensing Manager
- Activate licensing server online or by telephone if not yet activated
Prevention
- Monitor RDS CAL utilisation via licmgr.exe — alert when available CALs fall below 10 %
- Configure licensing before the 120-day grace period expires on any new RDS deployment
- Purchase CALs before adding users — plan for peak concurrent sessions not just headcount (Per User vs Per Device decision)
- Include licensing server in backup scope so CAL database is recoverable
Tools
- licmgr.exe — RD Licensing Manager
- RD Licensing Diagnoser (Server Manager > RDS)
- Group Policy Management Console (GPMC)
- Event Viewer — System log (Event IDs 1128, 1130)
- Microsoft VLSC (licence key retrieval)
- Test-NetConnection (RPC port validation)