Fix it now
RDS CALs sit on top of everything else: the Windows Server licence for the host, an ordinary Windows Server CAL for each user or device, and then an RDS CAL as well. They are counted by named user or named device, never by simultaneous connection, and the grace period is 120 days rather than an allowance.
- Count named users if people connect from more than one machine each, and named devices if machines are shared by more people than there are machines. Nothing else decides it.
- Budget the base CAL alongside the RDS CAL. Microsoft’s licensing guidance states the RDS CAL is required in addition to the base CAL for every user or device accessing the advanced functionality.
- Choose per-user for remote and hybrid staff. In per-device mode every machine anyone ever connects from consumes a licence, including the one they used once from a hotel.
- Choose per-device for shift work on shared terminals, and note the mechanics: a temporary RDS CAL is assigned on first sign-in per device and is valid for 90 days, so the pool depletes on a delay.
- Match the CAL version to the host. Microsoft’s example is explicit: Windows Server 2022 RDS CALs connect to a 2022 session host or earlier, but not to a Windows Server 2025 session host.
- Install and activate the licence server well before day 120. Microsoft documents a 120-day grace period during which no licence server is required, after which clients need a valid RDS CAL issued by one before they can sign in.
For a handful of people who each need to reach their own desktop PC, this is the wrong article: Microsoft states that Windows Professional, Enterprise and Education editions can act as hosts for incoming Remote Desktop connections, and that route involves no RDS CALs at all.
If the sharing pattern is obvious, buy that type at the right version and stop here. Below is the three-layer structure, the enforcement differences that decide how much attention this needs, and how to size a mixed site.
Why it happens
Three layers stack here and skipping one is the most expensive mistake in remote desktop licensing. Layer one is the host: Windows Server licensed across all its physical cores like any other server, plus the instance rights to run it if the session host is a virtual machine. That layer is unrelated to how many people log on. Layer two is the ordinary Windows Server CAL, which every user or device needs in order to authenticate to Windows at all. Layer three is the RDS CAL, which Microsoft’s own licensing guidance describes as required in addition to the base CAL for every user or device accessing the advanced functionality.
People setting up a first deployment buy the RDS CALs and stop, on the reasonable-sounding assumption that a licence called Remote Desktop Services must cover remote desktop. It covers the additional right to run a session. It does not cover the underlying access, and the base CAL is not optional.
The two shapes work the same way as base CALs – a per-user RDS CAL covers a named person from any device, a per-device RDS CAL covers a device used by any number of people – but the enforcement is very different, and that difference should shape how you run the deployment. Microsoft documents that in the per-user model licensing is not enforced and each user is granted a licence to connect from any number of devices, and that per-user CALs can be over-allocated in breach of the Remote Desktop licensing agreement. Per-device CALs are issued and tracked against the devices themselves.
Shift work on shared terminals
You have this one if Sixty staff across three shifts using twenty thin clients.
- Per-device, decisively: twenty CALs rather than sixty, because the terminals are what is shared.
- Expect a delay before the pool depletes. Microsoft documents that a temporary per-device RDS CAL is assigned on first sign-in and is valid for 90 days, with permanent per-device CALs then valid for a random period of 52 to 89 days before renewal.
- Per-device is also where you have some recovery: Microsoft states you can revoke up to 20 percent of per-device RDS CALs.
Hybrid and remote staff
You have this one if People connect from an office desktop, a laptop, a home PC and occasionally a hotel machine.
- Per-user, or the count runs away. Every distinct machine consumes a per-device CAL, including one used once.
- Accept that per-user is not enforced. Microsoft documents that licensing is not enforced in the per-user model and that the CALs can be over-allocated in breach of the agreement, so the discipline has to be yours.
- There is no reclaim: Microsoft states you cannot revoke per-user RDS CALs, which are valid for 60 days before renewal or 90 days before reassignment.
A mixed site
You have this one if A shared shop floor and an office of individually equipped staff, served by the same infrastructure.
- Split it. Per-device for the shared estate alongside per-user elsewhere is a legitimate design.
- Configure the session hosts serving each group for the matching mode, because a host in one mode will not consume CALs of the other type however many you own.
- Size each group on its own ratio rather than picking the tidier answer for the whole site.
One thing to be clear about before you plan: there is no concurrent option to buy. The models are per named user and per named device, and the enforcement asymmetry between them is a technical fact rather than a licensing permission. A per-user deployment that lets everybody in is not evidence that you are licensed for everybody.
Full reference
Per user against per device, on Microsoft’s own documented behaviour
| Dimension | Per-user RDS CAL | Per-device RDS CAL |
|---|---|---|
| Assigned to | A user in Active Directory | The device, physically assigned |
| Best when | People outnumber the devices they use | Devices are shared by more people than there are devices |
| Temporary CALs | Not available | Assigned on first sign-in per device, valid for 90 days |
| Permanent CAL validity | 60 days before renewal, or 90 days before reassignment | A random period of 52 to 89 days before renewal |
| Revocation | None can be revoked | Up to 20 percent can be revoked |
| Enforcement | Not enforced; can be over-allocated in breach of the agreement | Issued and tracked against devices |
| Home and personal devices | Covered by the user’s CAL | Each one consumes a CAL, which gets expensive fast |
| Shift patterns | Poor fit; every shift member needs one | Excellent fit; the terminal is licensed once |
Sizing it for how people actually work
Take the classic example. Sixty staff work three shifts of twenty on twenty thin clients. Per-user licensing costs sixty CALs because sixty distinct people sign in. Per-device costs twenty, because the terminals are what is shared. Now invert it: twenty consultants each connect from an office desktop, a laptop and a phone. Per-user costs twenty; per-device costs sixty. The pattern of sharing decides it and nothing else does.
Two details complicate real counts. Personal and home devices are a per-device disaster, because every machine anyone ever connects from consumes a licence – so any deployment with remote or hybrid working should be per-user unless there is a strong reason otherwise. And the per-device pool depletes on a delay: Microsoft documents that a temporary CAL is assigned on first sign-in and is valid for 90 days, so a shortage shows up a season after the devices arrived rather than on the day.
The 120-day clock
Microsoft documents a licensing grace period of 120 days during which no licence server is required, and states that once it ends, clients must have a valid RDS CAL issued by a licence server before they can sign in to a remote session. That is a deadline for building the licensing infrastructure, not an allowance to run on. Install and activate the licence server, install the CALs on it, and confirm the session hosts are pointed at it well before the date – then diary the date anyway, because a deployment that goes quiet on day 121 is a bad afternoon.
The version rule, with Microsoft’s own example
RDS CALs reach backwards, never forwards, and Microsoft’s documentation gives the example directly: with RDS CALs for Windows Server 2022 you can connect to a session host running Windows Server 2022 or earlier, but you cannot use them to connect to a session host running Windows Server 2025. Moving a farm to a newer Windows Server version therefore means RDS CALs at that version, exactly as it does for base CALs – and the base CALs need checking at the same time, since they follow the same rule.
Living with per-user, which is not enforced
Microsoft is explicit that in the per-user model licensing is not enforced and that the CALs can be over-allocated in breach of the Remote Desktop licensing agreement. Practically, that means the farm will not stop you at the boundary and nothing will tell you that you have crossed it. Organisations that grow steadily discover this at audit rather than at deployment.
- Reconcile after any significant hiring round or new department onboarding, rather than annually.
- Compare the number of distinct people who sign in against the number of RDS CALs you actually own, and record the date you checked.
- Check the base Windows Server CAL count at the same time, because it moves with the same population and is the layer people forget.
- Re-check the version position whenever a session host is upgraded, since CALs never reach forwards.
When there is nothing to buy
- A handful of people each reaching their own desktop PC: Microsoft states that Windows Professional, Enterprise and Education editions can act as hosts for incoming Remote Desktop connections. That is a per-machine route with no RDS CALs involved.
- Administrative access to a server for management: this is not the same thing as an RDS deployment, but the boundary is a licensing question rather than a technical one. Get the position for your own agreement in writing before you rely on it, and do not treat it as a way to run a line-of-business application for two people.
- A deployment you would rather not host at all: compare against Azure Virtual Desktop or Windows 365, where the Windows licensing is carried per user through eligible subscriptions instead of RDS CALs.
What cannot be changed later
The licensing mode on a session host can be changed, but the CALs themselves cannot be converted between types. Switching a deployment from per-device to per-user means owning CALs of the new type, so the sharing pattern is a decision to make before the purchase rather than after it. The only partial relief is on the per-device side, where Microsoft documents that up to 20 percent of RDS CALs can be revoked – useful for devices that have genuinely gone, not a mechanism for changing your mind about the model.
When a licence is the actual fix
Once more than a couple of people need a real session on a server, Windows Server 2025 RDS User CALs are the licence that makes the deployment legitimate, and per-user is the right shape for any workforce that connects from more than one machine each. Arco supplies RDS CALs in both user and device flavours alongside the base Windows Server CALs they sit on top of. Give us your headcount, your device count and a note on shift patterns and remote working, and we will size all three layers together – host, base CAL, RDS CAL – rather than quoting the RDS CALs alone, which is the usual way a deployment ends up half-licensed. If a handful of people just need to reach their own Pro desktops, we will tell you there is nothing to buy.
Questions people ask about this
Can I buy RDS CALs for the maximum number of people connected at once?
No. The models are per named user and per named device. In the per-user model Microsoft documents that each user is granted a licence to connect from any number of devices and that licensing is not enforced – which is a technical fact about the server, not a permission to buy fewer CALs than you have users.
What happens when the 120-day grace period ends?
Microsoft documents that once the grace period ends, clients must have a valid RDS CAL issued by a licence server before they can sign in to a remote session. In other words ordinary users stop being able to start sessions. Install and activate the licence server, install the CALs, and point the session hosts at it well before the date rather than on it.
Do RDS CALs replace ordinary Windows Server CALs?
No, and assuming they do is the most expensive mistake in this area. Microsoft’s licensing guidance describes the RDS CAL as required in addition to the base CAL for every user or device accessing the advanced functionality. Each RDS user or device needs a base Windows Server CAL plus an RDS CAL of the matching type, both at a version at least as new as the server.
Can I switch a deployment from per-device to per-user later?
The licensing mode on the session host can be changed, but the CALs cannot be converted, so switching means owning CALs of the new type. On the per-device side Microsoft documents that up to 20 percent can be revoked, which helps with devices that have genuinely gone but is not a mechanism for changing model. Decide on the sharing pattern before you buy.
Why has our per-device pool only just run short?
Because it depletes on a delay by design. Microsoft documents that a temporary RDS CAL is assigned on first sign-in per device and is valid for 90 days, with permanent per-device CALs then valid for a random period of 52 to 89 days before renewal. New devices therefore consume permanent licences a season after they appeared, which is why shortages surface long after the hardware arrived.
