Tema
Este artículo ofrece una explicación de las variables de script y orientación sobre cómo utilizarlas.
Entorno
Automatización y scripting de NinjaOne
Descripción
Seleccione una opción para obtener más información:
- ¿Qué son los tipos de variables?
- Uso de una variable en el editor de scripts
- Visualización de un script con variables
- Envío de variables de script a un agente
- Recursos adicionales
¿Qué son los tipos de variables?
Al crear scripts en la biblioteca de automatización, tiene la opción de añadir varios tipos de variables de script que afectan al formulario interactivo que aparece cuando se ejecuta un script. Las variables son compatibles con Batch, PowerShell, ShellScript y VBScript.
Consulte la tabla siguiente para obtener una breve explicación de cada tipo de variable.
| Tipo de variable | Descripción |
|---|---|
| Cadena/Texto | Se utiliza para cualquier cosa que necesite letras, números y/o caracteres como combinación. Algunos ejemplos son nombres de usuario, URL y frases. Nota importante: No se pueden utilizar los siguientes caracteres especiales: Å Ä Ö &|;$><`! |
| Entero | Se utiliza para cualquier cosa que necesite un número entero sin decimales. |
| Decimal | Se utiliza para cualquier cosa que necesite un número con decimales (por ejemplo, 3,145). |
| Casilla | Se utiliza para cualquier cosa que requiera un valor verdadero o falso. |
| Fecha | Se utiliza para cualquier elemento que necesite representar una fecha. Nota importante: el script utiliza el formato ISO 8601. |
| Fecha/hora | Se utiliza para cualquier elemento que necesite representar una fecha y una hora. Nota importante: el script utiliza el formato ISO 8601. |
| Desplegable | Se utiliza para cualquier elemento que necesite representar una elección con varias opciones. |
| Dirección IP | Útil para cualquier elemento que necesite representar una dirección IP. |
Uso de una variable en el editor de scripts
Una vez que las variables deseadas se han establecido en la parte derecha del editor de scripts, se pueden utilizar dentro del script pulsando CTRL + Espacio en el teclado y seleccionando la opción en el cuadro emergente que aparece. Pase el cursor por encima de la variable para ver una descripción y haga clic en ella para insertarla en el script.

Figura 1: Página de scripts de NinjaOne → Añadir y utilizar variables (haga clic para ampliar)
También puede introducir variables manualmente haciendo referencia a ellas por su nombre tal y como aparecen en el cuadro de entrada de la derecha.
Los diferentes lenguajes de scripting requieren diferentes entradas para hacer referencia a la variable; consulte la tabla siguiente para ver algunos ejemplos.
| Lenguaje de script | Ejemplo de referencia |
|---|---|
| PowerShell | $env:<nombre de la variable> $env:dateOfBirth |
| Lote | %<nombre de la variable>% %fechaDeNacIMIentO% |
| VBScript | <nombre de la variable> = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%nombre de la variable%") dateOfBirth = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%dateOfBirth%") |
| ShellScript | $<nombre_variable> $fechaDeNacimiento |
Tenga en cuenta que todas las variables se establecen como cadenas en el código que está escribiendo, por lo que es posible que tenga que convertir o transformarlos. Consulte la sección sobre ejecución de scripts para ver los valores que se envían y su formato.
Visualización de un script con variables
Las variables se representan de forma diferente en función de las selecciones elegidas en el editor de scripts. A continuación se muestra un ejemplo de cómo se ven las diferentes variables en un script preparado para ejecutarse en un dispositivo.
Tenga en cuenta que si una variable se ha marcado como obligatoria, aparecerá un asterisco (*) junto al nombre de la variable. Si el usuario que ejecuta el script no rellena este campo o no se ha proporcionado un valor predeterminado, el script no se ejecutará, el campo obligatorio se volverá rojo y se pedirá a los usuarios que introduzcan un valor para continuar.

Figura 2: Ejemplo de campos de variables en un script de NinjaOne
Envío de variables de script a un agente
- Las variables de script que se envían vacías (sin valor añadido) siempre se envían como una cadena vacía. Recomendamos comprobar si hay algún valor vacío si no ha marcado una variable de script como obligatoria.
- Las variables de script que se envían al agente no son de tipo fuerte. Todos los valores se enviarán como una cadena. Si desea convertirlas a un tipo determinado, deberá hacerlo en su propio código.
Algunos lenguajes permiten convertir cadenas en objetos fuertemente tipados en el código. Por ejemplo, PowerShell puede convertir a una fecha/hora de la siguiente manera:
$Test1 = [datetime]$ENV:Test1
Puede convertir a un valor booleano de la siguiente manera:
$Test2 = [System.Boolean]::Parse($ENV:Test2)
Hay algunas reglas sencillas que sigue el motor de scripts al enviar variables de script a un agente:
| Tipo de variable | Regla del motor de scripts |
|---|---|
| Cadena/texto | Se envía tal y como se ha introducido (por ejemplo, «Hola mundo»). |
| Entero | Se envía como números enteros (por ejemplo, «314»). |
| Decimal | Se envía como números de coma flotante (por ejemplo, «3,14»). |
| Casilla | Cuando están marcadas, las casillas de verificación se envían como un valor de cadena «true». Cuando no están marcadas, las casillas de verificación se envían como un valor de cadena «false». |
| Fecha | Se envía como una cadena con formato ISO 8601 en forma de AAAA-MM-ddT00:00:00.000+00:00 |
| Fecha/hora | Se envía como una cadena con formato ISO 8601 en forma de AAAA-MM-DDTHH:MM:SS.SSSZ (por ejemplo, 2023-07-28T03:00:00.000+01:00). |
| Desplegable | Se envía como una cadena con el valor seleccionado. |
| Dirección IP | Se envía como una cadena con la dirección IP introducida. |