Windows Server  ·  high  ·  Directory & core infrastructure

"No Remote Desktop license servers available"

The session host's grace period has expired and it cannot get a licence, so new sessions are refused.

What you see

Users are disconnected or refused with a licensing message. Event 1128 or 4105 in TerminalServices-Licensing. It typically starts abruptly 120 days after the role was installed.

What is actually wrong

Either no licence server was ever configured, the configured one is unreachable, it has no CALs of the right type, or the server was never activated.

Codes and articles

Event 1128Event 4105Event 1067No Remote Desktop license servers available

Fixes (2)

Point the session host at the licence server and set the mode
Elevated PowerShell on the session host20 minuteslow riskreversible

A licence server exists with CALs on it.

  1. Check the current licensing configuration.

    PowerShell
    $ts = Get-WmiObject -Namespace root\cimv2\TerminalServices -Class Win32_TerminalServiceSetting$ts.LicensingName$ts.LicensingType
  2. Set the licensing mode. 2 is Per Device, 4 is Per User — it must match the CALs you actually own.

    PowerShell
    $ts.ChangeMode(4)

    A mismatch between the mode set here and the CAL type installed on the licence server produces this exact error even though everything looks configured.

  3. Set the licence server name.

    PowerShell
    $col = Get-WmiObject -Namespace root\cimv2\TerminalServices -Class Win32_TSLicenseServer$col.SetSpecifiedLicenseServerList('rdlic.example.local')
  4. Confirm the session host can reach and use it.

    PowerShell
    Test-NetConnection rdlic.example.local -Port 135$col.GetSpecifiedLicenseServerList()
  5. Restart the Remote Desktop Services service or the server.

Confirm it workedThe licensing diagnoser reports no problems — run it from Server Manager → Remote Desktop Services, or check the event log stops logging 1128.
PowerShell
Get-WinEvent -LogName 'Microsoft-Windows-TerminalServices-Licensing/Admin' -MaxEvents 10 | Format-Table TimeCreated, Id, Message -AutoSize
If you need to undo itClear the specified list and set the mode back to what it was.
Stand up and activate a licence server
Elevated PowerShell1–2 hoursmedium riskreversible

There is no licence server. Note that the grace period cannot be extended or reset — you need real CALs.

  1. Install the role.

    PowerShell
    Install-WindowsFeature RDS-Licensing, RDS-Licensing-UI
  2. Activate the server through the RD Licensing Manager wizard — it needs to talk to Microsoft, by internet, web browser or phone.

  3. Install the CALs you have purchased, choosing Per User or Per Device to match your agreement.

  4. In an AD domain, add the licence server to the Terminal Server License Servers group so it can track Per User CALs.

    PowerShell
    Add-ADGroupMember -Identity 'Terminal Server License Servers' -Members 'RDLIC$'

    Per User CAL tracking writes to the user object in AD. Without this membership the server issues licences but cannot record them, and reporting is wrong.

  5. Point the session hosts at it using the previous fix.

Confirm it workedRD Licensing Diagnoser reports no issues and users connect.
If you need to undo itUninstall-WindowsFeature RDS-Licensing. Activated CALs stay tied to that server, so plan this before installing them.

Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.