Skip to content

Latest commit

 

History

History
57 lines (28 loc) · 2.8 KB

README.md

File metadata and controls

57 lines (28 loc) · 2.8 KB

macOS Sierra Self Service Upgrade Process

Workflow for doing an in-place upgrade without user interaction.

This script was designed to be used in a Self Service policy to ensure specific requirements have been met before proceeding with an inplace upgrade to macOS Sierra, as well as to address changes Apple has made to the ability to complete macOS upgrades silently.

Requirements:

  • Jamf Pro
  • macOS Sierra Installer must be staged in /Users/Shared/

Written by: Joshua Roskos | Professional Services Engineer | Jamf

Created On: January 5th, 2017 | Updated On: March 10th, 2017


Why is this needed?

Starting with macOS Sierra, Apple has begun enforcing the way in which you can silently call for the OS upgrade process to happen in the background. Because of this change, many common ways that have been used and worked in the past no longer do. This script was created to adhear to Apple's requirements of the startosinstall binary.

This script has been tested on OS X 10.11.5 upgrading to macOS Sierra 10.12.2 without issue. If the machine is FileVault encrypted, it will complete the authenticated restart to the OS Installer and automatically perform the upgrade with no user interaction. Upon completion the machine will again reboot to the macOS Sierra Login Window.

Configuring the Script

When you open the script you will find some user variables defined on lines 57-72. Here you can specify the message that is displayed to the end user while the script is running and preparing the computer to upgrade to macOS Sierra.

Also, if you decide not to stage the macOS Sierra Installer in /Users/Shared/, you will need to update the variable on line 58.

Checking if macOS Sierra Installer is Already Present

I've now added a Extension Attribute to this repo which can be used to check and see if your existing clients already have a copy of "Install macOS Sierra.app" in their Applications folder. If they do, it will report the version they have. This information can be used to scope out your cached package so you don't have to re-deploy to machines that already have it.

If you use this EA, you will want to use version 1.7 (or later) from the release tab so it knows to look in the /Applications/ folder location as well.

Stagging macOS Sierra Installer

In order for this script to work, you will have to have a copy of the macOS Sierra Installer that is available from the Mac App Store located in /Users/Shared/. One of the easiest ways to achieve this is to package the installer with composer as seen below and deploy the package via Jamf Pro.

alt text

Example of Required Self Service Description

alt text

Example of FullScreen Dialog

alt text

Example of Utility Dialog

alt text