Event ID 22 on a Windows 2008 Terminal Services Licensing Server

Hi all, Akhlesh here. Recently I’ve seen a few cases where the customers were getting event ID 22 on their Windows 2008 Terminal Services Licensing server (TSLS):

Log Name: System
Source: Microsoft-Windows-TerminalServices-Licensing
Date:
Event ID: 22
Task Category: None
Level: Warning
Keywords: Classic
User: N/A
Computer:
Description:
The Terminal Services license server "TS licensing server name" does not have any
Terminal Services client access licenses (TS CALs) installed and registered with
the Microsoft Clearinghouse for product "Windows Server 2003 - Terminal Server Per
Device CAL Token". Therefore, the Terminal Services license server cannot issue TS
CALs of the type "Windows Server 2003 - Terminal Server Per Device CAL Token" to
the terminal server "IP of a TS". To resolve this problem, install additional TS
CALs as required.

Before I talk about the cause and resolution of this event, please follow the steps given below and make sure that the given conditions are true in your scenario*:

  • Your Windows 2008 TSLS is activated. How to Activate a Terminal Services License Server?
  • Terminal Services Licensing service is running on that TSLS.
  • Your Windows 2008 TSLS is a member of "Terminal Services License Servers" group in the Active Directory.
  • Your Windows 2008 TSLS is listed in the site in AD sites and services (if it is a DC).
  • The Terminal Server listed in the event is able to access your Windows 2008 TSLS i.e. TSLS discovery process is working fine and we are able to open TSLS snap-in from the Terminal Server. If you are using a GPO to publish the TSLS, make sure that the GPO is getting applied on that Terminal Server.
  • Please check and make sure that the users are able to connect to the Terminal Server listed in the event.
  • Please check and make sure that we have enough CALs available on the Windows 2008 TSLS and those CALs are getting issued to the clients

*If all the points given above are true in your case, you can ignore this event.

Now, let’s discuss why this warning event is still getting logged on that TSLS even when all the points discussed above are true in your scenario:

It looks like your TSLS is working the way it should. You are getting the event because of client machines which took TS CALs from a Windows 2003 TS Licensing Server which has been decommissioned in your domain. At the renewal time of the CALs for those clients, the TS forwarded the requests to the new w2k8 TSLS. The new TSLS didn’t find the references of those clients in its database so it couldn’t renew the CALs, therefore a warning event was resulted.

But after that it must have issued CALs to those clients (assuming that we have enough CALs available). This event is showing the IP of the TS because TS will interact with TSLS on client's behalf for the issuance of the TS CAL.

The event will stop occurring once TS CALs on all the clients will be renewed. To prove this theory, you can take a client machine for which the CALs is about to expire in the next few days. Then connect to a w2k3 TS, see if you get an event on w2k8 TSLS. Then check the list of issued CALs and see if that client is listed on the new TSLS or not.

- Akhlesh Sharma