Posted on 07-01-2019 10:40 AM
So quick story, our Jamf engineer had left our work place and never made it to upgrade our machines to 10.14, i somehow was throw into making the upgrade possible, we are a school district of 3000 users and i have the summer to try and make this work, i was finally able to have the Mojave installer download to the machines but now I'm really stuck on having the installer run 98% of our machines are on 10.13 +. everything I'm doing is through self-service and this is the command that I'm using. Any help or guide would be very helpful and thank you in advance!
startosinstallCommand=""$OSInstaller/Contents/Resources/startosinstall" ${startosinstallOptions[*]} >> $osinstallLogfile 2>&1 &"
/bin/echo "Running a command as '$startosinstallCommand'..."
eval "$startosinstallCommand"
/bin/sleep 3
cleanExit 0
Posted on 07-01-2019 11:09 AM
What you've posted only appears to be portions of a larger script. As is, it's kind of impossible to know where it might be going wrong since we can't see the rest. The lines you posted have several variables referenced in it, but I don't we'll need to see what those variables actually point to.
In short, can you post a more complete script, and also while you're at it, please enclose the script in the script markdown tags so it's easier to read? (highlight the whole script once it's in your post and click the >_
button in the post editing toolbar)
Posted on 07-01-2019 11:41 AM
I'd suggest taking a look at https://github.com/kc9wwh/macOSUpgrade if you haven't already. It should help you work through the Self Service upgrade process.
Posted on 07-01-2019 02:06 PM
seems like you're making more difficult than it needs to be. I just download the Mojave installer from the App Store, shorten the name to just Install Mojave OS.app (or something similar to get around the restricted software settings I created). Then made a .dmg from it.
I created a policy that just installs the .dmg, which drops the installer in the Applications folder. Then in the same policy, under Files and Procedures, Execute UNIX command: sudo /Applications/Install Mojave.app/Contents/Resources/startosinstall --agreetolicense --nointeraction
I make it available to everyone to run (1x) on their own from Self Service, but there is no reason you couldn't set the trigger to run it automatically. It will perform an update keeping most things just as they were. I would test to see if there are any specific settings you have that would be affected, then script any changes you need.
Once the app is downloaded and installed, the command is run locally and everything happens from the given machine.
Posted on 07-01-2019 05:59 PM
@cnorrisAdmin The startosinstall
tool requires a user is logged in. I believe that's so it can do an authenticated restart which is needed for the upgrade process to complete.
Posted on 07-02-2019 05:15 AM
@sdagley i was able to get it to update, now the only problem I'm getting here is the users are none admins, and when i run the policy nothing happens at all, i then went ahead and try to even install the OS manually, by clicking the installer, i get a " this copy of the install macOS mojave is damage and can't be use" but as soon as i switch over to admin account, everything works perfectly, even the policy. is there a way i can make the regular users admin as a temporary without them knowing?
Posted on 07-02-2019 06:24 AM
@diego86 Don't have the user run the installer directly, but have a policy in Self Service that runs it. If you have a policy that runs the command
/Applications/Install macOS Mojave/Contents/Resources/startosinstall --agreetolicense --nointeraction
via a script or Files and Processes payload then the user should not need to be admin as the policy will run as as root.
Posted on 07-02-2019 06:33 AM
Anyone else seeing my post above not displaying the code snippet completely? Rather than ending with --nointeraction
I'm seeing it end with --n
Update: It seems the forum software has changed how code snippets display inline. If a snippet will be longer than a single line you'll want to wrap the snippet using the code block Tag ``` with each tag on it's own line to force a code block rather than using the inline code Tag `.
Posted on 07-02-2019 06:45 AM
@sdagley Thank you for the reply, but unfortunately that didn't work. i even try to open the terminal and run that exact same command under the regular use and nothing happens, I then looked at the install logs on the test machine and this is what i get. But if i log out of that user and login as a local admin, the process goes well and it upgrades. I just don't understand what is happening. Thank you again.
Posted on 07-02-2019 08:12 AM
@diego86 Do you have a Configuration Profile that restricts mounting of disk drives or disk images?
Posted on 07-02-2019 08:16 AM
@sdagley Im embarrassed to admit it, but i did, finally i got it all figure it out, and the last piece of the puzzle was that. i had DMG's blocked for regular user, truthfully 2 months ago i never even touched JAMF and all this is a learning experience for me, i never even wrote one tiny bit of script in my life and all of a sudden i got this JAMF assignments throw at me! and there is so much to it! I'm learning fast and it can get very confusing at times, its like a whole different language, i want to thank you for all the help you provided!!
Posted on 07-02-2019 09:00 AM
Like @landon_Starr said, you should look into https://github.com/kc9wwh/macOSUpgrade. The readme basically goes over everything you need to do.
Posted on 07-02-2019 09:34 AM
@diego86 Glad to hear you got it figured out. You are far from the first, and definitely not the last, to discover blocking disk images can have unintended consequences. It's not like anyone started out as a Jamf expert, and it's great that Jamf Nation exists as a resource for sharing information.