Q206264: Produce an inventory of a specific registry key using EDS


There may be occasions where you want to know the value of a specific registry key property on a selection of machines. By default even if you track registry keys in the agents they are discarded unless it's required for other purposes. This article covers how to override this behaviour.



Administration Server configuration
  1. Go to the [HKEY_LOCAL_MACHINE\SOFTWARE\ManageSoft Corp\ManageSoft\Reporter\CurrentVersion] key
  2. Add a registry string "SaveRegistry" and set the value to "True"
  3. Add another registry string "SaveRegistryClass" and set the value to "Win32_Registry"
  4. Import the inventory containing the saved registry key(s)
  5. The table dbo.HardwareClass will now have a class called "Win32_Registry"
  6. The HardwareClassID in point 5 is used as a foreign key to dbo.HardwareObject where the HardwareName now lists the registry keys e.g. HKLM...Policy Client\CurrentVersion on each computer
  7. The HardwareObjectID is referenced in dbo.HardwareValue where the string values are listed along with a HardwarePropertyID which links to dbo.HardwareProperty to list the string names
  8. As such the query I used to get the Bootstrapped policy is:
    SELECT hv.*
    FROM [ManageSoft].[dbo].[HardwareValue] hv
    INNER JOIN dbo.HardwareProperty hp
    ON hp.HardwarePropertyID = hv.HardwarePropertyID
    WHERE hp.Property LIKE 'BootstrappedPolicy'
  9. The data can also be viewed in the EDS reports page (ManageSoftRP):
    1. Select the Details option of Classes under Inventory
    2. Find Win32_Registry and select "All Computers"
    3. Select All Hardware next to one of those computers listed with the desired registry key under Description
    4. This lists all hardware on the device so find Win32_Registry again and select the Details link
    5. You will now see the full list of the registry key i.e. property names and values.


This SQL script covered above is for the BootstrappedPolicy string value of Policy Client\CurrentVersion however you can substitute this for any registry property that you are tracking (see Additional Information)


Additional Information

This article has covered how to configure the administration server to track the registry values and this only needs activating once.&ampnbsp When you have done so you need to configure the IncludeRegistryKey property within the Inventory tracker on the agent to specify what registry keys to track. By configuring IncludeRegistryKey you can configure one registry key e.g. "HKLM\Software\ManageSoft Corp\ManageSoft\Policy Client\CurrentVersion" or you can configure multiple keys (separate them using a semicolon).


More information on the IncludeRegistryKey property can be found in the RMS Reference: Preferences For Managed Devices (Alphabetical listing or Behaviour listing > Inventory > Inclusions and Exclusions).
Have more questions? Submit a request


Powered by Zendesk