Hi, I'm new here and also to SCCM.
My objective is to provide a clean standardized source of software product information that can be loaded into a Configuration Management Database (CMDB). More specifically I'm looking to collect, and automatically maintain the following information:
For each licensed software item, i.e. a product / version / edition that may be purchased e.g. Microsoft Visio 2013 Standard, I need a Standardized Publisher Name, Standardized Product Name and Standardized Version.
The latest revision - this might include a build / patch number and more specific version e.g. 32 vs 64 bit. I'm envisaging that the standardized product and version I'm referring to above might have several updates and minor revisions over its life.
The devices where this application has run, including the last run date, and the username of the person using it.
I intended to use the SQL views provided in SCCM to build a view or views containing the information required which will then be presented to the CMDB tool.
The environment where I'm working has SCCM 2012 R2 SP1 running, with the client deployed to servers and workstations. Most applications at this site are installed through add/remove programs so appear in the hardware / asset intelligence views returned by SCCM. The following inventory classes are turned on: SMS_InstalledSoftware, SMS_SystemConsoleUsage, SMS_SystemConsoleUser, SMS_AutoStartSotware, Win32_USBDevice, SMS_InstalledExecutable.
A number of applications use their own installers and are installed outside of the Program Files and (x86) folder structure, so these are not seen by the hardware inventory functionality as far as I'm aware.
From the Technet I found the best information so far in the views: v_GS_INSTALLED_SOFTWARE_CATEGORIZED, v_LU_SoftwareList_Editable from the hardware inventory side, and on the software side from v_SoftwareProduct and v_GS_SoftwareProduct. The benefit of the two former views, is that SCCM is doing some name normalization and categorization.
Anyone who has had a look at this problem will realize there are challenges in standardization of publisher, product and version information even at a high level. Furthermore, from a high or medium level perspective, there's also the challenge of aggregating the many minor variants / versions / patches of software back to their parent software packages that might be of interest in a CMDB as a "licensable product".
The queries I have are:
I am not sure that SCCM is configured exactly as it should be to return the data required? I have tried to match data between the hardware inventory side of the product and the software inventory side. There does not appear to be a common key and there does not appear to be sufficient standardization in publisher / product / version information to join the data. Am I missing something or is there any best practice here? In other forum posts I've read, there have been comments to the effect that software inventory is of little value. However if that is the case, how is it possible to include software products, that are installed outside of the Windows add / remove programs functionality? Assuming that SCCM is configured correctly to ensure the appropriate data is being collected, and that the Out Of The Box standardization and classification is working optimally, what additional manual configuration is required to ensure standardized publisher / product / version information is being collected / generated? I'm thinking of one smaller publisher, probably unknown to SCCM's classification database, where I've seen three or four variations in their name>
Thanks very much in advance.