I am trying to write a report to show me computers missing a certain application (from add/remove programs).
This is what i tried writing but i see the logic and why its not working (currently it shows me all computers with and without that app). I cant seem to figure out the right way to create the report.
The report part you've built using the advanced filter is essentially saying, "Show me any machine that has any application installed except don't show individual app records for the application 'minecast'". That's why you're not getting the results you're hoping for.
I suggest you first create a view for machines missing the minecast application (for sample purposes, I've assumed the executable name is minecast.exe, but you'd enter the actual executable name):
Once you've created the view, verify it filters the machine list as you'd expect (for example, filter the Manage Agents function to a small test group, then use the View filter to remove those machines from the list which DO have the application installed). When you're confident your view works, create your report part. You don't necessarily need any advanced filters in the report part, and I recommend you start out not using any at first. Add filters once you get the base function working properly.
When you preview the report part, or when you create the report, use the view to filter the results:
This should result is showing any machine that does not have the application installed.
Perfect! thank you
I would caution that the report is only as good as the most recent audit, since the membership in the group is dependent on the .exe being (or not being) in the database.
I might suggest that if you know of a file, or registry key that is present when the application is installed, that you could write a simple script to audit the machine for that, and then write the results to the Agent Procedure log using tags $Mimecast$. You would then use an Log - Agent Procedure log report to get a list of all of them.
Running this would give you real-time info, the downside is that all the machines would need to be checking in, in order for it to run.
Yes i thought of doing it that way too however we run the latest audit on daily basis so it wont be too out of date.
This is of course pretty good but what about when you need to separate different versions of a program? Say Sketchup for example. I want to know which computers have Sketchup 2017. But all versions are named sketchup.exe.