Pantalla Notify

Jamf Connect puede incluir una pantalla notify, que puede mostrar una barra de progreso, texto personalizado e imágenes durante la Inscripción Automatizada de Dispositivos.

La pantalla notify se configura mediante un script que escribe comandos en un archivo de control. A continuación, este script se puede especificar con el ajuste Ruta de script (ScriptPath).

Si usas Jamf Pro, también puedes configurar la pantalla notify para leer y mostrar registros de políticas de Jamf Pro a los usuarios, en lugar de configurar el ajuste Estilo de registro de pantalla notify (NotifyLogStyle) con el valor jamf.

Activación y configuración de la pantalla notify

  1. Ejecuta el siguiente comando para añadir el mecanismo notify a la aplicación loginwindow:
    /usr/local/bin/authchanger -reset -JamfConnect -Notify
  2. Crea un script de notify.
 El script notify escribe comandos de eco en un archivo de control. El archivo de control se almacena en la siguiente ruta: /var/tmp/depnotify.log El siguiente script es un ejemplo:
    #!/bin/zsh
    #variables
    NOTIFY_LOG="/var/tmp/depnotify.log"
    #For TOKEN_BASIC, use same file path location as set for OIDCIDTokenPath in com.jamf.connect.login
    TOKEN_BASIC="/tmp/token"
    TOKEN_GIVEN_NAME=$(echo "$(cat $TOKEN_BASIC)" | sed -e 's/\"//g' | awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' | grep given_name | cut -d ":" -f2)
    TOKEN_UPN=$(echo "$(cat $TOKEN_BASIC)" | sed -e 's/\"//g' | awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' | grep upn | cut -d ":" -f2)
    
    echo $TOKEN_GIVEN_NAME
    echo $TOKEN_UPN
     
    echo "STARTING RUN" >> $NOTIFY_LOG # Define the number of increments for the progress bar
    echo "Command: Determinate: 6" >> $NOTIFY_LOG
     
    #1 - Introduction window with username and animation
    echo "Command: Image: /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.macbookpro-15-retina-touchid-silver.icns" >> $NOTIFY_LOG
    echo "Command: MainTitle: Welcome, $TOKEN_GIVEN_NAME" >> $NOTIFY_LOG
    echo "Command: MainText: Your Mac is now enrolled and will be automatically configured for you." >> $NOTIFY_LOG
    echo "Status: Preparing your new Mac..." >> $NOTIFY_LOG
    sleep 10
     
    #2 - Setting up single sign-on passwords for local account
    echo "Command: Image: /System/Applications/Utilities/Keychain Access.app/Contents/Resources/AppIcon.icns" >> $NOTIFY_LOG
    echo "Command: MainTitle: Tired of remembering multiple passwords? \n $TOKEN_GIVEN_NAME " >> $NOTIFY_LOG
    echo "Command: MainText: We use single sign-on services to help you sign in to each of our corporate services.
    Use your email address and account password to sign in to all necessary applications." >> $NOTIFY_LOG
    echo "Status: Setting the password for your Mac to sync with your network password..." >> $NOTIFY_LOG
    sleep 10
     
    #3 - Self Service makes the Mac life easier
    echo "Command: Image: /Applications/Self Service.app/Contents/Resources/AppIcon.icns" >> $NOTIFY_LOG
    echo "Command: MainTitle: Self Service makes Mac life easier" >> $NOTIFY_LOG
    echo "Command: MainText: Self Service includes helpful bookmarks and installers for other applications that may interest you." >> $NOTIFY_LOG
    echo "Status: Installing Self Service..." >> $NOTIFY_LOG
    sleep 10
     
    #4 - Everything you need for your first day
    ###Jamf Triggers
    echo "Command: Image: /System/Library/CoreServices/Install in Progress.app/Contents/Resources/Installer.icns" >> $NOTIFY_LOG
    echo "Command: MainTitle: Installing everything you need for your first day." >> $NOTIFY_LOG
    echo "Command: MainText: All the apps you will need today are already being installed. When setup is complete, you'll find Microsoft Office, Slack, and Zoom are all ready to go. Launch apps from the Dock and have fun!" >> $NOTIFY_LOG
    echo "Status: Installing Microsoft Office..." >> $NOTIFY_LOG
    /usr/local/bin/jamf policy -event "InstallOffice"
    sleep 5
     
    #5 - Finishing up
    echo "Command: Image: /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ApplicationsFolderIcon.icns" >> $NOTIFY_LOG
    echo "Status: Installing Slack..." >> $NOTIFY_LOG
    /usr/local/bin/jamf policy -event "InstallSlack"
    sleep 5
    echo "Status: Finishing up... We're almost ready for you, $TOKEN_GIVEN_NAME" >> $NOTIFY_LOG
    sleep 3
     
    ###Clean Up
    sleep 3
    echo "Command: Quit" >> $NOTIFY_LOG
    sleep 1
    rm -rf $NOTIFY_LOG
     
    #6 - Disable notify screen from loginwindow process
    /usr/local/bin/authchanger -reset -JamfConnect	

    Para descargar scripts de ejemplo como punto de partida, consulta el repositorio de GitHub de Jamf: https://github.com/jamf/jamfconnect

  3. Usa tu método de configuración preferido para especificar la ruta de archivo para tu script con el ajuste Ruta de script (RunScript).
 Si quieres más información, consulta Configuración.

Comandos de script de notify

Comandos generales

Se suelen usar los siguientes comandos para mostrar la pantalla notify.

Image:

Este comando reemplaza la imagen por omisión de notify con una imagen ubicada en una ruta especificada. La imagen adoptará automáticamente el tamaño correcto.

Ejemplo:

Command: Image: /tmp/logo.png

MainText:
Este comando cambia el texto principal mostrado a los usuarios.
Ejemplo:

Command: MainText: Espera mientras se configura tu nuevo MacBook Pro.

MainTextImage:

Este comando reemplaza el texto principal con un icono personalizado en una ruta especificada. Las imágenes pueden ser de hasta 660 x 105 píxeles y se ajustan a escala para encajar.

Ejemplo:

Command: MainTextImage: /tmp/logo.png

MainTitle:

Este comando cambia el título principal mostrado a los usuarios.

Ejemplo:

Command: MainTitle: Te damos la bienvenida a tu nuevo MacBook Pro

Comandos interactivos

Los comandos interactivos se utilizan para personalizar la interacción del usuario durante el proceso de notify.
Determinate:
Este comando define la barra de progreso en modo determinado, con avance por pasos, en lugar de mostrar una barra giratoria. Debes especificar el número de pasos que quieres usar durante el proceso de notify. Una vez definido, cada actualización de estado de tu script incrementará la barra en un paso.
Ejemplo:

Command: Determinate: 5

DeterminateManual:
Este comando define la barra de progreso en modo determinado, con progreso manual, en lugar de con comandos de etapa. Debes especificar el número de pasos que quieres usar durante el proceso de notify. Una vez definido, debes avanzar la barra de estado manualmente, en lugar de usar el comando DeterminateManualStep:.
Ejemplo:

Command: DeterminateManual: 5

DeterminateManualStep:
En modo DeterminateManual:, este comando avanzará la barra de progreso un paso o un intervalo especificado. El siguiente ejemplo mueve la barra de progreso dos pasos:
Ejemplo:

Command: DeterminateManualStep: 2

DeterminateOff:
Este comando desactiva el estado de determinado para la barra de progreso. Los pasos ya producidos siguen mostrándose como completados en la barra de progreso. Esto te permite pasar de estado determinado a indeterminado sin perder el progreso.
Ejemplo:

Command: DeterminateOff:

DeterminateOffReset:
Después de desactivar el modo determinado de la barra de progreso, debes restablecerla a cero.
Ejemplo:

Command: DeterminateOffReset:

Quit
Este proceso cierra el proceso de notify.
Ejemplo:

Command: Quit

No se usan dos puntos con este comando.
También puedes especificar un mensaje para los usuarios.
Ejemplo:

Command: Quit: Gracias por usar esta app.

Actualizaciones de estado de Notify

Puedes usar echo Status: para informar a los usuarios sobre el proceso de notify. Veamos un ejemplo de actualización de estado:

echo Status: Installing Jamf >>/var/tmp/depnotify.log
Nota:

Si se usa el comando Determinate:, la barra de progreso avanza con cada actualización de estado.

Si usas Jamf Pro, también puedes configurar la pantalla notify para leer y mostrar registros de políticas de Jamf Pro a los usuarios, en lugar de configurar el ajuste Estilo de registro de pantalla notify (NotifyLogStyle) con el valor jamf.

Experiencia del usuario final con la pantalla notify

La siguiente pantalla muestra la experiencia del usuario final esperada cuando la pantalla notify está activada durante Inscripción Automatizada de Dispositivos:

  1. Ventana de introducción con nombre de usuario y animación
  2. Configuración de contraseñas de inicio de sesión único para cuenta local
  3. Self Service hace más fácil la vida con el Mac
  4. Instalando todo lo necesario para tu primer día
  5. Finalización