Passer au contenu principal

Action : Exécuter un script

Run a saved script on a device as part of an automation, with support for passing automation variables into the script.

Introduction

Exécutez un script enregistré sur un appareil dans le cadre d'une automatisation. Prend en charge PowerShell, Bash, Python et d'autres langages. Si votre script a besoin de données provenant de l'extérieur — comme la valeur d'un champ personnalisé ou une variable d'automatisation — vous pouvez les mapper sans modifier la logique du script.


⚙️ Prérequis

  • Un script enregistré doit exister dans votre bibliothèque de scripts, ou vous pouvez en créer un directement. Voir Scripts pour savoir comment créer et organiser des scripts.

  • Une automatisation doit exister avant d'ajouter des actions. Voir Premiers pas avec les automatisations si vous n'en avez pas encore configuré un.


Action : Exécuter un script

Si le canevas ne contient pas encore d'actions, sélectionnez Ajouter une action. Pour ajouter cette étape à un canevas qui contient déjà des actions, cliquez sur le bouton intégré + où vous souhaitez l'ajouter et sélectionnez Ajouter une autre action. Choisissez ensuite Exécuter un script depuis Système.

Run Script Action

Le panneau d'action s'ouvre et affiche le champ Script et deux boutons : une icône de lien externe pour parcourir vos scripts enregistrés, et Créer un script pour en écrire un nouveau directement.

Run Script Action

Sélectionner un script

Cliquez sur l'icône de lien externe à côté du champ Script pour ouvrir le sélecteur de scripts enregistrés. Les scripts sont organisés en dossiers — développez un dossier pour en parcourir le contenu, ou utilisez le champ de recherche pour trouver un script par son nom.

Selecting a Script

Créer un script directement

Cliquez sur Créer un script pour écrire un nouveau script sans quitter l'éditeur d'automatisation. L'éditeur de script s'ouvre en tant que panneau latéral.

Creating a Script

Configurez les éléments suivants :

  • Nom du script Un nom descriptif pour le script. Il sera enregistré dans votre bibliothèque de scripts et disponible pour une utilisation dans d'autres automatisations.

  • Langage Le langage de script utilisé pour ce script.

  • Langages pris en charge : Ansible, Bash, Go, osquery, PowerShell, Python, Zsh.

  • Délai d'expiration (en secondes) Durée pendant laquelle Level attend que le script se termine avant de le marquer comme échoué. La valeur par défaut est 100 secondes.

  • Exécuter en tant que Le contexte de compte sous lequel le script s'exécute.

Option

Comportement

Système local

S'exécute en tant que compte SYSTEM — élevé, sans contexte utilisateur

Utilisateur actuel

S'exécute en tant qu'utilisateur actuellement connecté — utile pour les opérations de contexte utilisateur comme l'application d'un fond d'écran, la configuration des paramètres utilisateur, etc.

Rédigez votre script dans l'éditeur de code. Cliquez sur {x} pour référencer des variables et des champs personnalisés directement dans le script. Lorsque vous avez terminé, cliquez sur Créer un script pour enregistrer et l'associer à l'action.


Variables de script

Les variables de script sont des valeurs nommées définies dans l'onglet Variables onglet. Dans la section Exécuter un script action, mapper une variable de script à une variable d'automatisation permet au script enregistré de recevoir une entrée et de renvoyer une valeur mise à jour aux étapes suivantes de l'automatisation.

  • Avant l'exécution, Level remplace la valeur actuelle de la variable d'automatisation dans la variable de script mappée.

  • Pendant l'exécution, le script peut attribuer une nouvelle valeur à cette variable de script. Level écrit la nouvelle valeur dans la variable d'automatisation mappée.

ℹ️ REMARQUE : Vous pouvez également insérer des variables système de l'appareil ou des champs personnalisés directement via le sélecteur {x} dans l'éditeur de script. Utilisez une variable de script mappée lorsque la valeur provient d'une variable d'automatisation ou lorsque le script enregistré doit utiliser son propre nom de variable réutilisable.

Lorsqu'un script avec des variables définies est sélectionné, une section Variables de script apparaît dans le panneau d'action.

Pour mapper une variable de script à une variable d'automatisation :

  1. Dans la section Variables de script section, trouvez la variable de script que vous souhaitez mapper.

  2. Ouvrez la liste déroulante Variables d'automatisation dans la liste déroulante de la même ligne.

  3. Sélectionnez une variable d'automatisation existante, ou cliquez sur Créer une nouvelle variable.

Au démarrage du script, la variable de script mappée reçoit la valeur actuelle de la variable d'automatisation. Référencez-la dans le script enregistré avec {{script_variable_name}}. Pour renvoyer une nouvelle valeur à l'automatisation, assignez la variable de script avec {{script_variable_name=value_expression}}.

Voir Variables d'automatisation pour la référence complète sur la création et l'utilisation des variables d'automatisation.

Script Variable

ℹ️ REMARQUE : La section Variables de script n'apparaît que lorsque le script sélectionné possède au moins une variable définie dans son onglet Variables. Les scripts sans variables n'affichent pas cette section.

Gérer les variables de script

Les variables de script sont définies dans le script lui-même, et non dans le panneau d'action. Ouvrez l'éditeur de script et accédez à l'onglet Variables pour les ajouter, les modifier ou les supprimer.

Script Variables

Capturer la sortie du script

Il existe deux façons de capturer une valeur depuis un script et de la rendre disponible aux actions suivantes dans le pipeline.

Assigner une variable de script mappée

Utilisez {{script_variable_name=value_expression}} dans le script enregistré pour mettre à jour une variable d'automatisation mappée. Par exemple, si une variable de script PowerShell nommée local_ip est mappée à une variable d'automatisation, utilisez {{local_ip=$ip}} après avoir calculé $ip.

Avant l'exécution, Level remplace l'assignation par la commande de définition de variable appropriée pour le shell du script. Elle n'est pas analysée depuis la sortie standard du script. La variable de script doit exister dans l'onglet Variables et être mappée dans l'action Exécuter un script action.

Utilisez cette option lorsque le script produit des journaux ou d'autres sorties et que vous n'avez besoin de transmettre qu'une seule valeur spécifique.

Assigner la sortie complète à une variable

Dans Options supplémentaires, utilisez Assigner la sortie de l'action à une variable pour capturer l'intégralité de la sortie stdout du script dans une variable d'automatisation. Cela fonctionne pour n'importe quel script sans nécessiter de modifications — mais capture tout ce que le script produit, pas seulement la valeur dont vous avez besoin.

💡 CONSEIL : Utilisez une assignation de variable de script mappée lorsque le script produit d'autres sorties que vous ne souhaitez pas inclure dans la variable. Utilisez Assigner la sortie de l'action à une variable lorsque la seule sortie du script est la valeur que vous souhaitez capturer.


Codes de sortie

Level utilise le code de sortie du script pour déterminer si l'action a réussi ou échoué.

Code de sortie

Résultat

0

Action marquée comme réussie

Différent de zéro (ex. 1)

Action marquée comme échouée

Votre paramètre En cas d'échec de l'action dans les Options supplémentaires contrôle ce qui se passe ensuite — si le pipeline s'arrête ou continue.

Assurez-vous que vos scripts se terminent explicitement avec le code approprié. Si un script se termine avec 0 après avoir rencontré une erreur qu'il n'a pas gérée, Level considérera l'action comme réussie.


Conditions

La section Conditions vous permet de restreindre l'exécution de cette action en fonction des attributs de l'appareil ou du résultat d'une action précédente.

Voir Conditions d'action pour la référence complète sur les types de conditions, les opérateurs et les valeurs.


Options supplémentaires

Développez Options supplémentaires pour le nom de l'action, le comportement en cas d'échec, l'assignation de la variable de sortie, les nouvelles tentatives et le bouton d'activation.

Voir Vue d'ensemble des actions pour la référence complète sur les options supplémentaires disponibles pour chaque action.


FAQ

  • Quelle est la différence entre Exécuter un script et Shell ? Exécuter un script exécute un script enregistré depuis votre bibliothèque — le script est versionné et réutilisable dans plusieurs automatisations. Shell exécute un script ad hoc écrit directement dans le panneau d'action. Utilisez Exécuter un script lorsque la même logique doit être partagée ou maintenue ; utilisez Shell pour des commandes ponctuelles.

  • Une variable d'automatisation peut-elle fournir une entrée à un script enregistré ? Oui. Définissez une variable de script dans l'onglet Variables mappez-la à une variable d'automatisation dans l'action Exécuter un script action, et référencez la variable de script dans le script enregistré. Level remplace la valeur actuelle de la variable d'automatisation avant l'exécution.

  • Le script peut-il écrire une sortie lisible par d'autres actions ? Oui. Assignez une variable de script mappée avec {{script_variable_name=value_expression}} pour écrire une valeur spécifique dans la variable d'automatisation mappée. Ou utilisez Assigner la sortie de l'action à une variable dans les Options supplémentaires pour capturer l'intégralité de la sortie stdout du script.

  • Que se passe-t-il si le script expire ? L'action est marquée comme échouée. Le paramètre En cas d'échec de l'action dans les Options supplémentaires contrôle si le pipeline s'arrête ou continue.

  • Qui peut ajouter ou modifier des actions Exécuter un script ? Les techniciens autorisés à modifier les automatisations dans le groupe concerné. Voir Espace de travail → Autorisations pour la configuration du contrôle d'accès.

Avez-vous trouvé la réponse à votre question ?