Deploy Catalina

mlambourne
New Contributor

Hello

I would like to start deploying Catalina to our Mac's.

Can someone send me information on how we can do this via Jamf?

Many thanks

9 REPLIES 9

john_sherrod
Contributor II

There's a few ways to do this, and I've used some different methods in the past. Right now I've got a three step process:

  1. Use Jamf Composer to package up the Install macOS Catalina installer file which I then upload to Jamf via Jamf Admin.
  2. A policy that deploys that package to the Macs I want to update.
  3. A policy that allows the end user to click Install in Self Service as seen in the attached screenshot. 14609698a9f64d5295d3d4bfec3871c3

fneidhardt
New Contributor III

Take a look at https://github.com/kc9wwh/macOSUpgrade

nelsoni
Contributor II

This is also a good place to start.

https://www.jamf.com/blog/reinstall-a-clean-macos-with-one-button/

oartola
New Contributor II

fneidhardt curious what is the benefit of such a congested script? Still seems like we need to download the base installers separately so why would we use this huge script over just the one line: "Install macOS Catalina.app/Contents/Resources/startosinstall' --agreetolicense --forcequitapps --nointeraction &"
or
"Install macOS Catalina.app/Contents/Resources/startosinstall' --eraseinstall --agreetolicense --forcequitapps --newvolumename 'Macintosh HD' --nointeraction &"

Very curious to hear your thoughts.

mfordice
New Contributor

@oartola In our environment other people are often running the upgrade. Since that one liner can fail if there is not enough space, the OS download didn't complete, or the current operating system cannot install the downloaded version, etc.. A more detailed script can save the user time by letting them know there is an issue, how to resolve it, or that they need to contact their IT admin. Before implementing more pre-install checks users would be left with the "How long do I have to wait until I know there is an issue" dilemma which could end up being a massive waste of time.

GabeShack
Valued Contributor II

I have been just testing pushing the Catalina installer via the Mac App Store, then calling the

/Applications/Install macOS Catalina.app/Contents/Resources/startosinstall --nointeraction --agreetolicense

So far my only issue is that it asks the user to quit self service before restarting. (Just read that if you make them have to read the description before clicking install this will cause it not to quit).

Otherwise once I know the app store catalina is on the machine, the self service command seems to work fine.

Gabe Shackney
Princeton Public Schools

Gabe Shackney
Princeton Public Schools

GabeShack
Valued Contributor II

Interesting side note, after I pushed Catalina from the Mac App Store my users got this message(see screenshot):
328476b4880d459baf82828faffcfa1c
Strange enough it restarts their computers, but doesn't install the Catalina update.

Gabe Shackney
Princeton Public Schools

Gabe Shackney
Princeton Public Schools

cdouglas
New Contributor II

@gshackney Hey I don't know if you are still struggling with this or not but I created a pkg to put the "Install macOS Catalina.app" in the Applications folder, then I ran this script.

#!/bin/bash

# macOS Installer Script

# scope to computers where Application Title is Install macOS Catalina.app
macOSinstaller="/Applications/Install macOS Catalina.app"

jamfHelper="/Library/Application Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper"

jh_title="Downloading macOS"
jh_desc="macOS Catalina is now installing on your device. You will not be warned when the computer restarts!"
jh_icon="/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertCautionIcon.icns"
jh_iconsize=100

# open jamf helper tool
if [[ -f "$jamfHelper" ]]; then
    "$jamfHelper" -windowType hud -windowPosition ul -title "$jh_title" -alignHeading center -alignDescription left -description "$jh_desc" -lockHUD -icon "$jh_icon" -iconSize $jh_iconsize &
    jamfPID=$(echo $!)
fi

# run the installer
"$macOSinstaller/Contents/Resources/startosinstall" --agreetolicense --forcequitapps

# kill the helper tool and Self Service
[[ $jamfPID ]] && kill $jamfPID
/usr/bin/killall "Self Service"

GabeShack
Valued Contributor II

@cdouglas Hey, thanks for that, I did actually start using the script MacOSUpgrade which can be customized to either upgrade and install or wipe and install.

https://github.com/kc9wwh/macOSUpgrade/blob/master/macOSUpgrade.sh
Gabe Shackney
Princeton Public Schools

Gabe Shackney
Princeton Public Schools