Tuesday
I am curious to know what everyone is using for your SUPERMAN deployment script (of those of you who do use SUPERMAN). Here is my script:
https://github.com/ScottEKendall/JAMF-Pro-System-Scripts/blob/main/Superman%20Script.sh
I am pretty sure it is working, but I am curious if I missed something critical or some "fine tuning" might be in order...the docs on his website can be "daunting"...
Please let me know your thoughts / suggestions...
Tuesday
Actually per https://github.com/Macjutsu/super/wiki/Jamf-Pro-Deployment most of us just push out a config. profile with a policy that executes the super script from within Jamf Pro. super is self installing so that causes it to install with the options configured from the config profile, and any parameters provided with the script from Jamf Pro.
Wednesday
Mind sharing what your config profile looks like? I haven't set that up yet, but plan to...just not sure if I got my implementation down correctly so I can convert it to a config profile...
Tuesday
I use the config profile that passes the machine's JSSID to Super: AuthJamfComputerID for version 4x and JamfProID for version 3x. For minor updates, I use version 4 and up of super and for Major upgrades, I still use version 3 so the the custom trigger option will call a policy that uses erase-install for the upgrade. That's mainly because I get impatient waiting for the APNS push of the OS and the end user gets a direct prompt for the actual OS Upgrade. Here's an example of the version 4 script I use for minor update pushes.
#!/bin/bash
# This script installs or upgrades to, then runs Version 4.0.3
# Path to the super working folder:
SUPER_FOLDER="/Library/Management/super"
# Path to the local property list file:
SUPER_LOCAL_PLIST="${SUPER_FOLDER}/com.macjutsu.super" # No trailing ".plist"
# Report if the super preference file exists.
if [[ -f "${SUPER_FOLDER}/super" ]]; then
if [[ -f "${SUPER_LOCAL_PLIST}.plist" ]]; then
super_version_local=$(defaults read "${SUPER_LOCAL_PLIST}" SuperVersion 2> /dev/null)
[[ $(echo "${super_version_local}" | cut -c 1) -lt 4 ]] && super_version_local=$(grep -m1 -e 'superVERSION=' -e ' Version ' "${SUPER_FOLDER}/super" | cut -d '"' -f 2 | cut -d " " -f 4)
[[ -n "${super_version_local}" ]] && echo "${super_version_local}"
[[ -z "${super_version_local}" ]] && echo "No super version number found."
else
echo "No super preference file."
fi
else
echo "Not installed"
fi
function superSilicon () {
/Library/Management/super/super --auth-jamf-client="Your Client Here" --auth-jamf-secret="Your Secret Here" --install-macos-major-upgrades-off --install-non-system-updates-without-restarting --deferral-timer-focus=30 --deadline-count-focus=3 --deferral-timer-menu=20,120,240 --deadline-count-hard=3
}
if [[ $super_version_local == "4.0.3" ]]; then
echo "Current Version"
superSilicon
else
echo "Not Current"
/usr/local/bin/jamf policy -event super4.0.3
superSilicon
fi
exit 0