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?