„Notify“-Bildschirm

Jamf Connect kann um einen so genannten „Notify“-Bildschirm erweitert werden, mit dem während der Automatisierte 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 denselben Pfad verwenden, der für OIDCIDTokenPath in com.jamf.connect.login festgelegt wurde
    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 # Schrittzahl für den Fortschrittsbalken festlegen
    echo "Command: Determinate: 6" >> $NOTIFY_LOG
     
    #1 - Begrüßungsfenster mit Benutzername und Animation
    echo "Command: Image: /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.macbookpro-15-retina-touchid-silver.icns" >> $NOTIFY_LOG
    echo "Command: MainTitle: Willkommen, $TOKEN_GIVEN_NAME" >> $NOTIFY_LOG
    echo "Command: MainText: Ihr Mac ist jetzt registriert und wird automatisch für Sie konfiguriert." >> $NOTIFY_LOG
    echo "Status: Ihr neuer Mac wird vorbereitet..." >> $NOTIFY_LOG
    sleep 10
     
    #2 - Einrichten von Single Sign-On Passwörtern für lokalen Account
    echo "Command: Image: /Programme/Dienstprogramme/Schlüsselbundverwaltung.app/Contents/Resources/AppIcon.icns" >> $NOTIFY_LOG
    echo "Command: MainTitle: Keine Lust mehr, sich mehrere Passwörter zu merken? \n $TOKEN_GIVEN_NAME " >> $NOTIFY_LOG
    echo "Command: MainText: Wir verwenden Single Sign-On Dienste, um Sie bei der Anmeldung all unserer Unternehmensdienste zu unterstützen.
    Melden Sie sich bei allen notwendigen Anwendungen mit Ihrer E-Mail-Adresse und Ihrem Accountpasswort an." >> $NOTIFY_LOG
    echo "Status: Passwort für Ihren Mac zur Synchronisierung mit Ihrem Netzwerkpasswort wird eingerichtet..." >> $NOTIFY_LOG
    sleep 10
     
    #3 - Self Service macht das Arbeiten mit dem Mac noch einfacher
    echo "Command: Image: /Programme/Self Service.app/Contents/Resources/AppIcon.icns" >> $NOTIFY_LOG
    echo "Command: MainTitle: Self Service macht das Arbeiten mit dem Mac noch einfacher" >> $NOTIFY_LOG
    echo "Command: MainText: Self Service beinhaltet nützliche Lesezeichen und Installationsprogramme für andere Anwendungen, die für Sie von Interesse sein könnten." >> $NOTIFY_LOG
    echo "Status: Installieren von Self Service ..." >> $NOTIFY_LOG
    sleep 10
     
    #4 - Alles für Ihren ersten Tag
    ###Jamf Auslöser
    echo "Command: Image: /System/Library/CoreServices/Install in Progress.app/Contents/Resources/Installer.icns" >> $NOTIFY_LOG
    echo "Command: MainTitle: Installieren aller Ressourcen, die Sie für den ersten Tag benötigen.“ >> $NOTIFY_LOG
    echo "Command: MainText: Alle Apps, die Sie heute brauchen werden, sind bereits installiert. Wenn die Einrichtung abgeschlossen ist, sind Microsoft Office, Slack, und Zoom schon einsatzbereit. Starten Sie Apps aus dem Dock. Viel Spaß!" >> $NOTIFY_LOG
    echo "Status: Microsoft Office wird installiert..." >> $NOTIFY_LOG
    /usr/local/bin/jamf policy -event "InstallOffice"
    sleep 5
     
    #5 - Letzte Schritte
    echo "Command: Image: /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ApplicationsFolderIcon.icns" >> $NOTIFY_LOG
    echo "Status: Slack wird installiert..." >> $NOTIFY_LOG
    /usr/local/bin/jamf policy -event "InstallSlack"
    sleep 5
    echo "Status: Letzte Schritte... Wir sind fast fertig, $TOKEN_GIVEN_NAME" >> $NOTIFY_LOG
    sleep 3
     
    ###Bereinigen
    sleep 3
    echo "Command: Beenden" >> $NOTIFY_LOG
    sleep 1
    rm -rf $NOTIFY_LOG
     
    #6 - „Notify“-Bildschirm im loginwindow Prozess deaktivieren
    /usr/local/bin/authchanger -reset -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 Automatisierte 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