An important post-Service Pack 2 (SP2) hotfix for Windows 2000 Server (also in SP4 and SP3, of course) improves Terminal Services licensing. The hotfix lets a client computer obtain a license when the user initiating the session logs on. (For more information about this functionality, see the Microsoft article "Terminal Services Licensing Enhancements" at http://support.microsoft.com/?kbid=287687.) Without the fix, the client obtains a license when it connects to the terminal server; thus, anyone who connects to the terminal server can obtain a license. The fix also lets unused Terminal Services Client Access Licenses (TSCALs) slowly trickle back into the licensing database for reallocation. (The time varies, but the process can take as long as 3 months.)

The hotfix affects only licenses obtained after you apply it; it doesn't work retroactively. Also, the hotfix doesn't let you return TSCALs to the license pool yourself; only Terminal Services can return licenses. After you apply the hotfix to all terminal servers and license servers, the license server gives first-time requesters a TSCAL that has a timeout period (a randomly assigned interval between 52 and 89 days). When the user logs on to the terminal server, it tells the license server that the license has been validated (i.e., used by someone who has permission to log on to the terminal server). The license server then assigns the TSCAL to the connecting computer.

Every time a user connects to a terminal server from that computer, the terminal server checks the TSCAL expiration date. When the expiration date is within 7 days, the terminal server renews the TSCAL assignment to the computer for another 52 to 89 days. If the client doesn't log on to the terminal server before its TSCAL expires, the TSCAL returns to the pool of available licenses.

This hotfix isn't a cure-all for Terminal Services licensing problems. However, it does let sites that run Terminal Services under Win2K Server reclaim licenses (and give licenses only to computers used by authorized terminal server users).