Einführung
Führen Sie 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 – wie z. B. einen benutzerdefinierten Feldwert oder eine Automatisierungsvariable – können Sie diese einbinden, ohne die Skriptlogik zu ändern.
⚙️ Voraussetzungen
In Ihrer Skriptbibliothek muss ein gespeichertes Skript 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 keines eingerichtet haben.
Aktion: Skript ausführen
Klicken Sie in der Automatisierungs-Pipeline im Bearbeitungsmodus auf + und wählen Sie Skript ausführen aus der Kategorie „System".
Das Aktionspanel öffnet sich und zeigt das Skript Feld und zwei Schaltflächen: ein externes Link-Symbol zum Durchsuchen Ihrer gespeicherten Skripte und Skript erstellen , um ein neues Skript direkt inline zu schreiben.
Ein Skript auswählen
Klicken Sie auf das externe Link-Symbol neben dem Skript Feld, um die Auswahl gespeicherter Skripte zu öffnen. Skripte sind in Ordnern organisiert – erweitern Sie einen Ordner, um dessen Inhalt zu durchsuchen, oder verwenden Sie das Suchfeld, um ein Skript nach Namen zu finden.
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.
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. Der Standardwert beträgt 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 Festlegen eines Hintergrundbildes, das Konfigurieren von Benutzereinstellungen usw. |
Schreiben Sie Ihr Skript im Code-Editor. Klicken Sie auf {x} , um Variablen und benutzerdefinierte Felder inline im Skript zu referenzieren. Klicken Sie nach Abschluss auf Skript erstellen , um es zu speichern und der Aktion zuzuordnen.
Skriptvariablen
Skriptvariablen sind benannte Ausgabe-Slots, die in der Variablen Registerkarte. Das Skript schreibt während der Ausführung einen Wert in eine Skriptvariable, und die Zuordnung im Aktionspanel bestimmt, welche Automatisierungsvariable diesen Wert speichert – sodass er für nachfolgende Aktionen und Bedingungen in der Pipeline verfügbar ist.
ℹ️ HINWEIS: Um Daten an eines Skripts – Gerätekontext, benutzerdefinierte Feldwerte, Systeminformationen – verwenden Sie Systemvariablen oder benutzerdefinierte Felder über die {x} Auswahl im Skripteditor definiert sind. Skriptvariablen dienen der Erfassung von Ausgaben, nicht der Bereitstellung von Eingaben.
Wenn ein Skript mit definierten Variablen ausgewählt wird, erscheint ein Skriptvariablen Abschnitt erscheint im Aktionspanel.
So ordnen Sie eine Skriptvariable einer Automatisierungsvariable zu:
Suchen Sie im Skriptvariablen Abschnitt die Skriptvariable, die Sie erfassen möchten.
Öffnen Sie das Automatisierungsvariablen Dropdown-Menü in derselben Zeile.
Wählen Sie eine vorhandene Automatisierungsvariable aus oder klicken Sie auf Neue Variable erstellen.
Wenn das Skript ausgeführt wird, wird der Wert, den es in diese Skriptvariable schreibt, in der zugeordneten Automatisierungsvariable gespeichert und durch die Pipeline weitergeleitet. Siehe Automatisierungsvariablen für die vollständige Referenz zum Erstellen und Verwenden von Automatisierungsvariablen.
ℹ️ HINWEIS: Der Abschnitt „Skriptvariablen" wird nur angezeigt, wenn das ausgewählte Skript mindestens eine Variable in seiner Variablen-Registerkarte definiert hat. Skripte ohne Variablen zeigen diesen Abschnitt nicht an.
Skriptvariablen verwalten
Skriptvariablen werden im Skript selbst definiert, nicht im Aktionspanel. Öffnen Sie den Skripteditor und navigieren Sie zur Variablen Registerkarte, um sie hinzuzufügen, zu bearbeiten oder zu entfernen.
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.
Inline-Variablensyntax
Betten Sie diese Syntax an beliebiger Stelle in Ihrer Skriptausgabe ein, um eine Automatisierungsvariable auf einen bestimmten Wert zu setzen:
{{variable_name=value}}Der Agent von Level analysiert die Skriptausgabe während der Ausführung auf dieses Muster. Alle anderen Ausgaben – Protokolle, Statusmeldungen und alles andere – werden unverändert durchgeleitet.
Dies ist nützlich, wenn Sie einen gezielten Wert aus einem Skript benötigen, das auch andere Ausgaben erzeugt. Die Variable muss auf der Registerkarte „Skriptvariablen" 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}}
Nachdem dieses Skript ausgeführt wurde, local_ip enthält die IP-Adresse und steht nach der Zuordnung jeder nachfolgenden Aktion und Bedingung in der Pipeline zur Verfügung.
Gesamte Ausgabe einer Variable zuweisen
Unter Zusätzliche Optionenverwenden Sie Aktionsausgabe einer Variable zuweisen , um die gesamte Standardausgabe des Skripts direkt 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 benötigten Wert.
💡 TIPP: Verwenden Sie die Inline- {{variable=value}} Syntax, wenn Ihr Skript andere Ausgaben erzeugt, die die Variable nicht verunreinigen sollen (Protokolle, Statusmeldungen usw.). Verwenden Sie Aktionsausgabe einer Variable zuweisen , wenn die einzige Ausgabe des Skripts der gewünschte Wert ist.
Beendigungscodes
Level verwendet den Beendigungscode des Skripts, um zu bestimmen, ob die Aktion erfolgreich war oder fehlgeschlagen ist.
Beendigungscode | Ergebnis |
| Aktion als erfolgreich markiert |
Ungleich null (z. B. | Aktion als fehlgeschlagen markiert |
Ihre Bei Aktionsfehler Einstellung in den Zusätzlichen Optionen steuert, was als Nächstes passiert – ob die Pipeline stoppt oder weiterläuft.
Stellen Sie sicher, dass Ihre Skripte explizit mit dem entsprechenden Code beendet werden. Wenn ein Skript 0 nach dem Auftreten eines nicht behandelten Fehlers beendet, wird Level die Aktion als erfolgreich behandeln.
Bedingungen
Der Bedingungen Abschnitt ermöglicht es Ihnen, die Ausführung dieser Aktion basierend auf Geräteattributen oder dem Ergebnis einer vorherigen Aktion einzuschränken.
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 versioniert und in Automatisierungen wiederverwendbar. „Shell" führt ein Ad-hoc-Skript aus, das direkt im Aktionspanel geschrieben wird. Verwenden Sie „Skript ausführen", wenn dieselbe Logik geteilt oder gepflegt werden muss; verwenden Sie „Shell" für einmalige Inline-Befehle.
Kann das Skript Ausgaben schreiben, die andere Aktionen lesen können? Ja – auf zwei Arten. Definieren Sie Skriptvariablen in der Variablen Registerkarte und ordnen Sie diese im Aktionspanel Automatisierungsvariablen zu; während der Ausführung in diese Variablen geschriebene Werte werden durch die Pipeline weitergeleitet. Oder verwenden Sie Aktionsausgabe einer Variable zuweisen unter den Zusätzlichen Optionen, um die vollständige Standardausgabe des Skripts direkt in eine Automatisierungsvariable zu erfassen, ohne zusätzliche Zuordnung. Sie können auch die Inline-
{{variable_name=value}}Syntax, um eine Skriptvariable während der Ausführung zu setzen – sie muss dennoch im Aktionspanel zugeordnet werden, um zu einer Automatisierungsvariable zu werden. Siehe Skriptausgabe erfassen oben für Details.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 weiterläuft.
Wer kann Aktionen „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.






