Customizing Jamf Connect Login deployment packages with Composer

New Contributor III

The method of customizing the package in this original post has been deprecated. Refer instead to: - Packaging custom branding assets - Knowledge base article on deploying all the Jamf products

And, if you would like to wrap the JamfConnect.pkg installer at the same time, refer to:


New Contributor III

I appreciate your post. I have been attempting this deployment to no avail. Jamf Connect executes as it should, but my Notify script is not. There appears to be a default built-in Notify that is running instead of the script I have packaged with Jamf Connect and set in my PLIST> Any thoughts on why that would be happening?

Contributor III

personally rather than repackage jamfconnect I just drop it in my own wrapper package, meaning I don't have to mess around with it each time it's updated, I just update the wrapper. Less chance of any issues.
I also deploy the graphic(s) for using with Jamf Connect Notify in here.
then in the post install script I install JC, setup initial notify values then sort out the login window;

# install Jamf Connect
installer -pkg "/var/tmp/JamfConnectLogin-1.1.2.pkg" -target /
# set initial notify values
/usr/local/bin/authchanger -reset -preLogin JamfConnectLogin:Notify
/bin/echo "Command: MainTitle: Configuring your Mac..."  >> /var/tmp/depnotify.log
/bin/echo "Command: MainText: Configuring your Mac for use in MyOrg.

This won't take long and you don't need to do anything." >> /var/tmp/depnotify.log
/bin/echo "Command: Image: "/Library/Management/MyOrg/graphics/myorg-tr.png"" >> /var/tmp/depnotify.log
/bin/echo "Status: Please wait..." >> /var/tmp/depnotify.log

# Wait for the setup assistant to complete before continuing
log "Waiting for Setup Assistant to complete..."
loggedInUser=$(/usr/sbin/scutil <<< "show State:/Users/ConsoleUser" | /usr/bin/awk -F': ' '/[[:space:]]+Name[[:space:]]:/ { if ( $2 != "loginwindow" ) { print $2 }}     ')
while [[ "$loggedInUser" == "_mbsetupuser" ]]; do
    /bin/sleep 5
    loggedInUser=$(/usr/sbin/scutil <<< "show State:/Users/ConsoleUser" | /usr/bin/awk -F': ' '/[[:space:]]+Name[[:space:]]:/ { if ( $2 != "loginwindow" ) { print $2 }}     ')

# switch login window
killall loginwindow

once the installs are done you can switch login mechanisms back to either JC or default as required

New Contributor III

Thanks for your post. So I must say I feel like an idiot. The issue stemmed from me signing the Enrollment Package that I built with Composer.

The difference is, I have been using a script using the with a fully customized DEPNotify Starter script. I like the it runs after the 'Choose Your Look" from Setup Assistant. So choosing Dark Mode, modifies the Notify window appropriately. I have yet to test with the Jamf Connect Login, built-in Notify mechanism.

Contributor III

In the past I was using a DEPNotify starter script with the app like @cwilsonncaa I have been playing with this new Notify mechanism, and I prefer having all of the packages/scripts/config in one policy as opposed to calling an array of policies. However I cannot find a way to get any kind of status indicator using the Notify mechanism. It just says passing control over to Jamf and the progress bar never moves. Is there anyway to feed the Jamf log updates to the Notify mechanism? This was possible with DEPNotify if you ran it with a -jamf argument

New Contributor III

@hdsreid The Jamf Connect Login Notify mechanism is not as built out as DEPNotify, yet. For example, with DEPNotify, I have user input for device name and asset tag registration and the JCL notify mech does not have user input available.

It also seems the Notify window within the JCL notify mechanism is not as visual balanced when it comes to graphics, may just be me though.

New Contributor III

@sean.rabbitt I've got this working, although nothing seems to show in the progress bar...

The JamfConnectLoginInstalled points to a Policy, which then fires off another Jamf policy -event <something>, finishing with a policy to quit Notify.

Do I need to build out the included in the package/images to parse commands as per - ??

Cheers, Steve