Audit of Microsoft Products

(imported topic written by BetFix91)

I’m trying to pull out a list of all MS applications installed in our company. I’ve tried using the ‘installed_app.besreport’ but it is very verbose reporting over 30 differing versions of SQL. More worryingly it also list Microsoft 2005 SQL, no version number, but 105 installs. This is clearly some sort of aggregation but I have no where near 105 installs. It also seems to have overlooked some Exchange installs.

I have also cobbled together a report but keep finding apps I’ve overlooked.

Is there a script which pulls out OS versions, MS apps ( purchased/licenced) and the number of each. The kind of thing I need to provide my vendor with?

(imported comment written by curth)

A project manager at my company was looking for similar information that you are looking for. The project manger contacted BigFix and setup a meeting. The BigFix Folks has us turning on the Application Usage Information Dashboard in the BigFix Console. You then need to setup and specify each application that you want to track.

There is also the Application Information (Windows) Analysis in both the BES Support and the BES Inventory and License Site. This analysis is best when set to “View as Summary” within the BigFix 7.x Console.

Hope this helps.

(imported comment written by superfreak7791)

Hello, like a lot of others, I’m also working on an application inventory, however I need to monitor new installs and perhaps only include machines in reports that have a new install since a previously reported date. (to avoid bloated and repetitive reports).

So far what I tried is this below, but I have something wrong on the syntax. I’d appreciate any help;

(if ((exists value “DisplayName” of it) AND (exists value “DisplayName” of it as string)

AND (length of (value “DisplayName” of it as string) > 0) AND (number of substrings " "

of (value “DisplayName” of it as string) < (length of (value “DisplayName” of it as string))))

then (value “DisplayName” of it as string & (if (exists value “DisplayVersion” of it) then

(" - " & value “DisplayVersion” of it as string) else (""))) else (name of it & (if ((exists value “DisplayVersion” of it) and (exists value “InstallDate” of it and value “InstallDate” of it as integer > 20080301 ) AND (exists value “DisplayVersion” of it as string)) then (" - " & value “DisplayVersion” of it as string) else ("")))) of keys whose (exists value "UninstallString"of it) whose (name of it does not contain “KB” ) of key “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry

-BTW, I’ve also tried the script listed here;

http://forum.bigfix.com/viewtopic.php?id=977

Although it shows the install date when available, still doesn’t allow me to set a start cutoff date.

(imported comment written by BenKus)

This relevance seems to work for me… I am wondering if maybe some of your “install dates” are integers and thus cause an error… you can add an extra check for this:

(if ((exists value “DisplayName” of it) AND (exists value “DisplayName” of it as string) AND (length of (value “DisplayName” of it as string) > 0) AND (number of substrings " " of (value “DisplayName” of it as string) < (length of (value “DisplayName” of it as string)))) then (value “DisplayName” of it as string & (if (exists value “DisplayVersion” of it) then (" - " & value “DisplayVersion” of it as string) else (""))) else (name of it & (if ((exists value “DisplayVersion” of it) and (exists value “InstallDate” of it and +exists value “InstallDate” of it as integer + and value “InstallDate” of it as integer > 20080301 ) AND (exists value “DisplayVersion” of it as string)) then (" - " & value “DisplayVersion” of it as string) else ("")))) of keys whose (exists value "UninstallString"of it) whose (name of it does not contain “KB” ) of key “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry

(imported comment written by superfreak7791)

Sorry but the date integer part isn’t working. It returns a complete list of software no matter what number you put in there, (today’s, or simply ’ 00 ’ ).

Seems about the best I can get is to output the install date, with;

& (if (exists value “Install Date” of it) then (" ; " & value “InstallDate” of it as string) else (" ; NoInstallDate"))