Zum Hauptinhalt springen

Aktion: Skript ausführen

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

Einführung

Führt ein gespeichertes Skript auf einem Gerät als Teil einer Automatisierung aus. Unterstützt PowerShell, Bash, Python und andere Sprachen. Wenn Ihr Skript Daten von außerhalb benötigt – etwa einen benutzerdefinierten Feldwert oder eine Automatisierungsvariable – können Sie diese zuordnen, ohne die Skriptlogik zu ändern.


⚙️ Voraussetzungen

  • Ein gespeichertes Skript muss in Ihrer Skriptbibliothek vorhanden sein, oder Sie können eines direkt inline erstellen. Siehe Skripte zur Erstellung und Organisation von Skripten.

  • Eine Automatisierung muss vorhanden sein, bevor Aktionen hinzugefügt werden können. Siehe Erste Schritte mit Automatisierungen falls Sie noch keine Automatisierung eingerichtet haben.


Aktion: Skript ausführen

Wenn die Canvas noch keine Aktionen enthält, wählen Sie Aktion hinzufügen. Um diesen Schritt zu einer Canvas hinzuzufügen, die bereits Aktionen enthält, klicken Sie auf das inline + wo Sie es platzieren möchten, und wählen Sie Weitere Aktion hinzufügen. Wählen Sie dann Skript ausführen aus System.

Run Script Action

Das Aktionsfenster öffnet sich und zeigt das Skript Feld und zwei Schaltflächen: ein Symbol für einen externen Link zum Durchsuchen Ihrer gespeicherten Skripte und Skript erstellen um ein neues direkt inline zu schreiben.

Run Script Action

Ein Skript auswählen

Klicken Sie auf das Symbol für den externen Link neben dem Skript Feld, um die Auswahl gespeicherter Skripte zu öffnen. Skripte sind in Ordnern organisiert – erweitern Sie einen Ordner, um seinen Inhalt zu durchsuchen, oder verwenden Sie das Suchfeld, um ein Skript anhand seines Namens zu finden.

Selecting a Script

Ein Skript inline erstellen

Klicken Sie auf Skript erstellen um ein neues Skript zu schreiben, ohne den Automatisierungseditor zu verlassen. Der Skripteditor öffnet sich als Seitenbereich.

Creating a Script

Konfigurieren Sie Folgendes:

  • Skriptname Ein beschreibender Name für das Skript. Es wird in Ihrer Skriptbibliothek gespeichert und steht für die Verwendung in anderen Automatisierungen zur Verfügung.

  • Sprache Die Skriptsprache für dieses Skript.

  • Unterstützte Sprachen: Ansible, Bash, Go, osquery, PowerShell, Python, Zsh.

  • Zeitlimit (in Sekunden) Wie lange Level wartet, bis das Skript abgeschlossen ist, bevor es als fehlgeschlagen markiert wird. Standard ist 100 Sekunden.

  • Ausführen als Der Kontokontext, unter dem das Skript ausgeführt wird.

Option

Verhalten

Lokales System

Wird als SYSTEM-Konto ausgeführt – erhöhte Rechte, kein Benutzerkontext

Aktueller Benutzer

Wird als der aktuell angemeldete Benutzer ausgeführt – nützlich für benutzerkontextbezogene Vorgänge wie das Anwenden eines Hintergrundbilds, das Konfigurieren von Benutzereinstellungen usw.

Schreiben Sie Ihr Skript im Code-Editor. Klicken Sie auf {x} um Variablen und benutzerdefinierte Felder direkt im Skript zu referenzieren. Wenn Sie fertig sind, klicken Sie auf Skript erstellen um es zu speichern und an die Aktion anzuhängen.


Skriptvariablen

Skriptvariablen sind benannte Werte, die in der Variablen Registerkarte. Im Skript ausführen Aktion ermöglicht es dem gespeicherten Skript, Eingaben zu empfangen und einen aktualisierten Wert an spätere Automatisierungsschritte zurückzusenden, indem eine Skriptvariable einer Automatisierungsvariable zugeordnet wird.

  • Vor der Ausführung setzt Level den aktuellen Wert der Automatisierungsvariable in die zugeordnete Skriptvariable ein.

  • Während der Ausführung kann das Skript der Skriptvariable einen neuen Wert zuweisen. Level schreibt den neuen Wert zurück in die zugeordnete Automatisierungsvariable.

ℹ️ HINWEIS: Sie können Gerätesystemvariablen oder benutzerdefinierte Felder auch direkt über den {x} Auswahl im Skripteditor. Verwenden Sie eine zugeordnete Skriptvariable, wenn der Wert aus einer Automatisierungsvariable stammt oder wenn das gespeicherte Skript seinen eigenen wiederverwendbaren Variablennamen verwenden soll.

Wenn ein Skript mit definierten Variablen ausgewählt wird, erscheint ein Skriptvariablen Abschnitt wird im Aktionsfenster angezeigt.

So ordnen Sie eine Skriptvariable einer Automatisierungsvariable zu:

  1. Im Skriptvariablen Abschnitt die Skriptvariable, die Sie zuordnen möchten.

  2. Öffnen Sie das Automatisierungsvariablen Dropdown-Menü in derselben Zeile.

  3. Wählen Sie eine vorhandene Automatisierungsvariable aus, oder klicken Sie auf Neue Variable erstellen.

Wenn das Skript startet, erhält die zugeordnete Skriptvariable den aktuellen Wert der Automatisierungsvariable. Referenzieren Sie sie im gespeicherten Skript mit {{script_variable_name}}. Um einen neuen Wert an die Automatisierung zurückzusenden, weisen Sie der Skriptvariable {{script_variable_name=value_expression}}.

Siehe Automatisierungsvariablen für die vollständige Referenz zur Erstellung und Verwendung von Automatisierungsvariablen.

Script Variable

ℹ️ HINWEIS: Der Abschnitt „Skriptvariablen" erscheint nur, wenn das ausgewählte Skript mindestens eine Variable in seiner Registerkarte „Variablen" definiert hat. Skripte ohne Variablen zeigen diesen Abschnitt nicht an.

Skriptvariablen verwalten

Skriptvariablen werden im Skript selbst definiert, nicht im Aktionsfenster. Öffnen Sie den Skripteditor und navigieren Sie zur Variablen Registerkarte, um diese hinzuzufügen, zu bearbeiten oder zu entfernen.

Script Variables

Skriptausgabe erfassen

Es gibt zwei Möglichkeiten, einen Wert aus einem Skript zu erfassen und ihn für nachfolgende Aktionen in der Pipeline verfügbar zu machen.

Einer zugeordneten Skriptvariable zuweisen

Verwenden Sie {{script_variable_name=value_expression}} im gespeicherten Skript, um eine zugeordnete Automatisierungsvariable zu aktualisieren. Wenn beispielsweise eine PowerShell-Skriptvariable mit dem Namen local_ip einer Automatisierungsvariable zugeordnet ist, verwenden Sie {{local_ip=$ip}} nach der Berechnung von $ip.

Vor der Ausführung ersetzt Level die Zuweisung durch den korrekten Variablen-Setzungsbefehl für die Shell des Skripts. Der Wert wird nicht aus der Standardausgabe des Skripts geparst. Die Skriptvariable muss in der Variablen Registerkarte vorhanden sein und in der Skript ausführen Aktion.

Verwenden Sie diese Option, wenn das Skript Protokolle oder andere Ausgaben erzeugt und Sie nur einen bestimmten Wert weitergeben müssen.

Vollständige Ausgabe einer Variable zuweisen

In Zusätzliche Optionen, verwenden Sie Aktionsausgabe einer Variable zuweisen um die gesamte Standardausgabe des Skripts in eine Automatisierungsvariable zu erfassen. Dies funktioniert für jedes Skript, ohne dass Änderungen am Skript selbst erforderlich sind – erfasst jedoch alles, was das Skript ausgibt, nicht nur den gewünschten Wert.

💡 TIPP: Verwenden Sie eine zugeordnete Skriptvariablenzuweisung, wenn das Skript andere Ausgaben erzeugt, die nicht in der Variable enthalten sein sollen. Verwenden Sie Aktionsausgabe einer Variable zuweisen wenn die einzige Ausgabe des Skripts der zu erfassende Wert ist.


Exit-Codes

Level verwendet den Exit-Code des Skripts, um zu bestimmen, ob die Aktion erfolgreich war oder fehlgeschlagen ist.

Exit-Code

Ergebnis

0

Aktion als erfolgreich markiert

Ungleich null (z. B. 1)

Aktion als fehlgeschlagen markiert

Ihre Bei Aktionsfehler Einstellung in den zusätzlichen Optionen steuert, was als nächstes passiert – ob die Pipeline stoppt oder fortgesetzt wird.

Stellen Sie sicher, dass Ihre Skripte explizit mit dem entsprechenden Code beendet werden. Wenn ein Skript 0 nach einem nicht behandelten Fehler beendet, behandelt Level die Aktion als erfolgreich.


Bedingungen

Der Bedingungen Abschnitt ermöglicht es Ihnen, einzuschränken, wann diese Aktion ausgeführt wird, basierend auf Geräteattributen oder dem Ergebnis einer vorherigen Aktion.

Siehe Aktionsbedingungen für die vollständige Referenz zu Bedingungstypen, Operatoren und Werten.


Zusätzliche Optionen

Erweitern Sie Zusätzliche Optionen für Aktionsname, Fehlerverhalten, Ausgabevariablenzuweisung, Wiederholungsversuche und den Aktivierungsschalter.

Siehe Aktionsübersicht für die vollständige Referenz zu den zusätzlichen Optionen, die für jede Aktion verfügbar sind.


Häufig gestellte Fragen

  • Was ist der Unterschied zwischen „Skript ausführen" und „Shell"? „Skript ausführen" führt ein gespeichertes Skript aus Ihrer Bibliothek aus – das Skript ist versionskontrolliert und in Automatisierungen wiederverwendbar. „Shell" führt ein ad-hoc-Skript aus, das direkt im Aktionsfenster geschrieben wird. Verwenden Sie „Skript ausführen", wenn dieselbe Logik geteilt oder gewartet werden muss; verwenden Sie „Shell" für einmalige inline-Befehle.

  • Kann eine Automatisierungsvariable Eingaben für ein gespeichertes Skript bereitstellen? Ja. Definieren Sie eine Skriptvariable in der Variablen Registerkarte zugeordnet und in der Skript ausführen Aktion, und referenzieren Sie die Skriptvariable im gespeicherten Skript. Level setzt den aktuellen Wert der Automatisierungsvariable vor der Ausführung ein.

  • Kann das Skript Ausgaben erzeugen, die andere Aktionen lesen können? Ja. Weisen Sie einer zugeordneten Skriptvariable {{script_variable_name=value_expression}} um einen bestimmten Wert zurück in die zugeordnete Automatisierungsvariable zu schreiben. Oder verwenden Sie Aktionsausgabe einer Variable zuweisen in den zusätzlichen Optionen, um die gesamte Standardausgabe des Skripts zu erfassen.

  • Was passiert, wenn das Skript das Zeitlimit überschreitet? Die Aktion wird als fehlgeschlagen markiert. Die Bei Aktionsfehler Einstellung in den zusätzlichen Optionen steuert, ob die Pipeline stoppt oder fortgesetzt wird.

  • Wer kann Aktionen vom Typ „Skript ausführen" hinzufügen oder ändern? Techniker mit der Berechtigung, Automatisierungen in der entsprechenden Gruppe zu bearbeiten. Siehe Arbeitsbereich → Berechtigungen zur Konfiguration der Zugriffskontrolle.

Hat dies deine Frage beantwortet?