Best Practices

Jamf Connect Documentation

Solution
Application
Jamf Connect
Content Type
Technical Documentation
Utilities & Services
ft:locale
en-US
Jamf recommends keeping your notify script simple. You are holding the user in the setup window, and they are unable to actually use their computer at this time. Consider installing only essentials like endpoint protection software and zero trust network access (ZTNA) products. Empower the user to use their computer with the Self Service application to install required applications. Consider using the macOS Onboarding built into Jamf Pro to to let users explore their new computer while larger applications install in the background. For more information, see macOS Onboarding. Additional considerations include the following:
  • If you use Jamf Pro, you can set the NotifyLogStyle key-value to jamf to automatically display Jamf Pro policy logs as status updates to users.

  • Use custom policy triggers in your script to run essential computer setup management tasks, such as installing essential software.

  • Since the Notify screen should only display once during computer setup, end the script with the following command that disables the used Notify screen: /usr/local/bin/authchanger -reset -JamfConnect

To download example scripts as a starting point, see Jamf's jamf / jamfconnect (GitHub).

Advanced Options

Onboarding scripts and policies can be run many different ways. If your onboarding procedure will exceed the standard 15 minute re-occurring check-in period for Jamf Pro, you may consider stopping the re-occurring check-in as part of your onboarding script. Re-occurring check-in can disrupt policies triggered by a custom trigger if the batch of policies exceeds the 15 minute timer.

To disable, run the following commands:

# Wait for enrollment then temporarily disable check-in
# Once Jamf Pro enrollment is complete, a launch daemon will run that automatically
# does re-occurring check-in every 15 minutes (or as set in Jamf Pro settings).

# Set the location of the re-occurring check-in launch daemon file
ld="/Library/LaunchDaemons/com.jamfsoftware.task.1.plist"

# Pause until the file exists which means enrollment is complete
while [ ! -f "$ld"  ]; do 
                sleep 0.1; 
done

# Boot out the launch daemon to stop it from running
# Remember to run a policy to turn this back on later!
/bin/launchctl bootout system "$ld"

To re-enable check-in later:

# Set the location of the launch daemon file
ld="/Library/LaunchDaemons/com.jamfsoftware.task.1.plist"
# Re-enable the launch daemon to continue re-occurring check-in
/bin/launchctl bootstrap system "$ld"