The Mac OS X software inventory reporting is currently lacking compared to the Windows software reporting. For Windows there is the AddRemoveProgram table that provides a lot of useful software data. This tool in conjunction with a Custom Data Class table will give you a lot more details about installed Mac software. The attached tool does all the work, all you need to do is create the new data class.
Create a Custom Data Class named anything you want. Remember what you name it, you'll need to specify the name when you use the tool.
Add the following attributes to the class:
Attribute Name |
Data Type |
Size |
Name |
String |
255 |
Path |
String |
1024 |
Info |
String |
255 |
Version |
String |
255 |
Runtime |
String |
80 |
LastModified |
String |
80 |
Has64BitCode |
Booleen |
1 |
AppStore |
Booleen |
1 |
None of the attributes are required, but you could make Name and Path required if you want. Both of those should always contain a value. Make sure to check the box that says "Allow multiple rows from a single computer resource."
Run the attached tool from a your Mac that is already running the Altiris agent. Make sure if you are testing it locally, to proceed the command with sudo to elevate the privileges. If you are running it as part of an Altiris policy, it will already be running with the root privileges.
You must pass the name of the table to the tool like this:
SoftwareInventoryReporter --table MyTable
SoftwareInventoryReporter: Usage:
-t | --table Specify the Custom Inventory
<table name> Table Name. (Required argument.)
-s | --save Save the output submit script
<path to file> file. (Optional argument.)
-r | --rootonly Report only apps on the / drive only.
(Optional argument.)
-n | --nosubmit Do not submit the report to the NS.
(Optional argument.)
-v | --version Display version and exit
-a | --about Display about and exit
-h | --help Display this help and exit
Use this for full details:
SoftwareInventoryReporter --help
Essentially this tool will query the system_profiler tool and retrieve a full report for all installed applications. Then it reformats the output into a format that the Altiris Mac custom inventory tool understands. Then it submits the inventory to the NS.
I added options for saving the generated script and skipping the submit process, if you want to have a look at the output before you actually do a submit. You could use the tool to only generate the script and then have some other process on the machine do the submit at a later time.
SoftwareInventoryReporter --table MyTable --nosubmit --save "/path/to/save/file.sh"
Once you are satisfied with the results, push the tool out to all your Macs and then setup a policy to run it regularly.
Much more complete Mac application data will now be available in Altiris for reports, filters, etc, similar to the Inv_AddRemoveProgram table for Windows software that already exists.
This tool should work on 10.6 and later. Untested on 10.5 and earlier, but may work? Let me know if it does and I will update this article.
Updated v1.01 tool and sample report attached.