Welcome to MSDN Blogs Sign in | Join | Help

Terminal Services Per User Licensing Usage Tracking

Terminal Services Per User Licensing Usage Tracking

Prior to "Windows Server 2008" there was no way for administrators to check the usage of Terminal Services per user licenses. Terminal Services licensing in Windows Server 2008 Beta 3 enables administrators to track the usage of Terminal Services per user licenses. Administrators can generate a per user license usage report that contains the number of licenses issued by a particular license server and the total number of per user licenses available on that server, to make sure that license usage is in line with the EULA and licensing agreements.

Per user license usage reports can be generated across three different scopes:

1. Domain : Generates a per user usage report across the host domain of a Terminal Services Licensing Server (TSLS)

2. Organizational Unit (OU): Generates a per user license usage report across the given OU in the host domain of a TSLS

3. All Trusted Domains: Generates a per user license usage report across all trusted domains

Reports are accessible through the following mechanisms:

· TS Licensing Manager

· WMI providers

Managing Reports using TS Licensing Manager:

In Windows Server 2008, a new option in the TS Licensing Manager menu named "Create Report" can be used to generate and manage per user license usage reports.

To create a per user license usage report

1. Open TS Licensing Manager (LicMgr.Exe)

2. Right-click the license server name for which you want to generate the report, and then select the "Create Report" and "Per User CAL Usage …" options.

3. Select the scope for which you want to generate the report. (These are described above.)

To view summaries of generated reports, use the License Manager UI.

You can perform various operations on the generated reports:

1. The "Delete Report" option deletes the report.

2. The "Save As" option saves the usage report in a readable format. This is useful if you want to check users to whom licenses have been issued. To do this, first generate a report and then click "Save As" to give it a new name. Then open the report to review which users received licenses from that TSLS.

Here’s an example of a usage report:

Managing Reports using WMI Providers:

Windows Server 2008 also provides support for managing Per User usage reports using WMI providers. Now, an administrator can write a simple script to generate a usage report for a given scope. Within the script, he can take further action based on the reports. For example, if the number of issued licenses exceeds the number of installed licenses, the script can send an e-mail to the administrator.

Reports generated using WMI are displayed in the TS Licensing Manager, and reports deleted using WMI are also deleted from the TS Licensing Manager.

The following WMI classes are used to generate reports.

Win32_TSLicenseReport:

Windows Server 2008 has a WMI class named "Win32_TSLicenseReport" for managing per user license reports.

This WMI class provides three different interfaces to manage reports:

i. GenerateReport: This interface is used for generating per user license usage reports. Reports can be generated across three different scopes as discussed above. This is a static function.

The syntax of the API is

uint32 GenerateReport ( [in] uint32 ScopeType,

[in] string ScopeValue,

[out] string FileName);

Where

ScopeType: Defines the scope for which the report needs to be generated

1 -> Domain

2 -> Organizational Unit (OU)

3 -> All trusted Domains

ScopeValue: This is used only when ScopeType is "Organizational Unit (OU)",

It should contain the name of the OU for which you want to generate the report in the format "OU=OUName"

FileName: This is an output parameter containing the file name of the report generated. This file name can be used to perform other operations on the report like Delete and FetchReport.

ii. DeleteReport: This interface is used to delete an existing per user usage report. This is not a static function and must be called from the per user report object.

The syntax of the API is

uint32 DeleteReport ( )

iii. FetchReportEntries: This interface is used to get the user name and other information from a per user usage report. This tool is not a static function and must be called from a per user usage report object.

The syntax of the API is

uint32 FetchReportEntries ( [in] uint32 StartIndex,

[in,out]        uint32 Count,

[out]         Win32_TSLicenseReportEntry ReportEntries[]);

Where

StartIndex -> Index to start from

Count -> Number of values to be fetched;

If you need to fetch all entries then set StartIndex=0 and Count=0.

ReportEntries -> Array of the objects of Win32_TSLicenseReportEntry; These object contains DomainName\UserName, License Expiry date, Product Version

For more information, see Win32_TSLicenseReport.

Win32_TSLicenseReportEntry:

The Win32_TSLicenseReportEntry class provides details of the Per User Licenses issued. This class has three members:

User: User to which the license was issued

ExpirationDate: Expiration date of the license

ProductVersion: Per user license version

For more information, see Win32_TSLicenseReportEntry.

Published Monday, August 06, 2007 9:43 PM by termserv

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Jason Conger Blog » Blog Archive » Terminal Services Per User Licensing Usage Tracking

# re: Terminal Services Per User Licensing Usage Tracking

What i'd like to know is the following:

Let's suppose that a company has a bunch (e.g. 15 of them) of shift worker and want's to create only on AD account that is used by all of them.

So technically seen this would require only 1 per user TS CAL is that right?

If so doese that confirm with the EULA?

Tuesday, August 07, 2007 12:28 PM by Tom

# Generating Per Device license usage reports for TS License Servers running Windows Server 2008

In an earlier post , we showed how to create a per user license usage report in Windows Server 2008.

Thursday, August 09, 2007 11:06 PM by Terminal Services Team Blog

# re: Terminal Services Per User Licensing Usage Tracking

License are sold on a named device or named user model.  As such you would need a license for every user (15 in the example you gave).  

You can still give them one account but obviously the license report would be innacurate.  Don't confuse your EULA / PUR obligations with what the license server reports.

Thursday, September 06, 2007 12:36 AM by Alex Balcanquall [MSFT]

# re: Terminal Services Per User Licensing Usage Tracking

Yeah that's really clever isn't it?

I mean TS licensing has been more and more complicated since its introduction in W2K server.

With W2K3 server Microsoft made the impossible possible and brought even more confusion to this topic since per user license tracking did not work the way per device license tracking did.

Now we have another fact. The new per user license tracking is working but it still does not consider the "shared AD account scenario". What good is a license usage report (like the one discribed in this article) good for when it cannot take care of all possible usage scenarios? For this case I need to create my own excel file and cannot rely on the TS license report generated by TS license server.

One question is left. Can you give me a link to the EULA where "named user model" is explaind in detail?

Saturday, September 08, 2007 7:11 AM by Tom

# Terminal Services Per User Licensing Usage Tracking Coming in Windows Server 2008

As you know from previous posts and conversations around User CALs, prior to "Windows Server 2008" there

Monday, September 10, 2007 11:04 AM by Microsoft Small Business Community Blog

# Terminal Services Per User Licensing Usage Tracking Coming in Windows Server 2008

In an earlier post , we showed how to create a per user license usage report in Windows Server 2008.

Monday, September 10, 2007 3:34 PM by Bink.nu

# re: Terminal Services Per User Licensing Usage Tracking

Hmmm... but this will not answer my question(s) will it?

Tuesday, September 11, 2007 8:42 AM by Tom

# re: Terminal Services Per User Licensing Usage Tracking

Any chance we can finally get a "Revoke License" command?

Wednesday, October 10, 2007 12:07 AM by Steven Vallarian

# re: Terminal Services Per User Licensing Usage Tracking

Per-Device TSCALs can be revoked in Server 2008 Beta3.  That being said, there's no technical reason why this should be necessary, as temp licenses are issued and valid for 90 days, whereas per-device TSCALs are issued for only 54-89 days, so a per-device TSCAL issued to a client will be recovered before the temp license expires.

If licensing per-user, this is not applicable, as those are not issued.

Wednesday, October 10, 2007 1:06 AM by Patrick Rouse

# re: Terminal Services Per User Licensing Usage Tracking

"I mean TS licensing has been more and more complicated since its introduction in W2K server."

Tom,

Try NT 4.0 TSE. And it's no more complicated than it was before. You just have more choices... ;-)

Tuesday, July 08, 2008 2:31 PM by Mark

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker