I was recently tasked with collecting a list of software installed in my environment (desktops and servers). In the past, I would have used a WMI script to query the computers and export it into a database or spreadsheet. However, the more recent Windows versions block all remote connections by default, meaning my WMI script would fail.
A little research made me began to look at WSUS (which was already used to patch our environment). I realized there was a view (PUBLIC_VIEWS.vComputerInventory) that is empty, but looks like it should hold inventory information. There is also a table (tbInventoryRule) that lists an XML to inventory hardware and software of client machines. So it’s possible, how do I enable it.
I finally came across a field – tbConfigurationC.CollectClientInventory=0. I executed the following command to update its value.
update tbConfigurationC set CollectClientInventory=1
I told my client to rescan for updates, and now when I view PUBLIC_VIEWS.vComputerInventory, I see hardware inventory, and Add/Remove Programs information.