Deploying MacOSX Updates

applesupport-ne
New Contributor III

Hi, I'm looking to deploy Mac OSX Updates via JSS. I tested it out where I can deliver the Updates via the JSS and the users can installer, but I prefer to do this using another Scenario:

Scenario:

Cached the OSX update "10.10.4" (I'm not sure how to do the caching) on to the users machine and when they click on the "Install Icon" in self service the package will execute installing from the users local machine rather then over WAN.

Also is there a way to know if the package is indeed cached?

I'm not great at scripting so I would appreciate any help I can get.

2 ACCEPTED SOLUTIONS

cmarker
Contributor

This actually isn't terrible difficult to accomplish, it just looks a little wonky at first.

  1. You create a policy scope to a Smart Computer group (Named "Yosemite Computers- Need Update") that contains all the 10.10 computers that are not already 10.10.4

  2. Create another Smart Computer group that looks for the cached package (Named "Yosemite Update - Has 10.10.4 Cached")

  3. Create a Policy (Named "Yosemite Updates - 10.10.4 - Cache") that is a Recurring Check-in trigger that just caches the package. This will be scoped to the "Yosemite Computers - Need Update" smart group and will exclude the "Yosemite Update Has 10.10.4 Cached" group. The option to cache the package is under the "Actions" drop down menu in the package tab in the policy. Have this policy update inventory.

  4. Create a Policy (Named "Yosemite Update -10.10.4 - Install") that installed the cached 10.10.4 update package. The option to install the cached package is under the "Action" drop down in the package tab in the policy. Scope this policy to the "Yosemite Update - Has 10.10.4 Cached" smart group. Give it a category, make it available in Self Service and give it some start and finish text for the users.

The result will be that every computer that needs the 10.10.4 update will download and cache the installer the next time they check for policy. Once that package is cached, they will see an item in Self Service for the update and can click to install, this will use the cached package to perform the install.

View solution in original post

mm2270
Legendary Contributor III

EDIT: What @Marker.43 said. He beat me to it and laid it out more clearly.

The scenario you describe is very commonly in use with the Casper Suite and is easy to do.

Create 2 policies. One for caching, the other to install the cached package. The package payload will be the same for both policies, but the action will be different (cache vs install cached)
You also need to create at least one, but preferably 2 Smart Groups.
The first Smart Group will be for Macs not running the OS you're looking to upgrade them to (10.10.4) in this case, but are running some version of 10.10.x, assuming you are using the Combo Update. If you decide to use the Delta update, then the Smart Group would need to be for Macs on 10.10.3 specifically. The Smart Group should also include the "Cached Packages" criteria using the "does not have" operator, and then the specific package you're caching. So basically, it will gather Macs that can have the update applied to them and do NOT have the package already cached.

The second Smart Group can be a little simpler in that you can just include the "Cached Packages" criteria and use "has" as the operator, and then the package name.

The first Smart Group gets scoped to the caching policy and whatever trigger you'd like, usually Recurring Check-in. Make sure the policy is collecting inventory after it runs, so Macs with the package cached land into the 2nd Smart Group.
The second group is scoped to the Self Service policy that the user runs. When they run it, it will install the cached package. You just have to make sure that this policy uses the same package payload, but change the Action drop down to "Install Cached" so it knows to install it from the local system and not be pulling the file down.

I may be missing an item or two since I wrote this up quickly, but this should get you in the right direction. Post back with any questions.

View solution in original post

6 REPLIES 6

cmarker
Contributor

This actually isn't terrible difficult to accomplish, it just looks a little wonky at first.

  1. You create a policy scope to a Smart Computer group (Named "Yosemite Computers- Need Update") that contains all the 10.10 computers that are not already 10.10.4

  2. Create another Smart Computer group that looks for the cached package (Named "Yosemite Update - Has 10.10.4 Cached")

  3. Create a Policy (Named "Yosemite Updates - 10.10.4 - Cache") that is a Recurring Check-in trigger that just caches the package. This will be scoped to the "Yosemite Computers - Need Update" smart group and will exclude the "Yosemite Update Has 10.10.4 Cached" group. The option to cache the package is under the "Actions" drop down menu in the package tab in the policy. Have this policy update inventory.

  4. Create a Policy (Named "Yosemite Update -10.10.4 - Install") that installed the cached 10.10.4 update package. The option to install the cached package is under the "Action" drop down in the package tab in the policy. Scope this policy to the "Yosemite Update - Has 10.10.4 Cached" smart group. Give it a category, make it available in Self Service and give it some start and finish text for the users.

The result will be that every computer that needs the 10.10.4 update will download and cache the installer the next time they check for policy. Once that package is cached, they will see an item in Self Service for the update and can click to install, this will use the cached package to perform the install.

mm2270
Legendary Contributor III

EDIT: What @Marker.43 said. He beat me to it and laid it out more clearly.

The scenario you describe is very commonly in use with the Casper Suite and is easy to do.

Create 2 policies. One for caching, the other to install the cached package. The package payload will be the same for both policies, but the action will be different (cache vs install cached)
You also need to create at least one, but preferably 2 Smart Groups.
The first Smart Group will be for Macs not running the OS you're looking to upgrade them to (10.10.4) in this case, but are running some version of 10.10.x, assuming you are using the Combo Update. If you decide to use the Delta update, then the Smart Group would need to be for Macs on 10.10.3 specifically. The Smart Group should also include the "Cached Packages" criteria using the "does not have" operator, and then the specific package you're caching. So basically, it will gather Macs that can have the update applied to them and do NOT have the package already cached.

The second Smart Group can be a little simpler in that you can just include the "Cached Packages" criteria and use "has" as the operator, and then the package name.

The first Smart Group gets scoped to the caching policy and whatever trigger you'd like, usually Recurring Check-in. Make sure the policy is collecting inventory after it runs, so Macs with the package cached land into the 2nd Smart Group.
The second group is scoped to the Self Service policy that the user runs. When they run it, it will install the cached package. You just have to make sure that this policy uses the same package payload, but change the Action drop down to "Install Cached" so it knows to install it from the local system and not be pulling the file down.

I may be missing an item or two since I wrote this up quickly, but this should get you in the right direction. Post back with any questions.

applesupport-ne
New Contributor III

@mm2270 @Marker.43 Thank you both, this worked like a charm!

jpilege
New Contributor III

Thanks @Marker.43 and @mm2270 !! This worked great for my Macs.

Side question, would this process be the same for updating the Operating Systems themselves? Example: going from Mavericks to Yosemite or even Mountain Lion to Yosemite and soon El Capitan.

cmarker
Contributor

Yup, it works well for OS version upgrades as well. I usually thrown in a permissions repair on the first policy in that case, just for good measure.

GregE
Contributor

I found my solution but can't see where to delete this post!