|
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. |