We’re currently using the “Installed Windows Patches Information” analysis found in the BigFix Labs site. It’s giving us all installed Windows updates, as well as dates, but it’s putting multiple values in a single column. The problem is when you try to run a web reports, and expand HotFixID and InstalledOn through the Edit Columns dropdown, the information doesn’t match up. Here’s an example:
As you can see in the image above. it will put the same date next to multiple updates. If you expand HotFixID and InstalledOn in the body of the report itself, the number and date will match up correctly. However, this isn’t delimited when exported to csv, and will put multiple values in a single cell:
For reference, here’s the relevance for both HotFixID and InstalledOn from the analysis respectively:
if (exists wmi) then ((string value of property "HotFixID" of it) of select objects "HotFixID from Win32_QuickFixEngineering where HotFixID != 'File 1'" of wmi) as string else ("N/A")
if (exists wmi) then ((string value of property "InstalledOn" of it) of select objects "InstalledOn from Win32_QuickFixEngineering where HotFixID != 'File 1'" of wmi) as string else ("N/A")
Other posts I’ve found for returning installed Windows updates only seems to only return a small portion of what you see in the Installed Updates GUI. I’d appreciate any help anyone can give me.
One option to perhaps better correlate these two fields is to combine them in a single property with something like:
if (exists wmi) then ((string value of property "HotFixID" of it & " - " & string value of property "InstalledOn" of it) of select objects "HotFixID, InstalledOn from Win32_QuickFixEngineering where HotFixID != 'File 1'" of wmi) as string else ("N/A")
That helps. I changed the relevance above to use a comma instead of a dash so I could try and delimit it, but it’s wrapping the whole thing in quotes.
if (exists wmi) then ((string value of property "HotFixID" of it & ", " & string value of property "InstalledOn" of it) of select objects "HotFixID, InstalledOn from Win32_QuickFixEngineering where HotFixID != 'File 1'" of wmi) as string else ("N/A")
The initial Text-To-Columns command creates creates 2 columns: Column A - servername and Column B - consolidated_Hotfix_data.
A second Text-To-Columns command run on Column B only should give you the results you’re looking for: Column A - servername, Column B - Hotfix ID, and Column C - installed on date.
@FatScottishGuy That’s a good suggestion, and while it looks right in the UI, it doesn’t quite generate the results that @jsast is looking for.
The data in the export is separated by commas and semi-colons, so that on each row, the computer name is in a single cell, all of the HotFix IDs are in a single cell, and all of the dates are in single cell, like this (shortened for clarity):
@jsast Giving this more thought, trying to simplify things I came up with this approach for a single property result:
if (exists wmi) then ((computer name & ", " & string value of property "HotFixID" of it & ", " & string value of property "InstalledOn" of it) of select objects "HotFixID, InstalledOn from Win32_QuickFixEngineering where HotFixID != 'File 1'" of wmi) as string else ("N/A")
I’ve come up with a solution for this but not on BigFix or Webreports - I use a Macro within the CSV and it sorts all the data correctly and spits it out in an almost mirror image of the webreports format. Let me know if you need / want it.
If you don’t see a little “lab glass flask” with the title BigFix Labs in the lower-left corner then you need to enable it under the License Overview in BigFix Management.
Do you have computers subscribed to the site? If not, the Analysis won’t be relevant so you may have to click ‘Show non-relevant content’ at the top of the console to display it.
You’ll need to either subscribe your Windows computers to the BigFix Labs site, or make a custom copy of the analysis and store it in a custom site to which the Windows computers are already subscribed.