Home arrow Articles arrow FAQs arrow FAQ: How do I remove a TS CAL from a client machine?
FAQ: How do I remove a TS CAL from a client machine? PDF Print E-mail
User Rating: / 21
PoorBest 
November 30, 2005

To remove a TS CAL from a Windows machine, open REGEDIT and browse to the following location:

- HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing\Store\

There will be one or more sub-keys listed here such as LICENSE000, LICENSE001, etc.  Most likely, only LICENSE000 will be listed.  This key contains the certificate (TS CAL) issued by the Terminal Services Licensing Server.  To remove the TS CAL simply delete the LICENSE00x key, or you can delete the \MSLicensing key to remove all TS CALs at once.  The \MSLicensing key will be regenerated automatically the next time the client is issued a TS CAL.

If you are weary of deleting the keys, just export the MSLicensing key to a .reg file for safe-keeping.  That way you can always restore the values if for some reason you think you made a mistake.

Deleting the MSLicensing key in it's entirety also deletes the machine's hardware ID.  When the client reconnects to the Terminal Server, a new MSLicensing key will be generated with a new HardwareID key (and a new ClientHWID value).  This allows a client to be issued a new TS CAL from the license server, including a new 90-day temporary CAL.  This is useful if all of your TS CALs have been consumed, but some of the machines are no longer valid clients; however their permanent TS CALs have not yet expired and returned to the pool.

Using TSCTST

If you have multiple LICENSE00x keys, you might be wondering how you know which one is the right one.  Well, in looking at the contents of hte keys, you will notice that the values listed are binary and are not terribly human-friendly.  There is a Windows Server 2003 Resource Kit utility called TSCTST.EXE (Terminal Server Client License Dump Tool) that you can use to decode the information in the LICENSE00x key.  You can download the Resource Kit from Microsoft or you can download the TSCTST.EXE utility from my toolkit on this site.

Once you have the utility on the client workstation, open a command prompt and run it.  Below is example output from TSCTST.EXE:

*** License # 1 ***
TS Certificate Version - 0x00050001
Licensed Product
HWID - 0x00000002, 0xfc6d0d48, 0xd8d50460, 0x3d00d39f, 0xf3ca112a
Client Platform ID - 0x00000002
Company Name - Microsoft Corporation
Issuer - SERVER1
Scope - HAPPYLAND
Issued to machine - CLIENT-A
Issued to user - Michael
TS Locale ID - 0x00000409
License ID - A02-5.00-EX
Licensed Product Version 0005.0000, Flag 0x00d48000
Permanent       RTM
Valid from - 1c2ddac 9264fb00 Wed Feb 26 10:34:38 2003
Expires on - 1e9fd1e d4a5e980 Mon Jan 18 22:14:07 2038

In the output above, "License # 1" pertains to LICENSE000 registry key.  Likewise, multiple licenses listed by the utility would coincide with the respective LICENSE00x keys, so "License # 2" would list the relevant data for the LICENSE001 key, and so on.The Issuer is the name of the server that issued the TS CAL.  The Scope is generally the domain or workgroup name.  Other interesting information includes the Valid from and Expires on dates.

From the output above, you can see that a server named SERVER1 issued this TS CAL to a workstation named CLIENT-A on February 26, 2003.  Most likely, this TS CAL was issued from the "built-in" pool since the expiration is in the year 2038, although this isn't always the case as there are other factors that could cause this TS CAL to be "permanent".

Using TSCTST you can then find the exact TS CAL that needs to be deleted and only delete that one (LICENSE000, LICENSE001, etc.).  This would save you from unneccessarily deleting TS CALs that weren't causing a problem.

Last Updated ( December 12, 2005 )
 
< Prev   Next >