Update: 11-Jun-2024
Setup Your Mac (1.15.0) with SYM-Helper (1.2.0) via swiftDialog (2.5.0)
Provide your users a seamless post-enrollment experience when setting up their new Macs
Introduction
Apple’s Automated Device Enrollment helps to streamline Mobile Device Management (MDM) enrollment and device Supervision during activation, enabling IT to manage enterprise devices with “zero touch.”
Setup Your Mac aims to simplify initial device configuration by leveraging swiftDialog v2
(or later) and Jamf Pro Policy Custom Events to allow end-users to self-complete Mac setup post-enrollment via Jamf Pro’s Self Service.
Update
Setup Your Mac (1.4.0) is now available offers significantly enhanced Completion Action options.
Configuration
If the core functionality of this script meets your needs, writing code should not be required. However, you should be comfortable modifying scripts before using this approach (i.e., customizing existing settings to your needs).
Complete the following steps to provide your users a seamless post-enrollment experience when setting up their new Macs.
A. Conduct a dry-run of the Setup Your Mac script
Complete the following steps on a testing macOS virtual machine.
Note: These instructions require swiftDialog 2.0.3810
(or later).
- Open the macOS Terminal
- Download the
Setup Your Mac
script
curl -o ~/Downloads/Setup-Your-Mac-via-Dialog-reference.bash https://raw.githubusercontent.com/dan-snelson/dialog-scripts/main/Setup%20Your%20Mac/Setup-Your-Mac-via-Dialog.bash
- Execute the
Setup Your Mac
script:
bash ~/Downloads/Setup-Your-Mac-via-Dialog-reference.bash
- Observe the output (i.e.,
This script must be run as root; exiting.
)
Using "wait" as the Completion Action 2022-11-14 06:37:27.054 defaults[724:8291] The domain/default pair of (/Library/Preferences/com.jamfsoftware.jamf.plist, self_service_app_path) does not exist This script must be run as root; exiting.
- Execute the
Setup Your Mac
script with elevated privileges:
sudo !!
- Observe the output. (Note: You can optionally use Command-k to quit
swiftDialog
):
sudo bash ~/Downloads/Setup-Your-Mac-via-Dialog-reference.bash Password: Using "wait" as the Completion Action 2022-11-14 06:53:03.652 defaults[2269:15800] The domain/default pair of (/Library/Preferences/com.jamfsoftware.jamf.plist, self_service_app_path) does not exist 2022-11-14 06:53:03 - ### # DEBUG MODE | Setup Your Mac (Dialog: v2.0.3810 • Setup Your Mac: v1.3.0) ### 2022-11-14 06:53:03 - Waiting for Desktop … 2022-11-14 06:53:04 - swiftDialog version 2.0.3810 found; proceeding... 2022-11-14 06:53:04 - Caffeinating this script (pid=2253) 2022-11-14 06:53:04 - SETUP YOUR MAC DIALOG: title: DEBUG MODE | Setting up Dan's Mac 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: progress_total=8 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: list: FileVault Disk Encryption, Sophos Endpoint, Palo Alto GlobalProtect, Microsoft Teams, Zoom, Google Chrome, Final Configuration, Update Inventory 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: listitem: index: 0, icon: https://ics.services.jamfcloud.com/icon/hash_f9ba35bd55488783456d64ec73372f029560531ca10dfa0e8154a46d7732b913, status: pending, statustext: Pending … 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: listitem: index: 1, icon: https://ics.services.jamfcloud.com/icon/hash_c70f1acf8c96b99568fec83e165d2a534d111b0510fb561a283d32aa5b01c60c, status: pending, statustext: Pending … 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: listitem: index: 2, icon: https://ics.services.jamfcloud.com/icon/hash_fcccf5d72ad9a4f6d3a4d780dcd8385378a0a8fd18e8c33ad32326f5bd53cca0, status: pending, statustext: Pending … 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: listitem: index: 3, icon: https://ics.services.jamfcloud.com/icon/hash_dcb65709dba6cffa90a5eeaa54cb548d5ecc3b051f39feadd39e02744f37c19e, status: pending, statustext: Pending … 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: listitem: index: 4, icon: https://ics.services.jamfcloud.com/icon/hash_be66420495a3f2f1981a49a0e0ad31783e9a789e835b4196af60554bf4c115ac, status: pending, statustext: Pending … 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: listitem: index: 5, icon: https://ics.services.jamfcloud.com/icon/hash_12d3d198f40ab2ac237cff3b5cb05b09f7f26966d6dffba780e4d4e5325cc701, status: pending, statustext: Pending … 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: listitem: index: 6, icon: https://ics.services.jamfcloud.com/icon/hash_00d7c19b984222630f20b6821425c3548e4b5094ecd846b03bde0994aaf08826, status: pending, statustext: Pending … 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: listitem: index: 7, icon: https://ics.services.jamfcloud.com/icon/hash_90958d0e1f8f8287a86a1198d21cded84eeea44886df2b3357d909fe2e6f1296, status: pending, statustext: Pending … 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: list: show 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: progress: 0 2022-11-14 06:53:05 - WELCOME DIALOG: quit: 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: progress: 0 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: listitem: index: 0, status: wait, statustext: Installing …, 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: icon: https://ics.services.jamfcloud.com/icon/hash_f9ba35bd55488783456d64ec73372f029560531ca10dfa0e8154a46d7732b913 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: progresstext: FileVault is built-in to macOS and provides full-disk encryption to help prevent unauthorized access to your Mac. 2022-11-14 06:53:05 - SETUP YOUR MAC DIALOG: DEBUG MODE: /usr/local/bin/jamf policy -event filevault 2022-11-14 06:53:07 - SETUP YOUR MAC DIALOG: Testing for "/Library/Preferences/com.apple.fdesetup.plist" … 2022-11-14 06:53:07 - SETUP YOUR MAC DIALOG: listitem: index: 0, status: fail, statustext: Failed 2022-11-14 06:53:07 - SETUP YOUR MAC DIALOG: progress: 12 2022-11-14 06:53:07 - SETUP YOUR MAC DIALOG: listitem: index: 1, status: wait, statustext: Installing …, 2022-11-14 06:53:07 - SETUP YOUR MAC DIALOG: icon: https://ics.services.jamfcloud.com/icon/hash_c70f1acf8c96b99568fec83e165d2a534d111b0510fb561a283d32aa5b01c60c 2022-11-14 06:53:07 - SETUP YOUR MAC DIALOG: progresstext: You’ll enjoy next-gen protection with Sophos Endpoint which doesn’t rely on signatures to catch malware. 2022-11-14 06:53:07 - SETUP YOUR MAC DIALOG: DEBUG MODE: /usr/local/bin/jamf policy -event sophosEndpoint 2022-11-14 06:53:09 - SETUP YOUR MAC DIALOG: Testing for "/Applications/Sophos/Sophos Endpoint.app/Contents/Info.plist" … 2022-11-14 06:53:09 - SETUP YOUR MAC DIALOG: listitem: index: 1, status: fail, statustext: Failed 2022-11-14 06:53:09 - SETUP YOUR MAC DIALOG: progress: 24 2022-11-14 06:53:09 - SETUP YOUR MAC DIALOG: listitem: index: 2, status: wait, statustext: Installing …, 2022-11-14 06:53:09 - SETUP YOUR MAC DIALOG: icon: https://ics.services.jamfcloud.com/icon/hash_fcccf5d72ad9a4f6d3a4d780dcd8385378a0a8fd18e8c33ad32326f5bd53cca0 2022-11-14 06:53:09 - SETUP YOUR MAC DIALOG: progresstext: Use Palo Alto GlobalProtect to establish a Virtual Private Network (VPN) connection to Church headquarters. 2022-11-14 06:53:09 - SETUP YOUR MAC DIALOG: DEBUG MODE: /usr/local/bin/jamf policy -event globalProtect 2022-11-14 06:53:11 - SETUP YOUR MAC DIALOG: Testing for "/Applications/GlobalProtect.app/Contents/Info.plist" … 2022-11-14 06:53:11 - SETUP YOUR MAC DIALOG: listitem: index: 2, status: fail, statustext: Failed 2022-11-14 06:53:11 - SETUP YOUR MAC DIALOG: progress: 36 2022-11-14 06:53:11 - SETUP YOUR MAC DIALOG: listitem: index: 3, status: wait, statustext: Installing …, 2022-11-14 06:53:11 - SETUP YOUR MAC DIALOG: icon: https://ics.services.jamfcloud.com/icon/hash_dcb65709dba6cffa90a5eeaa54cb548d5ecc3b051f39feadd39e02744f37c19e 2022-11-14 06:53:11 - SETUP YOUR MAC DIALOG: progresstext: Microsoft Teams is a hub for teamwork in Office 365. Keep all your team’s chats, meetings and files together in one place. 2022-11-14 06:53:11 - SETUP YOUR MAC DIALOG: DEBUG MODE: /usr/local/bin/jamf policy -event microsoftTeams 2022-11-14 06:53:14 - SETUP YOUR MAC DIALOG: Testing for "/Applications/Microsoft Teams.app/Contents/Info.plist" … 2022-11-14 06:53:14 - SETUP YOUR MAC DIALOG: listitem: index: 3, status: fail, statustext: Failed 2022-11-14 06:53:14 - SETUP YOUR MAC DIALOG: progress: 48 2022-11-14 06:53:14 - SETUP YOUR MAC DIALOG: listitem: index: 4, status: wait, statustext: Installing …, 2022-11-14 06:53:14 - SETUP YOUR MAC DIALOG: icon: https://ics.services.jamfcloud.com/icon/hash_be66420495a3f2f1981a49a0e0ad31783e9a789e835b4196af60554bf4c115ac 2022-11-14 06:53:14 - SETUP YOUR MAC DIALOG: progresstext: Zoom is a videotelephony software program developed by Zoom Video Communications. 2022-11-14 06:53:14 - SETUP YOUR MAC DIALOG: DEBUG MODE: /usr/local/bin/jamf policy -event zoom 2022-11-14 06:53:16 - SETUP YOUR MAC DIALOG: Testing for "/Applications/zoom.us.app/Contents/Info.plist" … 2022-11-14 06:53:16 - SETUP YOUR MAC DIALOG: listitem: index: 4, status: fail, statustext: Failed 2022-11-14 06:53:16 - SETUP YOUR MAC DIALOG: progress: 60 2022-11-14 06:53:16 - SETUP YOUR MAC DIALOG: listitem: index: 5, status: wait, statustext: Installing …, 2022-11-14 06:53:16 - SETUP YOUR MAC DIALOG: icon: https://ics.services.jamfcloud.com/icon/hash_12d3d198f40ab2ac237cff3b5cb05b09f7f26966d6dffba780e4d4e5325cc701 2022-11-14 06:53:16 - SETUP YOUR MAC DIALOG: progresstext: Google Chrome is a browser that combines a minimal design with sophisticated technology to make the Web faster. 2022-11-14 06:53:16 - SETUP YOUR MAC DIALOG: DEBUG MODE: /usr/local/bin/jamf policy -event googleChrome 2022-11-14 06:53:18 - SETUP YOUR MAC DIALOG: Testing for "/Applications/Google Chrome.app/Contents/Info.plist" … 2022-11-14 06:53:18 - SETUP YOUR MAC DIALOG: listitem: index: 5, status: fail, statustext: Failed 2022-11-14 06:53:18 - SETUP YOUR MAC DIALOG: progress: 72 2022-11-14 06:53:18 - SETUP YOUR MAC DIALOG: listitem: index: 6, status: wait, statustext: Installing …, 2022-11-14 06:53:18 - SETUP YOUR MAC DIALOG: icon: https://ics.services.jamfcloud.com/icon/hash_00d7c19b984222630f20b6821425c3548e4b5094ecd846b03bde0994aaf08826 2022-11-14 06:53:18 - SETUP YOUR MAC DIALOG: progresstext: Finalizing Configuration … 2022-11-14 06:53:18 - SETUP YOUR MAC DIALOG: DEBUG MODE: /usr/local/bin/jamf policy -event finalConfiguration 2022-11-14 06:53:20 - SETUP YOUR MAC DIALOG: DEBUG MODE: /usr/local/bin/jamf policy -event reconAtReboot 2022-11-14 06:53:22 - SETUP YOUR MAC DIALOG: DEBUG MODE: /usr/local/bin/jamf policy -event computerNameSet 2022-11-14 06:53:24 - SETUP YOUR MAC DIALOG: Testing for "" … 2022-11-14 06:53:24 - SETUP YOUR MAC DIALOG: listitem: index: 6, status: success, statustext: Installed 2022-11-14 06:53:24 - SETUP YOUR MAC DIALOG: progress: 84 2022-11-14 06:53:24 - SETUP YOUR MAC DIALOG: listitem: index: 7, status: wait, statustext: Installing …, 2022-11-14 06:53:24 - SETUP YOUR MAC DIALOG: icon: https://ics.services.jamfcloud.com/icon/hash_90958d0e1f8f8287a86a1198d21cded84eeea44886df2b3357d909fe2e6f1296 2022-11-14 06:53:24 - SETUP YOUR MAC DIALOG: progresstext: A listing of your Mac’s apps and settings — its inventory — is sent automatically to the Jamf Pro server daily. 2022-11-14 06:53:24 - SETUP YOUR MAC DIALOG: DEBUG MODE: /usr/local/bin/jamf policy -event recon 2022-11-14 06:53:26 - SETUP YOUR MAC DIALOG: Testing for "" … 2022-11-14 06:53:26 - SETUP YOUR MAC DIALOG: listitem: index: 7, status: success, statustext: Installed 2022-11-14 06:53:27 - Attempting to terminate the 'caffeinate' process … 2022-11-14 06:53:27 - (Termination message indicates success.) /Users/dan/Downloads/Setup-Your-Mac-via-Dialog-reference.bash: line 518: 2292 Terminated: 15 caffeinate -dimsu -w $$ 2022-11-14 06:53:27 - SETUP YOUR MAC DIALOG: icon: SF=xmark.circle.fill,weight=bold,colour1=#BB1717,colour2=#F31F1F 2022-11-14 06:53:27 - SETUP YOUR MAC DIALOG: progresstext: Failures detected. Please click Continue for troubleshooting information. 2022-11-14 06:53:27 - SETUP YOUR MAC DIALOG: button1text: Continue … 2022-11-14 06:53:27 - SETUP YOUR MAC DIALOG: button1: enable 2022-11-14 06:53:27 - SETUP YOUR MAC DIALOG: progress: complete 2022-11-14 06:53:27 - Jamf Pro Policy Name Failures: • FileVault Disk Encryption • Sophos Endpoint • Palo Alto GlobalProtect • Microsoft Teams • Zoom • Google Chrome 2022-11-14 06:54:06 - SETUP YOUR MAC DIALOG: quit: 2022-11-14 06:54:06 - FAILURE DIALOG: title: DEBUG MODE | Failure Detected 2022-11-14 06:54:06 - FAILURE DIALOG: message: A failure has been detected, Dan. Please complete the following steps: 1. Reboot and login to your Mac 2. Login to Self Service 3. Re-run any failed policy listed below The following failed to install: • FileVault Disk Encryption • Sophos Endpoint • Palo Alto GlobalProtect • Microsoft Teams • Zoom • Google Chrome If you need assistance, please contact the Help Desk, +1 (801) 555-1212, and mention [KB86753099](https://servicenow.company.com/support?id=kb_article_view&sysparm_article=KB86753099#Failures). 2022-11-14 06:54:06 - FAILURE DIALOG: icon: SF=xmark.circle.fill,weight=bold,colour1=#BB1717,colour2=#F31F1F 2022-11-14 06:54:11 - FAILURE DIALOG: quit: 2022-11-14 06:54:11 - Exiting … 2022-11-14 06:54:11 - De-caffeinate … 2022-11-14 06:54:11 - Removing /var/tmp/dialogWelcome.0xS … 2022-11-14 06:54:11 - Removing /var/tmp/dialogSetupYourMac.UIR … 2022-11-14 06:54:11 - Removing /var/tmp/dialogFailure.Dz5 … 2022-11-14 06:54:11 - Goodbye!
B. Review the default Setup Your Mac configuration
The list of apps to be installed is controlled by policy_array
. For each configuration step, you’ll specify:
listitem
: The text to be displayed in the listicon
: The hash of the icon to be displayed on the leftprogresstext
: The text to be displayed below the progress bartrigger
: The Jamf Pro Policy Custom Event Namepath
: The optional file path for validation
policy_array
Example policy_array=(' { "steps": [ { "listitem": "FileVault Disk Encryption", "icon": "f9ba35bd55488783456d64ec73372f029560531ca10dfa0e8154a46d7732b913", "progresstext": "FileVault is built-in to macOS and provides full-disk encryption to help prevent unauthorized access to your Mac.", "trigger_list": [ { "trigger": "filevault", "path": "/Library/Preferences/com.apple.fdesetup.plist" } ] }, { "listitem": "Sophos Endpoint", "icon": "c70f1acf8c96b99568fec83e165d2a534d111b0510fb561a283d32aa5b01c60c", "progresstext": "You’ll enjoy next-gen protection with Sophos Endpoint which doesn’t rely on signatures to catch malware.", "trigger_list": [ { "trigger": "sophosEndpoint", "path": "/Applications/Sophos/Sophos Endpoint.app/Contents/Info.plist" } ] }, { "listitem": "Palo Alto GlobalProtect", "icon": "fcccf5d72ad9a4f6d3a4d780dcd8385378a0a8fd18e8c33ad32326f5bd53cca0", "progresstext": "Use Palo Alto GlobalProtect to establish a Virtual Private Network (VPN) connection to Church headquarters.", "trigger_list": [ { "trigger": "globalProtect", "path": "/Applications/GlobalProtect.app/Contents/Info.plist" } ] }, { "listitem": "Microsoft Teams", "icon": "dcb65709dba6cffa90a5eeaa54cb548d5ecc3b051f39feadd39e02744f37c19e", "progresstext": "Microsoft Teams is a hub for teamwork in Office 365. Keep all your team’s chats, meetings and files together in one place.", "trigger_list": [ { "trigger": "microsoftTeams", "path": "/Applications/Microsoft Teams.app/Contents/Info.plist" } ] }, { "listitem": "Zoom", "icon": "92b8d3c448e7d773457532f0478a428a0662f694fbbfc6cb69e1fab5ff106d97", "progresstext": "Zoom is a videotelephony software program developed by Zoom Video Communications.", "trigger_list": [ { "trigger": "zoom", "path": "/Applications/zoom.us.app/Contents/Info.plist" } ] }, { "listitem": "Google Chrome", "icon": "12d3d198f40ab2ac237cff3b5cb05b09f7f26966d6dffba780e4d4e5325cc701", "progresstext": "Google Chrome is a browser that combines a minimal design with sophisticated technology to make the Web faster.", "trigger_list": [ { "trigger": "googleChrome", "path": "/Applications/Google Chrome.app/Contents/Info.plist" } ] }, { "listitem": "Final Configuration", "icon": "00d7c19b984222630f20b6821425c3548e4b5094ecd846b03bde0994aaf08826", "progresstext": "Finalizing Church Configuration …", "trigger_list": [ { "trigger": "finalConfiguration", "path": "" }, { "trigger": "reconAtReboot", "path": "" }, { "trigger": "computerNameSet", "path": "" } ] }, { "listitem": "Update Inventory", "icon": "90958d0e1f8f8287a86a1198d21cded84eeea44886df2b3357d909fe2e6f1296", "progresstext": "A listing of your Mac’s apps and settings — its inventory — is sent automatically to the Jamf Pro server daily.", "trigger_list": [ { "trigger": "recon", "path": "" } ] } ] } ')
Hats off to James Smith for the excellent swiftEnrolment; thanks, Obi-@smithjw!
C. Customize the Setup Your Mac script
After adding Custom Events to your Jamf Pro Policies as required, use your favorite editor to modify ~/Downloads/Setup-Your-Mac-via-Dialog-reference.bash
for your environment:
setupYourMacPolicyArrayIconPrefixUrl
- The fully qualified domain name of the server which hosts your icons and any required sub-directories
policy_array
listitem
: The text to be displayed in the listicon
: The hash of the icon to be displayed on the leftprogresstext
: The text to be displayed below the progress bartrigger
: The Jamf Pro Policy Custom Event Namepath
: The optional file path for validation- Note: You can validate the
JSON
by copying everything between the beginning and ending curly braces{ … }
and pasting at jsonlint.com
- “Welcome / Asset Tag”
- Dialog Title, Message and Icon
- Dialog Settings and Features
- “Setup Your Mac”
- Dialog Title, Message, Overlay Icon and Icon
- Dialog Settings and Features
- “Failure”
- Dialog Title, Message and Icon
- Dialog Settings and Features
finalise
functiondialogUpdateFailure "message: A failure has been detected, ${loggedInUserFirstname}.
D. Add your customized Setup Your Mac script to your Jamf Pro server
- Add your customized script to your Jamf Pro server
- Specify the following for Options > Parameter Labels
- Parameter 4:
Debug Mode [ true (default) | false ]
- Parameter 5*:
Asset Tag Capture [ true | false (default) ]
- Parameter 6:
Completion Action [ number of seconds to sleep | wait (default) ]
- Parameter 7:
Script Log Location
- Parameter 4:
- Click Save
E. Create a Jamf Pro Policy to Setup Your Mac
- Create a new Jamf Pro Policy, using the following as a guide for Options > General:
- Set Display Name to
Enrollment: @Setup Your Mac (1.3.0)
- Set Execution Frequency to
Ongoing
- Set Display Name to
- Select the Scripts payload and add your customized
_Setup Your Mac via swiftDialog (1.3.0)
script, specifying the following Parameter Values- Debug Mode:
true
- Asset Tag Capture:
false
- Completion Action:
wait
- Script Log Location:
/var/log/com.company.log
- Debug Mode:
- Specify Scope as desired
- Targets:
All Computers
- Limitations:
No Limitations
- Exclusions:
All Jamf Pro Compliant Computers
macOS 10.15.Catalina and earlier
Setup Your Mac: Complete
- Targets:
- Use the following for Self Service
- Self Service Display Name:
Setup Your Mac (1.3.0)
- Button Name Before Initiation:
Setup
- Button Name After Initiation:
Setup
- Icon: (download)
- Description:
- Self Service Display Name:
## Welcome to your new Mac! Please click **Setup** to apply Church settings to your Mac. (Once completed, you'll be prompted to restart your Mac.) Use this app, the **Workforce App Store**, to install your Church-assigned software and to configure your Mac. **FileVault** is built-in to macOS and provides full-disk encryption using XTS-AES-128 encryption with a 256-bit key to help prevent unauthorized access to the information on your startup disk. You'll enjoy next-gen protection with **Sophos Endpoint** which doesn’t rely on signatures to catch malware and means it catches zero-day threats without adversely affecting the performance of your device. You'll be protected before exploits even arrive. Use **Palo Alto GlobalProtect** to establish a Virtual Private Network (VPN) connection to Church headquarters. **Microsoft Teams** is a hub for teamwork in Office 365. Keep all your team’s chats, meetings, files, and apps together in one place. **Zoom** is a videotelephony software program developed by Zoom Video Communications. **Google Chrome** is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier. **Pro Tip:** By default, the listing of your computer's currently installed apps and system settings — its inventory — is automatically sent to the Jamf Pro server daily.
- Click Save
Implementation Notes
Prior to using Setup Your Mac, we were using Jamf Pro policies triggered by enrollmentComplete
(i.e., “Enrollment Complete Immediately after a computer completes the enrollment process”), but the successful execution of these policies was too unreliable for our needs.
Policies with an Enrollment Complete trigger do not run upon completion of enrollment under certain circumstances.
Jamf Pro Known IssuesPI100009 - PI-004775
Now — as can be observed in the first several seconds of the Setup Your Mac screencast — a device is initially considered as “non-compliant” and is only offered two policies:
- Setup Your Mac
- Update Computer Inventory
The successful execution of Setup Your Mac results in a compliant Mac.
Additionally, we require login to Self Service (including Multi-Factor Authentication) for every other policy; enabling Setup Your Mac at Enrollment Complete would bypass the required user login on the very first policy the user experiences.
(See also: “Setup Your Mac, please.“)
Feature History
The “official” release of swiftDialog v2
is most likely right around the corner and Setup Your Mac 1.3.0
will take advantage of its drastic speed improvements.
CHANGELOG
1.3.0
(09-Nov-2022)
- Script Parameter Changes:
- ⚠️ Parameter 4:
debug
mode enabled by default - ? Parameter 7: Script Log Location
- ⚠️ Parameter 4:
- ? Embraced drastic speed improvements in ?
swiftDialog v2
? - Caffeinated script (thanks, @grahampugh!)
- Enhanced
wait
exiting logic - Personalized dialogs
- General script standardization
1.2.10
(05-Oct-2022)
- Modifications for swiftDialog v2 (thanks, @bartreardon!)
- Added I/O pause to
dialog_update_setup_your_mac
- Added
list: show
when displaying policy_array - Re-ordered Setup Your Mac progress bar commands
- Added I/O pause to
- More specific logging for various dialog update functions
- Confirm Setup Assistant complete and user at Desktop (thanks, @ehemmete!)
1.2.9
(03-Oct-2022)
- Added
setupYourMacPolicyArrayIconPrefixUrl
variable (thanks for the idea, @mani2care!) - Removed unnecessary
listitem
icon updates (thanks, @bartreardon!) - Output swiftDialog version when running in debug mode
- Updated URL for Zoom icon
1.2.8
(19-Sep-2022)
- Replaced “ugly”
completionAction
if … then … else
with “more readabale”case
statement (thanks, @pyther!) - Updated “method for determining laptop/desktop” (thanks, @acodega and @scriptingosx!)
- Additional tweaks discovered during internal production deployment
1.2.7
(10-Sep-2022)
- Added “completionAction” (Script Parameter 6) to address Pull Request No. 5
- Added “Failure” dialog to address Issue No. 6
1.2.6
(29-Aug-2022)
- Adjust I/O timing (for policy_array loop)
1.2.5
(24-Aug-2022)
- Resolves #3 (thanks, @pyther!)
1.2.4
(18-Aug-2022)
- Swap “Installing …” and “Pending …” status indicators (thanks, @joncrain)
1.2.3
(15-Aug-2022)
- Updates for switftDialog v1.11.2
- Report failures in Jamf Pro Policy Triggers
1.2.2
(07-Jun-2022)
- Added “dark mode” for logo (thanks, @mm2270)
- Added “compact” for
--liststyle
1.2.1
(01-Jun-2022)
- Made Asset Tag Capture optional (via Jamf Pro Script Paramter 5)
1.2.0
(30-May-2022)
- Changed
--infobuttontext
to--infotext
- Added
regex
andregexerror
for Asset Tag Capture - Replaced @adamcodega’s
apps
with @smithjw’spolicy_array
- Added progress update
- Added filepath validation
1.1.0
(19-May-2022)
- Added initial “Welcome Screen” with Asset Tag Capture and Debug Mode
1.0.0
(30-Apr-2022)
- First “official” release
Inspired by
- Rich Trouton (@rtrouton)
- Bart Reardon (@bartreardon)
- James Smith (@smithjw)
- Adam Codega (@adamcodega)
Roadmap
A special thanks to @drtaru for help with adding additional info fields which are planned in an upcoming release:
- Computer Name
- Location
- Department
Support & Feature Requests
Please submit support and feature requests on GitHub.
Update
21-Nov-2022
Setup Your Mac via swiftDialog (1.4.0)
- Completion Actions: In addition to the previous wait and sleep options, Setup Your Mac (1.4.0) introduces nine new Completion Action options (and you’ll end up only using one).
- Dynamic Button Label & Progress Text: The label for the default button, button1text, and the message below the progress bar, progresstext, are dynamically updated based on the specified Completion Action
- Debug Mode: Setup Your Mac (1.4.0) includes additional enhancements when using Debug Mode: