Menu Close

Setup Your Mac (1.3.0) via swiftDialog

Now available: SYM-Helper

A stand-alone macOS app to help MacAdmins more easily deploy Setup Your Mac

Update: 01-Nov-2023

Take an under-the-hood look at Setup Your Mac (1.13.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).

  1. Open the macOS Terminal
  2. 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
  1. Execute the Setup Your Mac script:
bash ~/Downloads/Setup-Your-Mac-via-Dialog-reference.bash
  1. 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.
  1. Execute the Setup Your Mac script with elevated privileges:
sudo !!
  1. 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 list
  • icon: The hash of the icon to be displayed on the left
  • progresstext: The text to be displayed below the progress bar
  • trigger: The Jamf Pro Policy Custom Event Name
  • path: The optional file path for validation

Example policy_array

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:

  1. setupYourMacPolicyArrayIconPrefixUrl
    • The fully qualified domain name of the server which hosts your icons and any required sub-directories
  2. policy_array
    • listitem: The text to be displayed in the list
    • icon: The hash of the icon to be displayed on the left
    • progresstext: The text to be displayed below the progress bar
    • trigger: The Jamf Pro Policy Custom Event Name
    • path: 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
  3. “Welcome / Asset Tag”
    • Dialog Title, Message and Icon
    • Dialog Settings and Features
  4. “Setup Your Mac”
    • Dialog Title, Message, Overlay Icon and Icon
    • Dialog Settings and Features
  5. “Failure”
    • Dialog Title, Message and Icon
    • Dialog Settings and Features
  6. finalise function
    • dialogUpdateFailure "message: A failure has been detected, ${loggedInUserFirstname}.
D. Add your customized Setup Your Mac script to your Jamf Pro server
  1. Add your customized script to your Jamf Pro server
  2. 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
  3. Click Save
E. Create a Jamf Pro Policy to Setup Your Mac
Policy Overview
  1. 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
  2. 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
  1. 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
  2. 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: Setup Your Mac icon (download)
    • Description:
## 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.
  1. 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 Issues PI100009 - 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
  • ? 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
  • 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)

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 and regexerror for Asset Tag Capture
  • Replaced @adamcodega’s apps with @smithjw’s policy_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

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:
Posted in Device Management, Jamf Pro, macOS, Scripts, Tips & Tricks

Related Posts