Éléments d’action personnalisés de la barre de menus

Jamf Connect vous permet de créer des éléments personnalisés dans le menu Action de la barre de menus d’app. Ces éléments peuvent ouvrir des URL ou exécuter n’importe quel script en arrière-plan de l’ordinateur, vous permettant ainsi de créer une grande variété de ressources utiles et pratiques pour l’utilisateur. Les éléments personnalisés dans le menu Action de la barre de menus sont ajoutés à la barre de menus d’app Jamf Connect en déployant un profil de configuration supplémentaire écrit dans le domaine suivant :

com.jamf.connect.actions

Vous pouvez créer des éléments dans la barre de menus pour, notamment :

  • Connecter l’ordinateur à un VPN

  • Afficher les informations sur le réseau dans la barre de menus

  • Ouvrir le site web de votre organisation dans un navigateur web

  • Lancer un script qui exécute une règle de maintenance déployée par votre solution MDM

Exemple de profil de configuration d’un élément d’action

<plist version="1.0">
    <dict>
        <key>PayloadType</key>
        <string>Configuration</string>
        <key>PayloadDisplayName</key>
        <string>Actions Jamf Connect</string>
        <key>PayloadDescription</key>
        <string>Actions Jamf Connect</string>
        <key>PayloadOrganization</key>
        <string>Jamf</string>
        <key>PayloadUUID</key>
        <string>27870006-41CB-4694-A6AD-709073670851</string>
        <key>PayloadEnabled</key>
        <true/>
        <key>PayloadScope</key>
        <string>Système</string>
        <key>PayloadRemovalDisallowed</key>
        <true/>
        <key>PayloadIdentifier</key>
        <string>com.jamf.connect.actions</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadContent</key>
        <array>
            <dict>
                <key>PayloadType</key>
                <string>com.jamf.connect.actions</string>
                <key>PayloadDisplayName</key>
                <string>Actions Jamf Connect</string>
                <key>PayloadDescription</key>
                <string>Réglages des actions Jamf Connect</string>
                <key>PayloadOrganization</key>
                <string>Jamf</string>
                <key>PayloadUUID</key>
                <string>98B42AF5-4040-47D1-9F6F-A0E1D7FBFC26</string>
                <key>PayloadVersion</key>
                <integer>1</integer>
                <key>PayloadIdentifier</key>
                <string>com.jamf.connect.actions</string>
                <key>Version</key>
                <integer>1</integer>
                <key>Actions</key>
                <array>
                    <dict>
                        <key>Title</key>
                        <dict>
                            <key>Command</key>
                            <string>chemin</string>
                            <key>CommandOptions</key>
                            <string>/usr/sbin/ipconfig getifaddr en0</string>
                        </dict>
                        <key>ToolTip</key>
                        <string>Adresse IP principale</string>
                        <key>Name</key>
                        <string>en0</string>
                    </dict>
                    <dict>
                        <key>Name</key>
                        <string>Nom d’hôte</string>
                        <key>Title</key>
                        <dict>
                            <key>Command</key>
                            <string>chemin</string>
                            <key>CommandOptions</key>
                            <string>/bin/hostname</string>
                        </dict>
                    </dict>
                    <dict>
                        <key>Name</key>
                        <string>séparateur</string>
                    </dict>
                    <dict>
                        <key>Action</key>
                        <array>
                            <dict>
                                <key>Command</key>
                                <string>URL</string>
                                <key>CommandOptions</key>
                                <string>https://www.jamf.com</string>
                            </dict>
                        </array>
                        <key>Name</key>
                        <string>Ouvrir jamf.com dans votre navigateur</string>
                    </dict>
                    <dict>
                        <key>Action</key>
                        <array>
                            <dict>
                                <key>Command</key>
                                <string>app</string>
                                <key>CommandOptions</key>
                                <string>/System/Applications/Calculator.app</string>
                            </dict>
                        </array>
                        <key>Name</key>
                        <string>Ouvrir la calculatrice macOS</string>
                    </dict>
                </array>
            </dict>
        </array>
    </dict>
</plist>

Référence pour la clé de préférence d’action

Dans le domaine com.jamf.connect.actions, les clés de préférence suivantes déterminent le comportement du menu. La seule partie requise de chaque élément est le nom ; toutes les autres parties sont facultatives. Lors de la création d’éléments dans la barre de menus, tenez compte des informations suivantes :

  • Le résultat d’une commande peut être transmis à la commande suivante. L’utilisation de <<result>> comme option de commande remplacera cet élément par le résultat de la commande précédente.

  • Les résultats true ou false ne sont pas transmis à la commande suivante.

  • L’ajout de true ou false à la fin de la commande entraînera l’exécution de cette commande uniquement si la commande exécutée précédemment retourne un résultat correspondant. Par exemple, l’utilisation de alertTrue comme nom de commande n’exécutera la commande alert que si la commande précédemment exécutée renvoie la valeur true.

Remarque :

L’état du résultat est persistant, ce qui permet de désigner plusieurs commandes à exécuter ou à ne pas exécuter en fonction d’un seul résultat. Par exemple, si un résultat de true est transmis à une séquence de commandes avec des modificateurs false ajoutés aux noms des commandes, aucune de ces commandes ne sera exécutée.

Préférences globales

Le tableau suivant comprend les préférences globales d’un profil de configuration personnalisé du menu Action de la barre de menus.

Clé

Description

Type

MenuIcon

Détermine si le menu action affiche une icône d’état (verte, jaune ou rouge).

Remarque :

L’option MenuIcon affichera une icône verte, jaune ou rouge à côté du menu principal Action en fonction du degré d’alerte le plus élevé parmi tous les éléments du sous-menu. Par exemple, si certains des sous-menus visibles affichent une icône rouge, le menu principal affichera une icône rouge. Si des actions de sous-menu visibles affichent une icône jaune et qu’aucune n’affiche une icône rouge, l’élément de menu principal affichera une icône jaune.

Booléen

MenuText

Si cette option est définie sur true, Jamf Connect utilisera le résultat de la commande comme texte de l’élément de menu.

Remarque :

MenuText nécessite une commande pour retourner un résultat de type <<menu>> suivi de votre menu. La dernière commande à retourner un résultat contenant <<menu>> déterminera le titre du menu.

Booléen

Contenu d’une action

Clé

Description

Type

Name

(Requis) Nom de l’action

Chaîne (string)

Title

Texte utilisé pour afficher l’élément dans la barre de menus

Remarque :

S’il n’est pas spécifié, le Name sera utilisé comme titre.

Dictionnaire

Show

Détermine si l’élément est affiché dans le menu ou non

Remarque :

Toutes les commandes de la commande Show doivent retourner true pour que l’élément de menu s’affiche.

Tableau

Action

Contient l’action

 

Tableau

Post

Détermine ce qui se passe une fois l’action exécutée.

Tableau

GUID

L’ID unique de l’action

Chaîne (string)

Connected

Détermine si l’action définie doit être exécutée uniquement lorsqu’elle est connectée à un domaine Active Directory

Booléen

Timer

Durée en minutes entre les exécutions de l’action

Entier (integer)

ToolTip

Texte affiché lors du survol d’un élément de menu

Chaîne (string)

Separator

Crée une barre de séparation visuelle dans la barre de menus

 

Commandes

Jamf Connect possède des commandes intégrées qui peuvent être utilisées pour exécuter des éléments d’action. Considérez les commandes about suivantes :

  • Toutes les options sont des chaînes.

  • Toutes les commandes peuvent retourner des résultats.

  • Les résultats ne sont pas conservés entre les commandes.

  • CommandOptions prend en charge les variables standard Jamf Connect telles que <<domain>>, <<user>> et <<email>>.

  • Les commandes sont sensibles à la casse.

Commande

Fonction

Options de commande

path

Exécute un binaire sur un chemin de fichier spécifique

Chemin à exécuter

app

Ouvre une app sur un chemin de fichier spécifique

Chemin de l’app à ouvrir

url

Ouvre une URL dans le navigateur par défaut de l’utilisateur

URL à ouvrir

ping

Exécute une commande ping sur un hôte

Hôte sur lequel exécuter une commande ping

adgroup

Détermine si l’utilisateur actuel est membre d’un groupe Active Directory

Groupe à tester

alert

Affiche une boîte de dialogue modale à l’utilisateur

 

Texte de l’alerte

Remarque :

Si les options de commande sont vides ou définies sur « true » ou « false », aucune alerte ne s’affiche. Vous pouvez l’utiliser pour afficher uniquement les erreurs.

notify

Affiche une notification dans le Centre de notifications

 

Texte de la notification

Remarque :

Si les options de commande sont vides ou définies sur « true » ou « false », aucune notification ne s’affiche. Vous pouvez l’utiliser pour afficher uniquement les erreurs.

false

Commande qui retourne toujours une valeur false. Peut être utilisée pour effacer tout résultat précédent dans un ensemble de commandes

Texte

true

Commande qui retourne toujours une valeur true. Peut être utilisée pour effacer tout résultat précédent dans un ensemble de commandes

Texte