„Notify“-Bildschirm

Jamf Connect kann um einen so genannten „Notify“-Bildschirm erweitert werden, mit dem während der Automatische Geräteregistrierung eine Fortschrittsleiste, benutzerdefinierter Text und Bilder angezeigt werden können.

Der „Notify“-Bildschirm wird mithilfe eines Skripts konfiguriert, mit dem Befehle in eine Steuerungsdatei geschrieben werden. Dieses Skript kann dann mit der Einstellung Skriptpfad (ScriptPath) angegeben werden.

Wenn Sie Jamf Pro verwenden, können Sie den „Notify“-Bildschirm stattdessen auch zum Auslesen und Anzeigen von Richtlinienprotokollen von Jamf Pro für Benutzer konfigurieren. Legen Sie hierfür die Einstellung Protokollstil für „Notify“-Bildschirm (NotifyLogStyle) auf den Wert jamf fest.

Aktivieren und Konfigurieren des „Notify“-Bildschirms

  1. Fügen Sie den „Notify“-Mechanismus mithilfe des folgenden Befehls zur loginwindow Anwendung hinzu:
    /usr/local/bin/authchanger -reset -JamfConnect -Notify
  2. Ein Skript für den „Notify“-Mechanismus erstellen
 Das „Notify“-Skript benutzt „echo“-Befehle zum Schreiben in eine Steuerungsdatei. Die Steuerungsdatei wird an folgendem Dateipfad gespeichert: /var/tmp/depnotify.log Das folgende Skript ist ein Beispiel:
    #!/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	

    Beispielskripte für den Einstieg können Sie vom Jamf GitHub-Repository herunterladen: https://github.com/jamf/jamfconnect

  3. Nutzen Sie Ihre bevorzugte Konfigurationsmethode, um den Dateipfad zu Ihrem Skript mit der Einstellung Skriptpfad (RunScript) anzugeben.
 Weitere Informationen finden Sie unter Konfiguration.

„Notify“-Skriptbefehle

Allgemeine Befehle

Die folgenden Befehle können benutzt werden, um Nachrichten auf dem „Notify“-Bildschirm anzuzeigen.

Image:

Mit diesem Befehl wird das Standardbild für den „Notify“-Mechanismus durch ein Bild ersetzt, das unter dem angegebenen Pfad gespeichert ist. Die Größe des Bilds wird dabei automatisch korrekt angepasst.

Beispiel:

Command: Image: /tmp/logo.png

MainText:
Mit diesem Befehl wird der Haupttext geändert, der dem Benutzer angezeigt wird.
Beispiel:

Command: MainText: Bitte warten Sie, bis Ihr neues MacBook Pro eingerichtet wurde.

MainTextImage:

Mit diesem Befehl wird der Haupttext durch ein benutzerdefiniertes Symbol ersetzt, das unter dem angegebenen Pfad gespeichert ist. Es werden Bilder mit einer Auflösung von bis zu 660 x 105 Pixel unterstützt. Bilder mit abweichender Auflösung werden unter Beibehaltung des Seitenverhältnisses skaliert..

Beispiel:

Command: MainTextImage: /tmp/logo.png

MainTitle:

Mit diesem Befehl wird der Haupttitel geändert, der dem Benutzer angezeigt wird.

Beispiel:

Command: MainTitle: Willkommen bei Ihrem neuen MacBook Pro

Interaktive Befehle

Mithilfe interaktiver Befehle kann die Interaktion mit dem Benutzer während der Ausführung des Prozesses für den „Notify“-Mechanismus angepasst werden.
Determinate:
Mit diesem Befehl wird statt eines sich drehenden Symbols eine Fortschrittsanzeige aktiviert, bei der der Fortschritt in Schritten „bestimmt“ und angezeigt wird. Sie müssen die Anzahl von Schritten angeben, die die Fortschrittsanzeige des „Notify“-Mechanismus enthalten soll. Mit jeder Statusänderung in Ihrem Skript wird die Fortschrittsanzeige um einem weiteren Schritt vervollständigt.
Beispiel:

Command: Determinate: 5

DeterminateManual:
Mit diesem Befehl wird der Fortschritt bestimmt und die Fortschrittsanzeige manuell anstatt mit Fortschrittsbefehlen vervollständigt. Geben Sie hierfür die gewünschte Anzahl von Schritten ein, die die Fortschrittsanzeige des „Notify“-Mechanismus enthalten soll. Die Fortschrittsanzeige muss anschließend mithilfe des Befehls DeterminateManualStep: manuell vervollständigt werden.
Beispiel:

Command: DeterminateManual: 5

DeterminateManualStep:
Im Modus DeterminateManual: wird die Fortschrittsanzeige mit diesem Befehl um einen Schritt oder ein angegebenes Intervall vervollständigt. Mit dem folgenden Beispielbefehl wird die Fortschrittsanzeige um zwei Schritte ergänzt.
Beispiel:

Command: DeterminateManualStep: 2

DeterminateOff:
Mit diesem Befehl wird die Bestimmung des Fortschritts für die Fortschrittsanzeige deaktiviert. Bereits durchlaufene Schritte erscheinen in der Fortschrittsanzeige weiterhin als abgeschlossen. Auf diese Weise können Sie zwischen einer bestimmten und unbestimmten Fortschrittsanzeige wechseln, ohne dass Ihr Fortschritt verlorengeht.
Beispiel:

Command: DeterminateOff:

DeterminateOffReset:
Nachdem Sie die Bestimmung des Fortschritts für die Fortschrittsanzeige deaktiviert haben, müssen Sie die Fortschrittsanzeige auf Anfang zurücksetzen.
Beispiel:

Command: DeterminateOffReset:

Beenden
Mit diesem Befehl wird der Prozess des „Notify“-Mechanismus beendet.
Beispiel:

Command: Beenden

In diesem Befehl wird kein Doppelpunkt verwendet.
Sie können zudem eine Mitteilung angeben, die dem Benutzer angezeigt werden soll.
Beispiel:

Command: Beenden Vielen Dank, dass Sie diese App verwenden.

Mitteilungen über den Status des „Notify“-Mechanismus

Sie können den Benutzer mithilfe des Befehls echo Status: über Statusänderungen im Zusammenhang mit der Ausführung des „Notify“-Mechanismus informieren. Nachfolgend finden Sie ein Beispiel für eine solche Statusänderung:

echo Status: Installieren von Jamf >>/var/tmp/depnotify.log
Hinweis:

Bei Verwendung des Befehls Determinate: wird die Fortschrittsanzeige mit jeder Statusänderung vervollständigt.

Wenn Sie Jamf Pro verwenden, können Sie den „Notify“-Bildschirm stattdessen auch zum Auslesen und Anzeigen von Richtlinienprotokollen von Jamf Pro für Benutzer konfigurieren. Legen Sie hierfür die Einstellung Protokollstil für „Notify“-Bildschirm (NotifyLogStyle) auf den Wert jamf fest.

Benutzererfahrung beim „Notify“-Bildschirm

Bildschirmansichten zeigen ein Beispiel aus Benutzersicht, wenn der „Notify“-Bildschirm während Automatische Geräteregistrierung aktiviert ist.

  1. Begrüßungsfenster mit Benutzername und Animation
  2. Einrichten von Single Sign-On für den lokalen Account
  3. Self Service macht das Arbeiten mit dem Mac noch einfacher
  4. Installieren aller für den ersten Tag benötigten Ressourcen
  5. Fertigstellen