Manual Revocation of Client Access Licenses (CALs)

Manual Revocation of Client Access Licenses (CALs)

  • Comments 10

Prior to Windows Server 2008, there was no way for administrators to manually revoke issued licenses. Issued licenses would automatically expire after a random period between 52-89 days and become part of the available license pool. In some cases, an administrator might want an issued license to become available immediately—typically when a particular machine will no longer be used (for example, the machine is being reformatted) and the license must be made available immediately to another client without waiting until it expires. To address this, we now have a method of revoking a license manually.

Currently, revocation support is only for per-device CALs. Per User Terminal Server mode is not enforced in Windows Server 2008, so there will not be any denial of service from terminal server.

You can only revoke 20% of a specific version of a CAL or one CAL, whichever is more. So, for example, if there are 100 Windows Server 2003 per-device CALs installed, you can revoke only 20 of them. Once 20% of the totals CAL are revoked, Admin will have to wait till any of the revoked CAL expires, so that he can revoke more CAL’s.

Manual revocation of CALs can be done by either of the following mechanisms:

  • TS Licensing Manager
  • WMI providers

Manual Revocation of CALs using TS Licensing Manager:

  1. Open TS Licensing Manager (LicMgr.Exe)
  2. Right-click the CAL you want to revoke, and then click Revoke CAL.



After revocation, the revoked CAL becomes available immediately. The status of the revoked CAL is changed from “Active” to “Revoked,” as shown in figure below.


Manual Revocation of CALs using WMI Providers:

Windows Server 2008 also provides support for revocation of issued CALs using WMI providers. CALs revoked through WMI are reflected in TS Licensing Manager.

The following WMI class is used to revoke issued CALs:


Windows Server 2008 has a WMI class named "Win32_TSIssuedLicense" for managing issued per device CALs. This WMI class provides the following interface to manually revoke issued CALs:

Revoke: This API can be used to manually revoke an issued CAL. This is a not a static function.

The syntax of the API is

uint32 Revoke(
  [out]  uint32 RevokableCals,
  [out]  DATETIME NextRevokeAllowedOn );


  • RevokableCals: Number of TS CALs of the same type as the current object that can be revoked.
  • NextRevokeAllowedOn: Date that the administrator can next try to revoke licenses. This parameter only contains valid data when the Revoke method call has failed because the maximum revoke count has been reached.
Leave a Comment
  • Please add 3 and 2 and type the answer here:
  • Post
  • Hi Team mate,

    I've a big problem that I can't remove the TS Cal Lisence 2000 in our Advance Server 2003.

    Could you please share to us?

    Many thanks,


  • i don't have this console to make revoke ts cal

  • When I try to revoke a device CAL I get the following error:

    The CAL could not be revoked due to the following error: 0x1399.

    Any help would be greatly appreciated.

  • The CAL could not be revoked due to the following error: 0x1399

    is a database error and this needs to be corrected by rebuilding the TSLS database.

  • Is it posible to "undo" this?

    I mean... once u revoked a Licence.. how can u allow the same computer to connect again?

  • The client will still have the license till the expiry date. If the same client comes back again to the TS(or RDSH) connecting to the same license server, previously revoked CAL will be re-issued to it.


    Silvia Doomra

  • Isn't this a typo? "So, for example, if there are 100 Windows Server 2003 per-device CALs installed, you can revoke only 20 of them." You can't revoke 2003 CALs via the console, if I'm right. This can only be done by re-installing the CALs. You can only revoke 2008 or later CALs via the console.

  • This is a general appeal for assistance............

    We have a situation where we used a number of laptops to run the RDP client against our RDP Server for training purposes. We need them removed now, ALL of them!!!!! .......darn it!

    This situation must be resolvable.

    Can anyone help, I am unable to Revoke the Per Device CALS, despite all the advice given in these Blogs on the subject.

    I am also aware of the 20% at a time restriction (yeah, very good MS, not really practical, is it?!). This is no good, we need them revoked today!!!!! Today!, now for heavens sake.

    Thanks in advance of anyone's reply.


  • I don't see the harm in allowing 100% of CALs to be revoked?  Replacing all PCs in an organization is not unheard of...

Page 1 of 1 (10 items)