¿Ya eres cliente de NinjaOne? Inicia sesión para ver más guías y las últimas actualizaciones.

Biblioteca de scripts: parámetros

Tema

Este artículo explica la finalidad de los parámetros y las variables de entorno a la hora de instalar o ejecutar scripts y automatizaciones en NinjaOne. 

Entorno

Automatización de NinjaOne

Descripción

Los términos «parámetros» y «argumentos» suelen utilizarse indistintamente, pero son ligeramente diferentes. Cuando se invoca una función, un script o un archivo ejecutable, se utilizan argumentos. Al definir la función, se definen los parámetros que tomarán los argumentos de la invocación como valores de los parámetros. En el contexto de la creación de scripts de automatización para NinjaOne, NinjaOne utiliza el término «parámetros» en todo momento.

Los parámetros no son obligatorios por defecto en los scripts personalizados. Sin embargo, si tu script personalizado está escrito para aceptar parámetros, tienes la opción de especificar cadenas de parámetros predefinidas en el editor de scripts.

NinjaOne utiliza variables de entorno para hacer referencia a los parámetros y simplificar la introducción de comandos. Puede obtener más información al respecto en nuestro artículo «NinjaOne Endpoint Management: Uso de variables en scripts de automatización ». 

Índice

Selecciona una categoría para obtener más información:

Consideraciones importantes

Ten en cuenta las siguientes notas antes de continuar:

  • No se pueden utilizar los siguientes caracteres especiales en los parámetros: &|;$><`!
  • NinjaOne no puede pasar varios valores para los parámetros de tipo matriz. Por ejemplo, al introducir -param 1, 2 en el cuadro de texto de nuestros parámetros, solo se muestra 1 en lugar de 1 2.
  • Actualmente, NinjaOne no puede pasar valores booleanos a través de nuestros parámetros.
  • NinjaOne solo acepta parámetros de tipo cadena.

Cómo utilizar parámetros en un script

A continuación se muestra un ejemplo de cómo pasar parámetros a un script de PowerShell que cambia el nombre de un usuario local.

script parameters.png
Figura 1: Añadir parámetros a un script

En la Figura 1, hemos creado tres cadenas de parámetros predefinidas:

  • Tonya
  • Tony
  • T.S.

Estos parámetros se corresponden con el atributo CmdletBinding resaltado en el script y sustituirán a las variables de cadena en el orden en que se han introducido, de la siguiente manera:

  • $CurrentName: Tonya
  • $NewName: Tony
  • $NewDisplayName: T.S.

También puede establecer estos parámetros al ejecutar el script mediante una condición de política o una tarea programada. El mensaje de solicitud le pedirá que añada valores para los parámetros.

scheduled task_run automation_parameters.png
Figura 2: Añadir parámetros a una automatización

Otro uso de los parámetros predefinidos

Si no desea introducir parámetros de texto fijos en su script, también puede llamar a variables vacías dentro del script e insertar sus valores en el campo de parámetros antes de ejecutar el script.

A continuación se muestra un ejemplo con un script que llama a tres variables y las muestra en la salida del script: 

param(
 [String]$variable1='',
 [String]$variable2='',
 [String]$variable3='')


Write-Host $variable1
Write-Host $variable2
Write-Host $variable3

Al ejecutar este script, introduce los valores que deseas que adopte cada variable en el orden en que aparecen escritas en el script. Utiliza un espacio entre cada variable. Si los valores contienen espacios, debes añadir comillas para diferenciarlos de las demás variables.

Por ejemplo, si quiero añadir «Peter Smith» como $Username y «Pa5sW0rd» como su $Password, tengo que escribirlos de la siguiente manera:

"Peter Smith" Pa5sW0rd
Actualmente, NinjaOne no ofrece soporte para scripts personalizados. Sin embargo, el tema «Script Share» de nuestros foros es un recurso excelente para compartir y solicitar scripts personalizados. Consulta «Community Scripting – NinjaOne Dojo» para obtener más información.

Preguntas frecuentes

¿Cómo sé qué parámetros debo utilizar en la instalación nativa de NinjaOne o al ejecutar scripts de aplicaciones?

En el caso de los archivos EXE, los parámetros dependen de cada aplicación. No hay un conjunto único de parámetros que se pueda utilizar.

Para los archivos MSI, consulta «MSIEXEC - Instalador de Windows - CMD de Windows - SS64.com» (enlace externo) para ver una lista de los parámetros posibles.

En el caso del script nativo «Install Application » de NinjaOne, todos los archivos MSI se ejecutan utilizando los siguientes parámetros:

/quiet /qn /norestart /log {ruta a nuestra carpeta de scripts}ninjascript-output-{hora actual}.txt 

¿Cómo sé qué parámetros debo utilizar en mis scripts personalizados?

Cada lenguaje de scripting tiene su propio método para utilizar los parámetros de script. Debe formatear los parámetros según los requisitos del lenguaje que utilice su script personalizado. A continuación se incluyen algunos recursos externos sobre cómo funcionan los parámetros en los diferentes lenguajes de scripting compatibles con NinjaOne:

También ponemos a su disposición las siguientes variables de entorno que puede utilizar para todo tipo de scripts (Windows, Apple macOS y Linux):

NINJA_EXECUTING_PATH: ubicación de instalación
NINJA_AGENT_VERSION_INSTALLED: versión del agente
NINJA_PATCHER_VERSION_INSTALLED: versión del parcheador
NINJA_DATA_PATH: carpeta de datos del agente (scripts, políticas, descargas, registros)
NINJA_AGENT_PASSWORD: contraseña del agente para obtener la clave de sesión
NINJA_AGENT_MACHINE_ID: el ID de máquina utilizado en el servidor
NINJA_AGENT_NODE_ID: el ID de nodo utilizado en el servidor.
NINJA_ORGANIZATION_NAME: el nombre de la organización utilizado en el servidor.
NINJA_ORGANIZATION_ID: el ID de la organización utilizado en el servidor.
NINJA_COMPANY_NAME: el nombre de la empresa utilizado en el servidor.
NINJA_LOCATION_ID: el ID de la ubicación utilizado en el servidor.
NINJA_LOCATION_NAME: el nombre de la ubicación utilizado en el servidor
Si modificas una variable y ejecutas un script para recuperar el nuevo valor, reinicia el sistema de destino si este no ha cambiado. Al reiniciar el sistema de destino, se actualizarán las variables.

Recursos adicionales

Consulta NinjaOne Endpoint Management: Scripting, Automation and CLI para conocer más herramientas de la biblioteca de automatización.

FAQ

Próximos pasos