none
How do I get WSUS to collect client hardware information?

    Question

  • Looking through the WSUS 3.2 database, I see tables like tbInventoryClass, tbInventoryProperty and tbInventoryPropertyInstance. The trouble is, WSUS doesn't appear to be collecting any of the information that these tables should hold; information like the amount of memory a client has (TotalPhysicalMemory).

    How do I get WSUS to start collecting this information from clients in its inventory?

    Thursday, July 01, 2010 12:08 PM

Answers

  • Looking through the WSUS 3.2 database, I see tables like tbInventoryClass, tbInventoryProperty and tbInventoryPropertyInstance. The trouble is, WSUS doesn't appear to be collecting any of the information that these tables should hold; information like the amount of memory a client has (TotalPhysicalMemory).

    How do I get WSUS to start collecting this information from clients in its inventory?

    I am curious... without documentation of the actual database schema... how is it that you've determined what data should be where?

    The short answer to your question is: Implement System Center Essentials. These tables are infrastructure components to support the Inventory functionality built into the WUAgent for use by SCE, and are triggered by, and populated by, the Inventory Collection task defined in SCE.

    The inventory attributes collected by WSUS are limited to what you see on the Computer Details pane of the WSUS console: make, model, processor, BIOS version, OS, OS language, service pack, and IP address.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2010)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com
    Thursday, July 01, 2010 5:56 PM

All replies

  • Looking through the WSUS 3.2 database, I see tables like tbInventoryClass, tbInventoryProperty and tbInventoryPropertyInstance. The trouble is, WSUS doesn't appear to be collecting any of the information that these tables should hold; information like the amount of memory a client has (TotalPhysicalMemory).

    How do I get WSUS to start collecting this information from clients in its inventory?

    I am curious... without documentation of the actual database schema... how is it that you've determined what data should be where?

    The short answer to your question is: Implement System Center Essentials. These tables are infrastructure components to support the Inventory functionality built into the WUAgent for use by SCE, and are triggered by, and populated by, the Inventory Collection task defined in SCE.

    The inventory attributes collected by WSUS are limited to what you see on the Computer Details pane of the WSUS console: make, model, processor, BIOS version, OS, OS language, service pack, and IP address.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2010)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com
    Thursday, July 01, 2010 5:56 PM
  • I assumed based on the name and on the schema of the tables, and based on the fact that other Microsoft systems (like SCCM and SCE) have access to this information.

    To collect system information on client computers, you simply open the change the tbConfigurationC table and change the CollectClientInventory value from False to True .

    I found that answer at http://edgoad.blogspot.com/2010/04/collecting-computer-inventory-using.html. Now the tables are filling up (fast) and I just need to work on scripts to extract the data and generate reports.

    Saturday, July 03, 2010 9:38 AM
  • I assumed based on the name and on the schema of the tables, and based on the fact that other Microsoft systems (like SCCM and SCE) have access to this information.

    To collect system information on client computers, you simply open the change the tbConfigurationC table and change the CollectClientInventory value from False to True .

    I found that answer at http://edgoad.blogspot.com/2010/04/collecting-computer-inventory-using.html. Now the tables are filling up (fast) and I just need to work on scripts to extract the data and generate reports.

    While your statement may be correct for the moment -- I have unmarked your response as the Answer. Microsoft does not support directly accessing the WSUS database and the WSUS database is UNDOCUMENTED. Anything you assumed, or read from other web posts, is purely conjecture and presumption and is subject to change at any time -- a change which could break the functionality of your system.

    Furthermore, in the strictest sense of the word, what you are doing is likely a violation of the EULA for WSUS, as it constitutes "reverse engineering" and "modifying for a purpose not suited", since the Inventory functionality is not available for WSUS and is reserved for use by licensed commercial products (such as System Center Essentials and System Center Configuration Manager).

    I'm not the licensing police, and personally I could care less what you hack around to work in your environment, but now that I (and PSS) knows (from reading this thread -- which is archived permanently) that you have a hacked system -- it'll likely be much more difficult for you to get support when something goes awry with your system. Something breaks ... I'll assume you 'tweaked' the database and caused it yourself, and suggest that you reinstall WSUS with a new database.

     


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2010)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com
    Saturday, July 03, 2010 3:06 PM
  • The databases, or at least the public views I'm using, are documented at http://msdn.microsoft.com/en-us/library/bb410149%28VS.85%29.aspx. They even tell you how to connect directly to the database to use them.

    Sunday, July 04, 2010 8:32 AM
  • The databases, or at least the public views I'm using, are documented at http://msdn.microsoft.com/en-us/library/bb410149%28VS.85%29.aspx. They even tell you how to connect directly to the database to use them.


    Yes, the PUBLIC_VIEWS are documented, and accessing the PUBLIC_VIEWS is documented. The PUBLIC_VIEWS were created to provide access to data to support reporting, primarily through SQL Server Reporting Services.

    Modifying the content of the databases directy, or changing the program code in stored procedures is not documented and not supported. Modifying the database to provide information in the PUBLIC_VIEWS that is not designed to be accessible to Windows Server Update Services systems is also not documented. As soon as you modified the tbConfigurationC table you stepped over the line.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2010)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com
    Sunday, July 04, 2010 2:02 PM