Zum Hauptinhalt springen

Aktion Script Ausführen

Führen Sie ein gespeichertes Skript auf einem Gerät als Teil einer Automatisierung aus, mit Unterstützung zum Übergeben von Automatisierungsvariablen an das Skript.

In der letzten Stunde aktualisiert

Führen Sie ein gespeichertes Script auf einem Gerät als Teil einer Automatisierung aus. Unterstützt PowerShell, Bash, Python und andere Sprachen. Wenn Ihr Script Daten von außerhalb benötigt — wie einen Wert eines benutzerdefinierten Feldes oder eine Automatisierungsvariable — können Sie diese zuordnen, ohne die Script-Logik zu ändern.


⚙️ Voraussetzungen

  • Ein gespeichertes Script muss in Ihrer Script-Bibliothek vorhanden sein, oder Sie können eines inline erstellen. Siehe Scripts für Informationen zum Erstellen und Organisieren von Scripts.

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


Aktion Script Ausführen

Klicken Sie in der Automatisierungspipeline im Bearbeitungsmodus auf + und wählen Sie Script ausführen aus der Kategorie System.

Aktion Script Ausführen

Das Aktionsfenster öffnet sich und zeigt das Feld Script und zwei Schaltflächen an: ein externes Link-Symbol zum Durchsuchen Ihrer gespeicherten Scripts und Script erstellen zum Schreiben eines neuen Scripts inline.

Aktion Script Ausführen

Script Auswählen

Klicken Sie auf das externe Link-Symbol neben dem Feld Script, um die Auswahl des gespeicherten Scripts zu öffnen. Scripts sind in Ordnern organisiert — erweitern Sie einen beliebigen Ordner, um seinen Inhalt zu durchsuchen, oder verwenden Sie das Suchfeld, um ein Script nach Name zu finden.

Script Auswählen

Script Inline Erstellen

Klicken Sie auf Script erstellen, um ein neues Script zu schreiben, ohne den Automatisierungseditor zu verlassen. Der Script-Editor öffnet sich als Seitenpanel.

Script Erstellen

Konfigurieren Sie Folgendes:

Script-Name Ein beschreibender Name für das Script. Es wird in Ihrer Script-Bibliothek gespeichert und steht für die Verwendung in anderen Automatisierungen zur Verfügung.

Sprache Die Skriptsprache für dieses Script.

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

Zeitüberschreitung (in Sekunden) Wie lange Level wartet, bis das Script abgeschlossen ist, bevor es als fehlgeschlagen markiert wird. Die Standardeinstellung beträgt 100 Sekunden.

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

Option

Verhalten

Lokales System

Wird als SYSTEM-Konto ausgeführt — erhöht, kein Benutzerkontext

Aktueller Benutzer

Wird als der aktuell angemeldete Benutzer ausgeführt — nützlich für Vorgänge im Benutzerkontext wie das Anwenden von Hintergrundbildern, das Konfigurieren von Benutzereinstellungen usw.

Schreiben Sie Ihr Script in den Code-Editor. Klicken Sie auf {x}, um Variablen und benutzerdefinierte Felder inline im Script zu referenzieren. Klicken Sie nach Abschluss auf Script erstellen, um es zu speichern und der Aktion anzuhängen.


Script-Variablen

Script-Variablen sind benannte Ausgabeslots, die in der Registerkarte Variablen eines Scripts definiert sind. Das Script schreibt während der Ausführung einen Wert in eine Script-Variable, und die Zuordnung im Aktionsfenster bestimmt, welche Automatisierungsvariable diesen Wert speichert — und macht ihn den nachfolgenden Aktionen und Bedingungen in der Pipeline verfügbar.

ℹ️ HINWEIS: Um Daten in ein Script zu übertragen — Gerätekontext, Werte benutzerdefinierter Felder, Systeminformationen — verwenden Sie Systemvariablen oder benutzerdefinierte Felder über die Auswahl {x} im Script-Editor. Script-Variablen sind zum Erfassen von Ausgaben, nicht zur Bereitstellung von Eingaben.

Wenn ein Script mit definierten Variablen ausgewählt wird, erscheint ein Bereich Script-Variablen im Aktionsfenster.

So ordnen Sie eine Script-Variable einer Automatisierungsvariable zu:

  1. Suchen Sie im Bereich Script-Variablen die Script-Variable, die Sie erfassen möchten.

  2. Öffnen Sie die Dropdown-Liste Automatisierungsvariablen in derselben Zeile.

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

Wenn das Script ausgeführt wird, wird der Wert, den es in dieser Script-Variable schreibt, in der zugeordneten Automatisierungsvariable gespeichert und in der Pipeline weitergeleitet. Siehe Automatisierungsvariablen für die vollständige Referenz zum Erstellen und Verwenden von Automatisierungsvariablen.

Script-Variable

ℹ️ HINWEIS: Der Bereich Script-Variablen wird nur angezeigt, wenn das ausgewählte Script mindestens eine in der Registerkarte Variablen definierte Variable hat. Scripts ohne Variablen zeigen diesen Bereich nicht an.

Script-Variablen Verwalten

Script-Variablen werden im Script selbst definiert, nicht im Aktionsfenster. Öffnen Sie den Script-Editor und navigieren Sie zur Registerkarte Variablen, um sie hinzuzufügen, zu bearbeiten oder zu entfernen.

Script-Variablen

Script-Ausgabe Erfassen

Es gibt zwei Möglichkeiten, einen Wert aus einem Script zu erfassen und ihn den nachfolgenden Aktionen in der Pipeline verfügbar zu machen.

Inline-Variablensyntax

Betten Sie diese Syntax überall in Ihre Script-Ausgabe ein, um eine Automatisierungsvariable auf einen bestimmten Wert einzustellen:

##{{variable_name=value}}

Der Agent von Level parst die Script-Ausgabe nach diesem Muster während der Script-Ausführung. Alle anderen Ausgaben — Protokolle, Statusmeldungen, alles andere — passieren unverändert. Siehe Variablen Direkt aus Scripts Setzen für weitere Details und Beispiele.

Dies ist nützlich, wenn Sie einen gezielten Wert aus einem Script benötigen, das auch andere Ausgaben produziert. Die Variable muss in der Registerkarte Script-Variablen erstellt werden.

Beispiel (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}}

Nach Ausführung dieses Scripts enthält local_ip die IP-Adresse und ist für jede nachfolgende Aktion und Bedingung in der Pipeline nach der Zuordnung verfügbar.

Gesamte Ausgabe einer Variablen Zuweisen

Verwenden Sie in Zusätzliche Optionen Aktionsausgabe einer Variablen zuweisen, um die gesamte Standardausgabe des Scripts in einer Automatisierungsvariable zu erfassen. Dies funktioniert für jedes Script ohne Änderungen am Script selbst — erfasst aber alles, was das Script ausgibt, nicht nur den Wert, den Sie benötigen.

💡 TIPP: Verwenden Sie die Inline-Syntax ##{{variable=value}}, wenn Ihr Script andere Ausgaben produziert, die Sie nicht in die Variable aufnehmen möchten (Protokolle, Statusmeldungen usw.). Verwenden Sie Aktionsausgabe einer Variablen zuweisen, wenn die einzige Ausgabe des Scripts der Wert ist, den Sie erfassen möchten.


Exitcodes

Level verwendet den Exitcode des Scripts, um zu bestimmen, ob die Aktion erfolgreich oder fehlgeschlagen ist.

Exitcode

Ergebnis

0

Aktion als erfolgreich markiert

Nicht-Null (z. B. 1)

Aktion als fehlgeschlagen markiert

Ihre Einstellung Bei Aktionsfehler in Zusätzliche Optionen steuert, was danach geschieht — ob die Pipeline stoppt oder fortfährt.

Stellen Sie sicher, dass Ihre Scripts explizit mit dem entsprechenden Code beendet werden. Wenn ein Script mit 0 beendet wird, nachdem es auf einen Fehler stößt, den es nicht verarbeitet hat, wird Level die Aktion als erfolgreich behandeln.


Bedingungen

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

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


Zusätzliche Optionen

Erweitern Sie Zusätzliche Optionen für Aktionsnamen, Fehlverhalten, Ausgabevariablenzuweisung, Wiederholungen und den aktivierten Schalter.

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


Häufig Gestellte Fragen

  • Was ist der Unterschied zwischen Script Ausführen und Shell? Script Ausführen führt ein gespeichertes Script aus Ihrer Bibliothek aus — das Script wird versionskontrolliert und ist über Automatisierungen hinweg wiederverwendbar. Shell führt ein Ad-hoc-Script aus, das direkt im Aktionsfenster geschrieben wird. Verwenden Sie Script Ausführen, wenn die gleiche Logik gemeinsam genutzt oder gepflegt werden muss; verwenden Sie Shell für einmalige Inline-Befehle.

  • Kann das Script eine Ausgabe schreiben, die andere Aktionen lesen können? Ja — auf zwei Wegen. Definieren Sie Script-Variablen in der Registerkarte Variablen des Scripts und ordnen Sie sie den Automatisierungsvariablen im Aktionsfenster zu; während der Ausführung geschriebene Werte werden in der Pipeline weitergeleitet. Oder verwenden Sie Aktionsausgabe einer Variablen zuweisen in Zusätzliche Optionen, um die vollständige Standardausgabe des Scripts direkt in einer Automatisierungsvariable zu erfassen, ohne zusätzliche Zuordnung. Sie können auch die Inline-Syntax ##{{variable_name=value}} verwenden, um eine Script-Variable während der Ausführung einzustellen — sie muss im Aktionsfenster immer noch zugeordnet werden, um eine Automatisierungsvariable zu werden. Siehe Script-Ausgabe Erfassen oben für Details.

  • Was passiert, wenn das Script abläuft? Die Aktion wird als fehlgeschlagen markiert. Die Einstellung Bei Aktionsfehler in Zusätzliche Optionen steuert, ob die Pipeline stoppt oder fortfährt.

  • Wer kann Script Ausführen-Aktionen hinzufügen oder ändern? Techniker mit Berechtigung zum Bearbeiten von Automatisierungen in der relevanten Gruppe. Siehe Arbeitsbereich → Berechtigungen für die Konfiguration der Zugriffskontrolle.

Hat dies deine Frage beantwortet?