Ir al contenido principal

Acción Ejecutar script

Ejecutar un script guardado en un dispositivo como parte de una automatización, con soporte para pasar variables de automatización al script.

Introducción

Ejecute un script guardado en un dispositivo como parte de una automatización. Compatible con PowerShell, Bash, Python y otros idiomas. Si su script necesita datos de fuera — como un valor de campo personalizado o una variable de automatización — puede asignarlo sin modificar la lógica del script.


Requisitos previos

  • Debe existir un script guardado en su biblioteca de scripts, o puede crear uno en línea. VerScripts para obtener instrucciones sobre cómo crear y organizar scripts.

  • Debe existir una automatización antes de agregar acciones. VerPrimeros pasos con automatizacionessi aún no ha configurado una.


Acción Ejecutar script

Desde la canalización de automatización en modo de edición, haga clic en + and select Run script de la categoría Sistema.

Run Script Action

El panel de acción se abre mostrando el Script campo y dos botones: un icono de enlace externo para examinar sus scripts guardados, y Create script para escribir uno nuevo en línea.

Run Script Action


Selección de un script

Haga clic en el icono de enlace externo junto al Script campo para abrir el selector de script guardado. Los scripts se organizan en carpetas — expanda cualquier carpeta para examinar su contenido o use el campo de búsqueda para encontrar un script por nombre.

Selecting a Script


Crear un script en línea

Click Create script para escribir un nuevo script sin dejar el editor de automatización. El editor de script se abre como un panel lateral.

Creating a Script

Configure lo siguiente:

Script name Un nombre descriptivo para el script. Se guardará en su biblioteca de scripts y estará disponible para usar en otras automatizaciones.

Language El lenguaje de programación para este script.

Idiomas admitidos: Ansible, Bash, Go, osquery, PowerShell, Python, Zsh .

Tiempo de espera (en segundos) Cuánto tiempo espera Level a que se complete el script antes de marcarlo como fallido. El valor predeterminado es de 100 segundos.

Run asEl contexto de cuenta en el que se ejecuta el script.

Option

Behavior

Local system

Se ejecuta como cuenta SYSTEM — elevada, sin contexto de usuario

Current user

Se ejecuta como el usuario actualmente conectado — útil para operaciones de contexto de usuario como aplicar fondos de pantalla, configurar la configuración del usuario, etc.

Escriba su script en el editor de código. Haga clic en {x} para hacer referencia a variables y campos personalizados en línea en el script. Cuando termine, haga clic enCreate scriptpara guardarlo y adjuntarlo a la acción.


Variables de script

Las variables de script son ranuras de salida nombradas definidas en laVariables pestaña de un script. El script escribe un valor en una variable de script durante la ejecución, y la asignación en el panel de acción determina qué variable de automatización almacena ese valor — poniéndolo a disposición de las acciones y condiciones posteriores en la canalización.

ℹ️ NOTA: To pass data into un script — contexto de dispositivo, valores de campos personalizados, información del sistema — use variables del sistema o campos personalizados a través del{x} selector en el editor de script. Las variables de script sirven para capturar salida, no para proporcionar entrada.

Cuando se selecciona un script con variables definidas, aparece un Variables de script sección aparece en el panel de acción.

Para asignar una variable de script a una variable de automatización:

  1. In the Variables de script sección, busque la variable de script que desea capturar.

  2. Open the Variables de automatización lista desplegable en la misma fila.

  3. Seleccione una variable de automatización existente o haga clic enCrear nueva variable .

Cuando se ejecuta el script, el valor que escribe en esa variable de script se almacena en la variable de automatización asignada y se transfiere a través de la canalización. Ver Variables de automatización para la referencia completa sobre cómo crear y utilizar variables de automatización.

Script Variable

ℹ️ NOTA:La sección Variables de script solo aparece cuando el script seleccionado tiene al menos una variable definida en su pestaña Variables. Los scripts sin variables no muestran esta sección.

Gestión de variables de script

Las variables de script se definen en el script mismo, no en el panel de acción. Abra el editor de script y navegue al Variables pestaña para agregar, editar o eliminar variables.

Script Variables


Capturando la salida del script

Hay dos formas de capturar un valor de un script y ponerlo a disposición de las acciones posteriores en la canalización.

Sintaxis de variable en línea

Incruste esta sintaxis en cualquier lugar de su salida de script para establecer una variable de automatización en un valor específico:

##{{variable_name=value}}

El agente Level analiza la salida del script para este patrón mientras se ejecuta. Toda la otra salida — registros, mensajes de estado, cualquier otra cosa — se transmite sin cambios.

Esto es útil cuando necesita un valor específico de un script que también produce otra salida. La variable debe crearse en la pestaña Variables de script.

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

Después de ejecutar este script, local_ipcontiene la dirección IP y está disponible para todas las acciones y condiciones posteriores en la canalización después de la asignación.

Asignar salida completa a una variable

In Opciones adicionales , use Asignar salida de acción a una variable para capturar toda la salida estándar del script en una variable de automatización. Esto funciona para cualquier script sin necesidad de cambios — pero captura todo lo que genera el script, no solo el valor que necesita.

💡 TIP: Use the inline ##{{variable=value}} sintaxis cuando su script produce otra salida que no desea en la variable (registros, mensajes de estado, etc.). UtilizarAsignar salida de acción a una variablecuando la única salida del script es el valor que desea capturar.


Exit Codes

Level utiliza el código de salida del script para determinar si la acción se realizó correctamente o falló.

Exit code

Result

0

Acción marcada como exitosa

Non-zero (e.g. 1)

Acción marcada como fallida

Your En falla de acción la configuración en Opciones adicionales controla qué sucede a continuación — si la canalización se detiene o continúa.

Asegúrese de que sus scripts se cierren explícitamente con el código apropiado. Si un script se cierra0después de encontrar un error que no manejó, Level tratará la acción como exitosa.


Conditions

The Conditions La sección le permite restringir cuándo se ejecuta esta acción según los atributos del dispositivo o el resultado de una acción anterior.

See Condiciones de acciónpara la referencia completa sobre tipos de condiciones, operadores y valores.


Additional Options

Expande Opciones adicionales para el nombre de la acción, el comportamiento de falla, la asignación de variables de salida, los reintentos y el interruptor habilitado.

See Descripción general de accionespara la referencia completa de opciones adicionales disponibles en cada acción.


Preguntas frecuentes

  • ¿Cuál es la diferencia entre Ejecutar script y Shell? Ejecutar script ejecuta un script guardado de su biblioteca — el script tiene control de versiones y es reutilizable en automatizaciones. Shell ejecuta un script ad-hoc escrito directamente en el panel de acción. Utilice Ejecutar script cuando la misma lógica debe compartirse o mantenerse; use Shell para comandos puntuales en línea.

  • ¿Puede el script escribir salida que otras acciones puedan leer? Sí — dos formas. Defina variables de script en la pestaña Variables del script y asígnelas a variables de automatización en el panel de acción; los valores escritos en esas variables durante la ejecución se transfieren a través de la canalización. O utilice Asignar salida de acción a una variable en Opciones adicionales para capturar toda la salida estándar del script directamente en una variable de automatización sin asignación adicional. También puede utilizar la sintaxis en línea##{{variable_name=value}} para establecer una variable de script durante la ejecución — aún debe asignarse en el panel de acción para convertirse en una variable de automatización. VerCapturando la salida del script arriba para más detalles.

  • ¿Qué sucede si el script agota el tiempo? La acción se marca como fallida. ElEn falla de acción la configuración en Opciones adicionales controla si la canalización se detiene o continúa.

  • ¿Quién puede agregar o modificar acciones Ejecutar script? Técnicos con permiso para editar automatizaciones en el grupo relevante. Ver Espacio de trabajo → Permisos para la configuración del control de acceso.

¿Ha quedado contestada tu pregunta?