Most of the time, our Windows Server and 10 Client RDP function without issues, but occasionally the clients encounter the error message “The remote session was disconnected because there are no Remote Desktop client access licenses available for this computer.” This error can occur on clients using Windows 7 through Windows 10.
However, I have discovered a solution by deleting a registry key (
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing) that allows the client to create a new license, resolving the issue for a period of time. Unfortunately, this problem can occur when no one is available to fix it.
Is there a way to prevent this issue entirely? Perhaps by automatically requesting a new key or deleting the current one?
Remote Desktop Protocol (RDP) is a Microsoft protocol that allows remote access to Windows-based applications and desktops. It is an essential tool for businesses that have employees working remotely or have multiple locations. However, sometimes clients encounter an error message when attempting to connect to a Windows Server using RDP. This error message reads, “The remote session was disconnected because there are no Remote Desktop client access licenses available for this computer.” In this blog post, we will discuss the causes of this error and provide solutions to prevent it from occurring.
Understanding the RDP Licensing Error
The RDP licensing error occurs when there are no Remote Desktop client access licenses available for the client computer. This error can occur on clients using Windows 7 through Windows 10. The cause of this error is due to the licensing model used by Microsoft. Microsoft requires businesses to purchase Remote Desktop client access licenses (CALs) for each user or device that connects to a Windows Server using RDP.
When a user or device connects to a Windows Server using RDP, the server checks the licensing server to verify that the client has a valid CAL. If the licensing server does not have a CAL available for the client, the server will deny the connection and display the error message.
Solution 1: Purchase Additional CALs
The most obvious solution to this problem is to purchase additional Remote Desktop CALs from Microsoft. This solution is straightforward, but it can be costly, especially for small businesses. Microsoft offers two types of CALs: user CALs and device CALs. User CALs are assigned to a specific user and allow that user to connect to the Windows Server from any device. Device CALs are assigned to a specific device and allow any user to connect to the Windows Server using that device.
Before purchasing additional CALs, it is essential to determine which type of CAL is most appropriate for your business. If your employees work remotely using multiple devices, user CALs may be the best option. If your business has multiple employees sharing a single device to access the Windows Server, device CALs may be the best option.
Solution 2: Enable License Server High Availability
Another solution to prevent the RDP licensing error is to enable License Server High Availability. License Server High Availability is a feature in Windows Server that allows multiple license servers to be used in case of a failure. This feature ensures that clients can always connect to the Windows Server, even if one of the license servers fails.
Enabling License Server High Availability requires configuring a failover cluster of license servers. This solution is more complex than purchasing additional CALs, but it provides a more reliable solution for businesses that rely heavily on RDP.
Solution 3: Configure Automatic License Reclamation
Another solution to prevent the RDP licensing error is to configure Automatic License Reclamation. Automatic License Reclamation is a feature in Windows Server that allows unused CALs to be reclaimed and made available for other clients. This feature ensures that CALs are used efficiently and prevents the RDP licensing error from occurring.
Configuring Automatic License Reclamation requires configuring the Remote Desktop Session Host Configuration settings. This solution is less complex than License Server High Availability but requires monitoring to ensure that CALs are being reclaimed efficiently.
Solution 4: Delete the MSLicensing Registry Key
As mentioned in the introduction, deleting the MSLicensing registry key is a solution to the RDP licensing error. However, this solution is temporary and requires manual intervention. The MSLicensing registry key contains the licensing information for the client computer. Deleting this key forces the client to request a new license from the licensing server, resolving the issue temporarily.
Deleting the MSLicensing registry key requires administrative access to the client computer. This solution is not recommended for businesses that rely heavily on RDP, as it requires manual intervention and can cause downtime.
Solution 5: Use Remote Desktop Services (RDS) Per User CALs
Remote Desktop Services (RDS) Per User CALs is another solution to prevent the RDP licensing error. RDS Per User CALs are assigned to a specific user and allow that user to connect to the Windows Server from any device. RDS Per User CALs are more flexible than traditional Remote Desktop CALs, as they allow users to access the Windows Server from any device, without the need for additional CALs.
RDS Per User CALs require a Remote Desktop Services deployment and can be more expensive than traditional Remote Desktop CALs. However, they provide a more flexible solution for businesses that have employees working remotely or using multiple devices.
In conclusion, the RDP licensing error can be a frustrating issue for businesses that rely heavily on RDP. However, there are several solutions to prevent this error from occurring. Purchasing additional CALs, enabling License Server High Availability, configuring Automatic License Reclamation, deleting the MSLicensing registry key, and using RDS Per User CALs are all solutions to prevent the RDP licensing error. It is essential to determine which solution is most appropriate for your business based on your needs and budget.
There are a few things you can try to avoid this error:
- Make sure that you have enough Remote Desktop Services client access licenses (RDS CALs) installed on your Remote Desktop license server. This error can occur if you have exceeded the number of RDS CALs that you have installed.
- Check the Remote Desktop license server event log for any errors or warning messages. These messages might provide more information about the cause of the issue.
- If you are using Group Policy to manage RDS licensing, make sure that the policy is applied correctly to the clients.
- If you are using Remote Desktop Services in a Remote Desktop Services farm, make sure that the Remote Desktop licensing mode is set correctly on each Remote Desktop Session Host server in the farm.
- Make sure that the Remote Desktop license server is available and responding to client requests. If the license server is unavailable, clients will not be able to obtain RDS CALs and will receive this error message.
- If you have recently changed the Remote Desktop license server or the licensing mode, you might need to reset the Remote Desktop licensing mode on the clients. To do this, you can delete the registry key (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing) on each client. This will force the client to request a new RDS CAL from the license server.
It’s not recommended to delete the registry key automatically or on a schedule, as this could lead to other problems if the license server is not available or if there are not enough RDS CALs installed. Instead, it’s better to troubleshoot the root cause of the issue and fix it permanently.
The most commonly used solution for this problem involves ensuring that the licensing mode of the server is set to “Per user” instead of “Per device”. This can be done in two ways:
- Change the licensing mode by using Group Policy:
- Open Group Policy
- Go to Computer Configuration > Administrative Templates > Windows Components > Terminal Services
- Double-click on Terminal Server Licensing Mode
- Select “Enabled”
- Choose “Per User”
- Click OK
- Change the licensing mode by using Terminal Services Configuration:
- Open Terminal Services Configuration through Control Panel > Administrative Tools > Terminal Services Configuration
- Click on “Server Settings” in the console tree
- Right-click on Licensing Mode in the details pane
- Click on Properties
- Select “Per User”
- Click OK.