Ir al contenido principal

Acción: Ejecutar script

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

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 de manera directa. 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

Si el lienzo aún no tiene acciones, selecciona Agregar una acción. Para agregar este paso a un lienzo que ya tiene acciones, haz clic en el botón en línea + donde quieras colocarlo y selecciona Agregar otra acción. Luego elige Ejecutar script de Sistema.

Run Script Action

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 de manera directa.

Run Script Action

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.

Selecting a Script

Crear un script de manera directa

Haz clic en Crear script para escribir un nuevo script sin salir del editor de automatización. El editor de scripts se abre como un panel lateral.

Creating a Script

Configura lo siguiente:

  • Nombre del script Un nombre descriptivo para el script. Se guardará en tu biblioteca de scripts y estará disponible para usar en otras automatizaciones.

  • Lenguaje El lenguaje de programación para este script.

  • Lenguajes compatibles: Ansible, Bash, Go, osquery, PowerShell, Python, Zsh.

  • Tiempo de espera (en segundos) El 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 que se ejecuta el script.

Opción

Comportamiento

Sistema local

Se ejecuta con la cuenta SYSTEM — con privilegios elevados, sin contexto de usuario

Usuario actual

Se ejecuta como el usuario que ha iniciado sesión actualmente — útil para operaciones en el contexto del usuario, como aplicar fondo 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 de manera directa 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 valores con nombre definidos en la pestaña Variables pestaña. En la sección Ejecutar script acción, asignar una variable de script a una variable de automatización permite que el script guardado reciba datos de entrada y envíe un valor actualizado de vuelta a los pasos posteriores de la automatización.

  • Antes de la ejecución, Level sustituye el valor actual de la variable de automatización en la variable de script asignada.

  • Durante la ejecución, el script puede asignar un nuevo valor a esa variable de script. Level escribe el nuevo valor de vuelta en la variable de automatización asignada.

ℹ️ NOTA: También puedes insertar variables del sistema del dispositivo o campos personalizados directamente a través del selector {x} selector en el editor de scripts. Usa una variable de script asignada cuando el valor proviene de una variable de automatización o cuando el script guardado debe usar su propio nombre de variable reutilizable.

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

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

  1. En la sección Variables de script sección, encuentra la variable de script que deseas asignar.

  2. Abre el menú desplegable Variables de automatización en la misma fila.

  3. Selecciona una variable de automatización existente, o haz clic en Crear nueva variable.

Cuando el script se inicia, la variable de script asignada recibe el valor actual de la variable de automatización. Referencíala en el script guardado con {{script_variable_name}}. Para enviar un nuevo valor de vuelta a la automatización, asigna la variable de script con {{script_variable_name=value_expression}}.

Consulta Variables de automatización para la referencia completa sobre cómo crear y usar variables de automatización.

Script Variable

ℹ️ 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 agregarlas, editarlas o eliminarlas.

Script Variables

Capturar la salida del script

Hay dos formas de capturar un valor de un script y hacerlo disponible para las acciones posteriores en el flujo.

Asignar una variable de script mapeada

Usa {{script_variable_name=value_expression}} en el script guardado para actualizar una variable de automatización mapeada. Por ejemplo, si una variable de script de PowerShell llamada local_ip está mapeada a una variable de automatización, usa {{local_ip=$ip}} después de calcular $ip.

Antes de la ejecución, Level reemplaza la asignación con el comando de configuración de variable correcto para el intérprete del script. No se analiza desde la salida estándar del script. La variable de script debe existir en la pestaña Variables y mapearse en la acción Ejecutar script acción.

Usa esta opción cuando el script produce registros u otra salida y solo necesitas llevar un valor específico hacia adelante.

Asignar la salida completa a una variable

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

💡 CONSEJO: Usa la asignación de una variable de script mapeada cuando el script produce otra salida que no quieres en la variable. 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 utiliza el código de salida del script para determinar si la acción se realizó correctamente o falló.

Código de salida

Resultado

0

Acción marcada como exitosa

Distinto de cero (p. ej., 1)

Acción marcada como fallida

Tu configuración de En caso de fallo de la acción en Opciones adicionales controla qué sucede a continuación — si el flujo se detiene o continúa.

Asegúrate de que tus scripts salgan explícitamente con el código apropiado. Si un script sale 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 la referencia completa sobre tipos de condición, operadores y valores.


Opciones adicionales

Expande Opciones adicionales para el nombre de la acción, comportamiento en caso de fallo, asignación de variable de salida, reintentos y el interruptor de activación.

Consulta Resumen de acciones para 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 está bajo control de versiones y es reutilizable en distintas 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 puntuales en línea.

  • ¿Puede una variable de automatización proporcionar datos de entrada a un script guardado? Sí. Define una variable de script en la pestaña Variables pestaña, asígnala a una variable de automatización en la acción Ejecutar script acción, y referencia la variable de script en el script guardado. Level sustituye el valor actual de la variable de automatización antes de la ejecución.

  • ¿Puede el script escribir una salida que otras acciones puedan leer? Sí. Asigna una variable de script mapeada con {{script_variable_name=value_expression}} para escribir un valor específico de vuelta en la variable de automatización mapeada. O usa Asignar salida de acción a variable en Opciones adicionales para capturar toda la salida estándar del script.

  • ¿Qué sucede si el script supera el tiempo de espera? La acción se marca como fallida. La configuración de En caso de fallo de la acción en Opciones adicionales controla si el flujo se detiene o continúa.

  • ¿Quién puede agregar o modificar acciones de Ejecutar script? Los técnicos con permiso para editar automatizaciones en el grupo correspondiente. Consulta Área de trabajo → Permisos para la configuración del control de acceso.

¿Ha quedado contestada tu pregunta?