Some applications do not have actual .app packages installed when you run the installer. One example of this is Lab Stats. The installer will install multiple files and some UNiX applications, so how do you know if the application is on a machine? Casper offers a few options:
- Turn on UNiX application gathering for your inventory collection.
- Only install via Casper and look at the application package receipts.
- Run a script via an Extension Attribute to check for installed files.
The first two are good options, but some people do not want to turn on the UNiX application list due to the size & time it takes to gather the inventory report. If you are implementing Casper on a site you will already have some computers with applications installed outside of Casper, so you may not be able to rely on an accurate installer receipt. The third option will work regardless of which installer was used (as long as they all install the same files), and doesn’t increase the report time drastically.
The first two options are common tasks in Casper, the third is also but requires a bit of your own scripting. Under Settings -> Inventory Options -> Inventory Collection Preferences -> Extension Attributes you can create a new extension attribute by clicking on “Add Extension Attributes” and change the Input Type to Populated By Script. The script is simple, in this example I’ll show how to see if a specific file (foo.bar) is in the Shared User’s directory.
#!/bin/bash if [ -e /Users/Shared/foo.bar ] then echo <result>TRUE</result> else echo <result>FALSE</result> fi
The extension attribute will now show TRUE if the file is there and FALSE if it is not. You can create smart computer groups filtering on this attribute.
If you want to change the type of file it searches for (say you just want to know if a specific directory is in a specific location). Fire up the terminal and do a ‘man if’ to see all options available.Till Next Time.