Introducción
Ejecuta un script guardado en un dispositivo como parte de una automatización. Compatible con PowerShell, Bash, Python y otros lenguajes. Si tu script necesita datos externos, como el valor de un campo personalizado o una variable de automatización, puedes asignarlos sin modificar la lógica del script.
⚙️ Requisitos previos
Debe existir un script guardado en tu biblioteca de scripts, o puedes crear uno en línea. Consulta Scripts para saber cómo crear y organizar scripts.
Debe existir una automatización antes de agregar acciones. Consulta Introducción a las automatizaciones si aún no has configurado ninguno.
Acción: Ejecutar Script
Desde el pipeline de automatización en modo de edición, haz clic en + y selecciona Ejecutar script de la categoría Sistema.
El panel de acción se abre mostrando el campo Script y dos botones: un icono de enlace externo para explorar tus scripts guardados y Crear script para escribir uno nuevo en línea.
Seleccionar un script
Haz clic en el icono de enlace externo junto al campo Script para abrir el selector de scripts guardados. Los scripts están organizados en carpetas — expande cualquier carpeta para explorar su contenido, o usa el campo de búsqueda para encontrar un script por nombre.
Crear un script en línea
Haz clic en Crear script para escribir un nuevo script sin salir del editor de automatización. El editor de scripts se abre como panel lateral.
Configura lo siguiente:
Nombre del script Un nombre descriptivo para el script. Se guardará en tu biblioteca de scripts y estará disponible para usarse en otras automatizaciones.
Lenguaje El lenguaje de scripting para este script.
Lenguajes compatibles: Ansible, Bash, Go, osquery, PowerShell, Python, Zsh.
Tiempo de espera (en segundos) Tiempo que Level espera a que el script se complete antes de marcarlo como fallido. El valor predeterminado es 100 segundos.
Ejecutar como El contexto de cuenta bajo el cual se ejecuta el script.
Opción | Comportamiento |
Sistema local | Se ejecuta como la cuenta SYSTEM — elevada, sin contexto de usuario |
Usuario actual | Se ejecuta como el usuario que ha iniciado sesión en ese momento — útil para operaciones de contexto de usuario como aplicar fondos de pantalla, configurar ajustes de usuario, etc. |
Escribe tu script en el editor de código. Haz clic en {x} para referenciar variables y campos personalizados en línea en el script. Cuando termines, haz clic en Crear script para guardarlo y adjuntarlo a la acción.
Variables de script
Las variables de script son ranuras de salida con nombre definidas en la pestaña Variables pestaña. 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, haciéndolo disponible para las acciones y condiciones posteriores en el pipeline.
ℹ️ NOTA: Para pasar datos a un script — contexto del dispositivo, valores de campos personalizados, información del sistema — usa variables del sistema o campos personalizados a través del {x} del selector en el editor de scripts. Las variables de script sirven para capturar resultados, no para proporcionar entradas.
Cuando se selecciona un script con variables definidas, aparece una sección Variables de script aparece en el panel de acción.
Para asignar una variable de script a una variable de automatización:
En la sección Variables de script encuentra la variable de script que deseas capturar.
Abre el desplegable Variables de automatización en la misma fila.
Selecciona una variable de automatización existente o haz clic en Crear nueva variable.
Cuando el script se ejecuta, el valor que escribe en esa variable de script se almacena en la variable de automatización asignada y se transmite a través del pipeline. Consulta Variables de automatización para consultar la referencia completa sobre cómo crear y usar variables de automatización.
ℹ️ NOTA: La sección de 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.
Gestionar variables de script
Las variables de script se definen en el propio script, no en el panel de acción. Abre el editor de scripts y navega a la pestaña Variables para agregar, editar o eliminarlas.
Capturar la salida del script
Hay dos formas de capturar un valor de un script y hacerlo disponible para las acciones posteriores en el pipeline.
Sintaxis de variable en línea
Incorpora esta sintaxis en cualquier parte de la salida de tu script para asignar un valor específico a una variable de automatización:
{{variable_name=value}}El agente de Level analiza la salida del script buscando este patrón mientras el script se ejecuta. El resto de la salida — registros, mensajes de estado, cualquier otra cosa — pasa sin modificaciones.
Esto es útil cuando necesitas un valor específico de un script que también produce otra salida. La variable debe crearse en la pestaña de variables del 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 ejecutarse este script, local_ip contiene la dirección IP y está disponible para cada acción y condición posterior en el pipeline tras la asignación.
Asignar la salida completa a una variable
En Opciones adicionales, usa Asignar salida de acción a variable para capturar la salida estándar completa del script en una variable de automatización. Esto funciona para cualquier script sin necesidad de cambios en el propio script, pero captura todo lo que el script genera, no solo el valor que necesitas.
💡 CONSEJO: Usa la sintaxis en línea {{variable=value}} cuando tu script produce otra salida que no quieres que contamine la variable (registros, mensajes de estado, etc.). Usa Asignar salida de acción a variable cuando la única salida del script es el valor que deseas capturar.
Códigos de salida
Level usa el código de salida del script para determinar si la acción se realizó correctamente o falló.
Código de salida | Resultado |
| Acción marcada como exitosa |
Distinto de cero (p. ej., | Acción marcada como fallida |
Tu configuración En caso de fallo de acción en Opciones adicionales controla qué sucede a continuación: si el pipeline se detiene o continúa.
Asegúrate de que tus scripts salgan explícitamente con el código apropiado. Si un script sale con 0 después de encontrar un error que no gestionó, Level tratará la acción como exitosa.
Condiciones
La sección Condiciones te permite restringir cuándo se ejecuta esta acción en función de los atributos del dispositivo o el resultado de una acción anterior.
Consulta Condiciones de acción para consultar la referencia completa sobre tipos de condiciones, operadores y valores.
Opciones adicionales
Expande Opciones adicionales para el nombre de la acción, comportamiento ante fallos, asignación de variable de salida, reintentos y el interruptor de habilitación.
Consulta Resumen de acciones para consultar la referencia completa sobre las 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 tu biblioteca — el script tiene control de versiones y es reutilizable entre automatizaciones. Shell ejecuta un script ad hoc escrito directamente en el panel de acción. Usa Ejecutar script cuando la misma lógica deba compartirse o mantenerse; usa Shell para comandos en línea puntuales.
¿Puede el script escribir salidas que otras acciones puedan leer? Sí — de dos formas. Define variables de script en la pestaña Variables y asignarlas a variables de automatización en el panel de acción; los valores escritos en esas variables durante la ejecución se transmiten a través del pipeline. O usa Asignar salida de acción a variable en Opciones adicionales para capturar la salida estándar completa del script directamente en una variable de automatización sin asignación adicional. También puedes usar 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. Consulta Capturar la salida del script más arriba para más detalles.¿Qué ocurre si el script supera el tiempo de espera? La acción se marca como fallida. La configuración En caso de fallo de acción en Opciones adicionales controla si el pipeline se detiene o continúa.
¿Quién puede agregar o modificar acciones de Ejecutar Script? Técnicos con permiso para editar automatizaciones en el grupo correspondiente. Consulta Espacio de trabajo → Permisos para la configuración del control de acceso.






