Skip to main content

I updated my OS script to support High Sierra. It also adds FV authenticated restarts. I hope to potentially add another big feature in the future, but that's it for now.

https://babodee.wordpress.com/2017/09/26/update-to-macos-upgrade-script/

I know I'm not the only one who is working on this. Feel free to share your upgrade methods and/or scripts to upgrade to macOS High Sierra. Curious to see what others are coming up with.

Here are links to other methods used for Sierra:
https://github.com/kc9wwh/macOSUpgrade

https://github.com/ToplessBanana/tutorials/tree/master/HOW-TO-self-service-macOS-upgrades

And a huge discussion for Sierra where a few other methods are discussed:

https://www.jamf.com/jamf-nation/discussions/22731/in-place-macos-sierra-upgrade-script

Good morning @bpavlov you are correct, it isn't your script and I apologize for that. Too many things with High Sierra and trying to sort them all out. The script I was referring to above was in your original post at the top of this discussion and I inadvertently thought of you, my apologies for that oversight. It was the second link you had referenced.


@mconners No worries. I believe that script is maintained by @Rosko Maybe he can provide some assistance.


How is everyone managing the Firmware Update portion of updating to 10.13 in general or when using the script created by @Rosko mentioned above

I know I have seen online and tested early with High Sierras release this script to extract and create a Firmware package.

Does this method work still? @Rosko does it work with your script workflow or do you have any guidance managing this portion to avoid system/install issues?

Wasn't sure if the Firmware updates are for specific year/model systems to support APFS or if this is really even required for most 2012 or newer systems?


@sbirdsley If you are updating your Macs with the macOS 10.13 installer app then it should be updating the firmware for you. Is there a particular scenario you're facing where firmware is not being updated?


@sbirdsley as @bpavlov pointed out my workflow will handle the APFS conversion, firmware update and OS update all in "one" fell swoop as it is using Apple's installer. Have you seen otherwise?


@Rosko thanks for the quick reply on confirming this and the great work in this script. I just wanted to make sure this update method was handling this portion (Firmware updates) as I had a recent "alpha" install attempt to our production environment fail and the machine was no longer bootable, HD not being listed with option boot, couldn't see it in other boot methods (usb/NetBoot). I ended up having to replace the SSD in the system which was a 2013 MBP.

Didn't know if something happened during the upgrade process that caused this or if this was a weird one off or some other hardware issue, just made me nervous. I see you updated your script recently so going to update my workflow with this version.

Will be testing more this week on a few different models and see how things go. Right now the major hurdle with 10.13.4 is issues with DisplayLink that is prevent us from rolling this out fully to all our users, and the need to update or JSS to support Kernel Extensions


@Rosko Trying to test this script in a VM. Everything is working aside from the FileVault authenticated reboot. I noticed though that the FileVault authenticated reboot does not work even if I manually run the .app installer. Are there settings that need to be changed within VMWare Fusion for the authenticated reboot to work when testing in a VM?

Edit: Nevermind I believe this has something to do with trying to use the startosinstall command (or installer.app) from an different account that is FileVault enabled.


Hello,

I have a bit of an odd issue. It looks like the script runs and prompts for the authenticated restart credentials, but after that, it does not run the installer. Logs don't show any exit codes or errors.

Not sure where to start to troubleshoot. Help would be greatly appreciated!

Thanks,
Jose


@BreakingZeus What do you have variable/paramter #5 (OS version) set to in your script within your install policy?


Apologies for the late response. I have that parameter currently set to macOS High Sierra. I wasn't sure if this was just a version number of the name of the OS.


@BreakingZeus You want to set it to the version number

See my example


We personally are using something created by Josh Roskos at Jamf that has worked beautifully for us.

https://github.com/kc9wwh/macOSUpgrade


@afarnsworth Correct, that is the item we are discussing


I'm using the macOSupgrade script with 10.13.4 but it just puts my test Mac into a download loop. It will download the High Sierra installer to the Applications folder. Then the installer is deleted and downloaded again and again. Any ideas?

Also my High Sierra install is packaged as a DMG to go to the Applications folder. Maybe it needs to be an install package?


@spraguga does the target version in the script parameter match the version you have packaged in the DMG?


@Rosko No, I'd didn't even realize I actually downloaded 10.13.5. I was putting in 10.13.4. Well I know that part works. All set now! Thanks!


Hi @Rosko ,

is it possible to not convert to APFS and leave it as it is to speed up the upgrade. or wouldn't you recommend doing so?

I know there is an option to not convert during osinstall.

thanks in advance ce and great work on the script


@anniwayy I do not have it as an option in the script, but it could be added on line 346 (v2.6.1) easy enough. I didn't include it as an options, because HFS+ is being deprecated in favor of APFS. For this reason alone, I did not add a option within the script to choose between APFS or HFS+.


@Rosko thanks! got it


Hello,

We're trying to use @Rosko 's script to do in place upgrades. But I'm a little confused as to what I should insert for parameter 6. TBH, I'm not too sure on how to use custom triggers just yet. Any help would be great! Thanks!


Trigger 6 should be the policy trigger for the policy you setup to download and install the pkg that installs the "Install macOS High Sierra.app " onto the system to be used/called


@lstrm When you create the new download policy this should install to here:
/Applications/Install macOS High Sierra.app

For the Trigger, check "Custom" and enter a "Custom Event". You should enter something that makes sense to what the policy actually is like DLHIGHSIERRA. I always use caps for my custom event triggers but you don't have to.

A policy with a Custom only trigger can only be executed by the Custom Event. For example, from the command line on a user's Mac like this:
jamf policy -event DLHIGHSIERRA

Whatever you put in the Custom Event field is what you should put in parameter #6. For my example above you would put DLHIGHSIERRA


Right on @sbirdsley and @spraguga thanks for the info! I'll try this out and report back!


Hello again,

I've done what @spraguga suggested but after the download, the jamf daemon keeps checking for a policy using the custom trigger....
I get this error "Checking for policies triggered by "DLHIGHSIERRA" for user "xxxx"


Do you have the policy the download is setup with scoped correctly to the machine you are trying to run it on?