By Garth Jones
Not long ago, I was having a discussion with someone in the Microsoft Configuration Manager 2012 – General Forum about why I don’t trust System Center Configuration Manager (ConfigMgr) Asset Intelligence (AI).
Let me give you a bit of background about this particular conversation.
We started off by talking about the differences between these WQL views:
SMS_G_System_ADD_REMOVE_PROGRAMS / SMS_G_System_ADD_REMOVE_PROGRAMS_64
I informed the other person that the installed software view is NOT a combination of the two Add/Remove Program (ARP) views.
SMS_G_System_ADD_REMOVE_PROGRAMS / SMS_G_System_ADD_REMOVE_PROGRAMS_64 comes from Hardware Inventory, whereas SMS_G_System_INSTALLED_SOFTWARE comes for AI Inventory.
Yes, there are a lot of similarities between them, but they are NOT an exact match. The installed software view is a subset of the ARP data. The installed software view filters out most, but not all, software updates, however, it also filters out other ARP data too.
It is unclear exactly what is filtered out and more importantly why it’s filtered out.
Here’s the problem. I don’t trust the AI data because I can find missing ARP data!
Let me show you what I mean by reviewing the following SQL query. This query will return all ARP display names which don’t exist within the installed software list.
To me the most disturbing items on the list below are the last two for Microsoft SQL Server 2005 and Microsoft SQL Server 2005 (64-bit). Why are they missing?
As I scroll further down the list I can see that every version of SQL, except SQL 2012, is missing too!
The SQL 2012 details are even further down the list.
As you can see from the query results below, there are 422 (red arrow) different software titles listed within the ARP data, but they are NOT listed within the installed program data.
Why are so many ARP titles missing from installed software view?
This begs the question, what exactly is missing from the installed software view and more importantly why?
Trust in the data is crucial when creating reports and since there is no definitive reason to explain the missing data, how can you trust any of the data from AI?
Now let’s turn around the query and find all ARP display names not within installed software. Here’s the query for that:
Notice that when I run the query above there are no results. This means that every single AI software title is listed within the ARP data.
Here’s another tip:
In order to ensure that your reports display consistent results, you ALWAYS need to use either Installed Software or Add/Remove Programs.
If you ever switch between the two of them, you will likely have to explain the differences. As soon as you have to explain anything about your reports, you will call into question the reliability of the report results and therefore the reliability of ConfigMgr too.
This is why I don’t trust the AI data and I always use the Add/Remove Program data for my reports.