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:
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.
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:Win32_TSIssuedLicense:
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 isuint32 Revoke( [out] uint32 RevokableCals, [out] DATETIME NextRevokeAllowedOn );