[THIN] Hardware ID

We have an issue where we are trying to get a better read on how many TSCALS
we are giving out to each customer.  WE know how many total but cannot
easily track Who is consuming them
In our business model, we charge our customers based off the number of
TSCals they consume, but we do not have a good way to track this, currently
we are using what amounts to the honor system.  We are using per device
licensing not per user.   What we would like to do is associate the Username
with the Hardware ID.

We are an ASP and thus have no control over our customers client PCs. This
means we cant control the name or other properies of the machine to enforece
a naming convention or track exactly how many PC's citrix is installed on.


Currently we are looking at running an ActiveX control to grab the hardware
ID once they have logged in initially to CSG, and before they launch a
CItrix session, but we cannot seem to find a way to capture the username
without requiring the users to login twice.

My thought was why not have a small app or script run as part of the login
scrpts that captures the Hardware ID from the registry as listed below.

lhKey = HKEY_LOCAL_MACHINE

sKeyName = "Software\Microsoft\MSLicensing\HardwareID"

sValueName = "ClientHWID"
My question is this, is it possible to capture that information from about
the client machine from inside a Citrix/Terminal server session? I know
Microsoft has to be able to do it because it is the same region as the TSCAL
info is stored.
Could a small VB app do this?  Or does anyone know of any tools that exist
for this purpose?

Other related posts: