Passer au contenu principal

Action Exécuter le script

Exécuter un script enregistré sur un appareil dans le cadre d'une automatisation, avec support pour transmettre les variables d'automatisation au script.

Introduction

Exécutez un script enregistré sur un appareil dans le cadre d'une automatisation. Supporte PowerShell, Bash, Python et autres langages. Si votre script a besoin de données extérieures — comme une valeur de champ personnalisé ou une variable d'automatisation — vous pouvez la 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 en ligne. VoirScripts pour savoir comment créer et organiser les scripts.

  • Une automatisation doit exister avant d'ajouter des actions. VoirMise en route des automatisationssi vous n'en avez pas encore mis une en place.


Action Exécuter le script

À partir du pipeline d'automatisation en mode édition, cliquez sur + and select Run script de la catégorie Système.

Run Script Action

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

Run Script Action


Sélection d'un script

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

Selecting a Script


Création d'un script en ligne

Click Create script pour écrire un nouveau script sans quitter l'éditeur d'automatisation. L'éditeur de script s'ouvre comme un panneau latéral.

Creating a Script

Configurez les éléments suivants :

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

Language Le langage de programmation pour ce script.

Langages supportés : Ansible, Bash, Go, osquery, PowerShell, Python, Zsh .

Délai d'expiration (en secondes) Combien de temps Level attend la fin du script avant de le marquer comme échoué. La valeur par défaut est de 100 secondes.

Run asLe contexte de compte dans lequel le script s'exécute.

Option

Behavior

Local system

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

Current user

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

Écrivez votre script dans l'éditeur de code. Cliquez sur {x} pour référencer des variables et des champs personnalisés en ligne dans le script. Lorsque vous avez terminé, cliquez surCreate scriptpour enregistrer et l'attacher à l'action.


Variables de script

Les variables de script sont des emplacements de sortie nommés définis dans l'Variables onglet d'un script. Le script écrit une valeur dans une variable de script lors de l'exécution, et le mappage dans le panneau d'action détermine quelle variable d'automatisation stocke cette valeur — la rendant disponible aux actions et conditions ultérieures de la canalisation.

ℹ️ REMARQUE : To pass data into un script — contexte de l'appareil, valeurs de champs personnalisés, informations système — utilisez des variables système ou des champs personnalisés via le{x} sélecteur dans l'éditeur de script. Les variables de script sont pour capturer la sortie, pas pour fournir l'entrée.

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

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

  1. In the Variables de script section, trouvez la variable de script que vous souhaitez capturer.

  2. Open the Variables d'automatisation liste déroulante sur la même ligne.

  3. Sélectionnez une variable d'automatisation existante ou cliquez surCréer une nouvelle variable .

Lorsque le script s'exécute, la valeur qu'il écrit dans cette variable de script est stockée dans la variable d'automatisation mappée et transmise à travers la canalisation. 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é a au moins une variable définie dans son onglet Variables. Les scripts sans variables n'affichent pas cette section.

Gestion des variables de script

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

Script Variables


Capture de la sortie du script

Il y a deux façons de capturer une valeur à partir d'un script et la rendre disponible aux actions ultérieures de la canalisation.

Syntaxe de variable en ligne

Intégrez cette syntaxe n'importe où dans votre sortie de script pour définir une variable d'automatisation à une valeur spécifique :

##{{variable_name=value}}

L'agent Level analyse la sortie du script en recherchant ce modèle au fur et à mesure de l'exécution du script. Tous les autres résultats — journaux, messages d'état, n'importe quoi d'autre — passent sans modification.

C'est utile lorsque vous avez besoin d'une valeur ciblée à partir d'un script qui produit également d'autres résultats. La variable doit être créée dans l'onglet Variables de script.

Exemple (PowerShell) :

# Get local IP address
$ip = (Get-NetIPAddress -AddressFamily IPv4 |
Where-Object {$_.IPAddress -ne "127.0.0.1" -and $_.InterfaceAlias -notlike "*Loopback*"} |
Select-Object -First 1 -ExpandProperty IPAddress)

# Log it normally — this line is ignored for variable purposes
Write-Output "Detected local IP address: $ip"

# Set the automation variable
##{{local_ip=$ip}}

Après l'exécution de ce script, local_ipcontient l'adresse IP et est disponible pour chaque action et condition ultérieures de la canalisation après mappage.

Attribuer la sortie complète à une variable

In Options supplémentaires , use Attribuer la sortie de l'action à une variable pour capturer l'intégralité de la sortie standard 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.

💡 TIP: Use the inline ##{{variable=value}} syntaxe lorsque votre script produit d'autres résultats que vous ne voulez pas dans la variable (journaux, messages d'état, etc.). UtiliserAttribuer la sortie de l'action à une variablelorsque la seule sortie du script est la valeur que vous souhaitez capturer.


Exit Codes

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

Exit code

Result

0

Action marquée comme réussie

Non-zero (e.g. 1)

Action marquée comme échouée

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

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


Conditions

Le Conditions La section 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.

See Conditions d'actionpour 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'affectation de variable de sortie, les tentatives et le bouton bascule activé.

See Aperçu des actionspour la référence complète des options supplémentaires disponibles sur chaque action.


FAQ

  • Quelle est la différence entre Exécuter le script et Shell ? Exécuter le script exécute un script enregistré de votre bibliothèque — le script est contrôlé en version et réutilisable dans les automatisations. Shell exécute un script ad-hoc écrit directement dans le panneau d'action. Utilisez Exécuter le script lorsque la même logique doit être partagée ou entretenue ; utilisez Shell pour des commandes ponctuelles en ligne.

  • Le script peut-il écrire une sortie que d'autres actions peuvent lire ? Oui — de deux façons. Définissez les variables de script dans l'onglet Variables du script et mappez-les à des variables d'automatisation dans le panneau d'action ; les valeurs écrites dans ces variables lors de l'exécution sont transmises à travers la canalisation. Ou utilisez Attribuer la sortie de l'action à une variable dans les Options supplémentaires pour capturer directement l'intégralité de la sortie standard du script dans une variable d'automatisation sans mappage supplémentaire. Vous pouvez également utiliser la syntaxe en ligne##{{variable_name=value}} pour définir une variable de script lors de l'exécution — elle doit toujours être mappée dans le panneau d'action pour devenir une variable d'automatisation. VoirCapture de la sortie du script ci-dessus pour plus de détails.

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

  • Qui peut ajouter ou modifier les actions Exécuter le script ? Les techniciens ayant la permission de modifier les automatisations dans le groupe pertinent. Voir Espace de travail → Permissions pour la configuration du contrôle d'accès.

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