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 forma integrada. Consulta Scripts para saber cómo crear y organizar scripts.
Debe existir una automatización antes de añadir acciones. Consulta Introducción a las Automatizaciones si aún no has configurado ninguno.
Acción: Ejecutar Script
Desde el flujo 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 de forma integrada.
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 de Forma Integrada
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.
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 programación 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 actualmente — útil para operaciones en contexto de 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 forma integrada 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 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 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 {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 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 sección, encuentra la variable de script que deseas asignar.
Abre el Variables de automatización desplegable en la misma fila.
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.
ℹ️ 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 pestaña para añadirlas, editarlas 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 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 correcto para establecer la variable según el shell del script. No se analiza desde la salida estándar del script. La variable de script debe existir en la pestaña Variables pestaña y ser mapeada en la Ejecutar Script acción.
Usa esta opción cuando el script genera 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 deseas 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 usa el código de salida del script para determinar si la acción tuvo éxito 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 de En caso de fallo de acción en Opciones adicionales controla lo que 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 con 0 después de encontrar un error que no manejó, 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 condiciones, 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 habilitación.
Consulta Descripción General 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 tiene 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 integrados de un solo uso.
¿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, mapeala a una variable de automatización en la 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é ocurre si el script supera el tiempo de espera? La acción se marca como fallida. La configuración de En caso de fallo de acción en Opciones adicionales controla si el flujo se detiene o continúa.
¿Quién puede añadir 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.






