Per User CAL Reporting Script

Per User CAL Reporting Script

  • Comments 12

We have introduced a script to help the administrators tracking the usage trend of Windows Server 2003 Terminal Server (TS) Per User (PU) client access licenses (CALs), total usage of Windows Server 2008 TS PU CALs (including expired), and the usage of Windows Server 2008 TS PU CALs for a list of specified domains.

The major scenarios addressed by the script includes the following -

  1. For a Windows Server 2003 TS, this script helps the administrators tracking the users logged in to a TS in PU licensing mode over a period of time.
  2. For a Windows Server 2008 TS or a Windows Server 2008 R2 Remote Desktop Session Host Server (RDSH), this script helps the administrator tracking both valid & expired PU CALs.
  3. For a license server running Windows Server 2008 or Windows Server 2008 R2, this script enables administrators to generate PU CAL usage details for a list of specified domains.
  4. For a license server running Windows Server 2008 or Windows Server 2008 R2, while generating the PU CAL usage report for a list of specified domains, even if one or more of the domains in the list is unreachable, this script will still report the usage for all the reachable domains.

For more detailed information, download the Per User Report Generation script from here. The batch script to execute the Per User Report Generation script periodically for a Windows Server 2003 TS is available at here.

Leave a Comment
  • Please add 7 and 3 and type the answer here:
  • Post
  • Please make RDS for Windows XP Professional x64 Edition and Windows Server 2003.

  • We dont store our TS CAL's within AD, instead use a standalone TS license server.  The script seems to hang when querying our domain (i.e it has been running for 2hrs).  Does this script support standalone license servers?

  • Hi Matt,

    This script does not support standalone LS or TS. The LS & TS needs to be domain joined.

    BTW for PU CAL, the TS & LS needs to be domain joined. Just curious, what are you exactly looking for - are you using PD or PU licensing (bcoz the script is applicable only for PU)??

  • Hi Saikat,

    In response to your queries, our TS License Server is a member of our domain (by standalone, I meant that the server is configured as a Domain License Server, but the server is a member server, not a domain controller).  We are using PU CALS and I'm trying to track how many we actually use.  When I run the script, it just sits on the "Querying Domain <ourdomain> for W2K3 User Details ...".  I've left it run for a few hours, but I dont get any output.

  • Hi Matt,

    Could you give me some more details ?? Can you provide me access to your box where it's getting stuck ??

  • Hi Matt,

      Also it will be great if you can provide a couple of more info -

    1. CPU & Memory utilization of the system when it got "stuck" according to you.

    2. Approx no of users in your environment.

  • Anybody found a solution for this script hanging? I have the same problem. CPU and Memory utilization normal. Just over 1000 users.

  • Anybody found a solution for this script hanging? I have the same problem. CPU and Memory utilization normal. Just over 1000 users.

  • We have modified the script sometime back to take care of 10K users in order to to resolve these kind of issues. Could you pl try the latest script available at the link & update me on the same ?

    If still you get the same problem, I need to have a look at your setup. Pl feel free to let me know on the same.

  • Thanks for your promt reply. After debugging the script, we realized we were just not patient enough! The script took around 20 minutes to complete successfully. (I was just mislead by Matt's input...)

  • Thanks for your promt reply. After debugging the script, we realized we were just not patient enough! The script took around 20 minutes to complete successfully. (I was just mislead by Matt's input...)

  • Script doesn't seem to work on WS2012 R2. Does it needs updated? Thanks.

Page 1 of 1 (12 items)