Posted on 04-09-2021 11:32 PM
I'm new to Jamf and am trying to move the workflow from my previous MDM, so apologies if I'm missing something obvious.
I've got a package which installs some required files and runs a few scripts. The package is usually updated every few weeks with updated desktop pictures etc.
My previous MDM would update the package if the machine's package receipt was for an older version, but I can't seem to find an easy way of doing this in Jamf.
As far as I can tell I'll have to use a policy to install the package, and scope the policy to a smart group that contains computers where the package is outdated or not installed. Checking if a package is installed seems relatively easy, but I can't find a way to see a package's version. I can't use "application version" as the package doesn't install an application.
What's the easiest way of doing this in Jamf?
Thanks!
Posted on 04-10-2021 12:01 AM
If when you build your package, you include some kind of versioning in the name, for example maybe it's named package_name_2021.04.09
today, but in a few weeks it becomes package_name_2021.04.30
, then you can build Smart Groups based on package receipts in Jamf. You would use the Packages installed by Casper
criteria item (yes, the name is a throwback that was never updated by Jamf). You can create a Smart Group of machines that do not have your current package receipt recorded by Jamf Pro, for example.
This information is of course only as good as your inventory data, so be sure to include the Maintenance payload with the "Update inventory" option enabled on the policies that are installing those packages.
Posted on 04-10-2021 01:30 AM
I could modify my package building script to include a version/build time in the name, but I don't want to litter my package receipts with hundreds of different versions of the same package.
I've made myself an extension attribute for the package version which is updated by a script, so I should be able to make a smart group based on that. Thankfully my package version is always an integer, so I also get the bonus functionality of being able to filter by greater than/less than.
Whilst this seems to work, it's way messier than I'd like. If anyone has a simpler way of doing this I'd love to hear it.
Posted on 04-12-2021 07:47 AM
Is this on a set schedule? What about using the same name for each package and set the policy to run once a week? The only process you have to worry about then is uploading it to Jamf.