Background
There are many circumstances where you will need to remove a RDS CALs from an RDS Server, or in some cases you want to rebuild the entire RD licensing database. Microsoft allows you to remove an individual CAL license pack using powershell, or rebuild the entire database. However, if neither of those work, it’s quite easy to manually rebuild the RD licensing database. I’ve included directions for all 3 methods below, and have tested this on Windows Server 2008, 2008R2, 2012, 2012R2, and 2016.
Remove An Individual RDS CAL License Pack Using Powershell (User or Device CAL)
- Open powershell elevated as an administrator
- Type the following command to list the RDS Licenses and note the KeyPackID
- Alternatively, open RD Licensing Manager and note the Keypack ID
Get-WmiObject Win32_TSLicenseKeyPack
- Run the below command to remove the licenses pack from your RD Server
- Replace KEYPACKID with the number you obtained above
wmic /namespace:\\root\CIMV2 PATH Win32_TSLicenseKeyPack CALL UninstallLicenseKeyPackWithId KEYPACKID
Rebuild the RD Licensing Database
Microsoft provides directions on how to do this automatically, via a web browser, or via the phone:
https://technet.microsoft.com/en-us/library/dd851428.aspx
Manually Rebuild the Licensing Database (Guaranteed to Work if the Previous 2 methods Fail)
- Make sure you have documentation of your MS License agreement that includes Authorization number, License number, License type (User/Device CAL), and Quantity before proceeding
- Stop the Remote Desktop Licensing service
- Rename C:\Windows\System32\lserver\TLSLic.edb to C:\Windows\System32\lserver\TLSLic.old
- Start the Remote Desktop Licensing service
- All licenses will now be cleared out of RD Licensing Manager, and you’ll need to re-install the licenses you want to add back in
16 comments
1 pings
Skip to comment form
Forgive me for asking, but in the second command line you use the word “namespace” without any explanation and then, my personal favorite “Replace KEYPACKID with the number you obtained from above”…
The command you have there doesn’t have the word KEYPACKID!!!
Help please? Perhaps a little clarity for the newbie?!?!
Author
It’s just the syntax used for the wmic command, same as using a WMI namespace. If you want to read more details on WMIC, I’d suggest reading about it on MSDN https://msdn.microsoft.com/en-us/library/bb742610.aspx.
KEYPACKID is the last thing in the command. There’s a little scroll bar because it’s a long command. You can either scroll over or click the “Copy” button which will highlight the full command and tell you to press CTRL + C. You can then paste it into a text editor to better read/manipulate
Thanks for this! Needed to remove just that last CAL added and re-add due to an error in listing the number of licenses. I did not want to have to rebuild the db and clear all entries. Worked perfectly
Thanks, Rename C:\Windows\System32\lserver\TLSLic.edb to C:\Windows\System32\lserver\TLSLic.old
Start the Remote Desktop Licensing service
This work for me but Although I purchased RDS 5 qty license, unable to use. Error showing only two license can be use.
” However, if neither of those work, it’s quite easy to manually rebuild the RD licensing database”
I don’t agree, read
https://www.directionsonmicrosoft.com/secured/2016/10/windows-server-pricing
– Stefanie
Hello there,
This was very helpful, and the instructions worked great on a 2008 R2 server.
Thank you very much.
thank you for this post. the guaranteed method of renaming the file worked perfectly for me!
ran the Powershell command successfully, but i still see license pack in RD License Manager. Does it require any other step
Author
It does not. I would suggest double checking your command for typos & make sure you have the correct KeyPackID in the command. I’ve successfully tested on server 2008, 2012, and 2016. If you are using 2019, I have not tested (they may have changed something but should work)
hey I have a question, for error my team reset the server and didn’t migrate de RDS CALs, now they seem to appear activated, do you know any solution? what can I do?
Thank you
Author
Are they activated on the current/new server or old one? As long as they are active only on the current one, you should be good. Otherwise, just deactivate the old ones using the directions on this page.
Thank you for sharing! Very useful. It helped me. 🙂
Thank you for this post. The method worked perfectly for me too, on RDS windows server 2019.
For me it’s not working, when I do the step of deleting the License like so, I got back a value:
–PS C:\windows\system32> wmic /namespace:\\root\CIMV2 PATH Win32_TSLicenseKeyPack CALL UninstallLicenseKeyPackWithId 4
Executing (Win32_TSLicenseKeyPack)->UninstallLicenseKeyPackWithId()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
ReturnValue = 2147508238;
};
—
Author
I have not run across this particular issue ever, but you may want to try running it in an elevated command prompt. If that does not work, an alternative is to deactivate the licensing server, uninstall the RD/TS Licensing Role service, reinstall, activate, and install your license pack(s) again. This wipes out the license server database and recreates it
I did it and know says that my key is already activated. Please what can i do? Thanks
[…] https://sigkillit.com/2017/08/31/remove-rds-cals-from-rds-server/ […]