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

Interfaz de línea de comandos (CLI): Campos personalizados y secuencias de comandos de documentación

Tema

Esta documentación explica cómo utilizar el componente ninjarmm-cli en los sistemas operativos Microsoft Windows, Apple macOS y Linux.

Entorno

  • Gestión de endpoints de NinjaOne
  • NinjaOne Documentation

Descripción

El componente ninjarmm-cli es un archivo ejecutable que permite acceder e interactuar con campos personalizados específicos y datos de documentación desde la interfaz de línea de comandos (CLI), el terminal o scripts personalizados.

Selecciona una categoría para aprender más:

Notas importantes

Antes de usar ninjarmm-cli, debes tener en cuenta lo siguiente:

  • Los campos seguros son de escribir solamente en el caso de los campos de documentación.
  • Puede leer o escribir datos de documentación en la CLI o en scripts personalizados. Puede generar una lista de plantillas, una lista de documentos por nombre de plantilla o número de identificación, y el valor de cada campo de un documento.
    • La CLI o los scripts personalizados solo pueden acceder a plantillas y documentos que contengan al menos un campo rellenado. Las plantillas y los documentos vacíos no se mostrarán.
  • Puede utilizar scripts personalizados escritos en Batch o PowerShell para Windows, o en ShellScript para macOS y Linux. Dado que el archivo ninjarmm-cli.exe se encuentra en una carpeta protegida a la que los usuarios normales no tienen acceso, debe ejecutar cualquier script que utilice esta funcionalidad con privilegios de administrador del sistema, o bien debe modificar los permisos en consecuencia.
  • Para los dispositivos Linux, debe añadir «./» delante de «ninjarmm-cli» en el Terminal para ejecutar el comando correctamente.
  • En el caso de los dispositivos Windows, si necesita almacenar el resultado del comando ninjarmm-cli get en una variable, puede utilizar el parámetro opcional --direct-out para forzar el uso del canal de salida estándar stdout en lugar de funciones de la API de Windows como WriteConsoleW o WriteFile. Sin embargo, al hacerlo, podría perder la compatibilidad con la salida Unicode, que no funciona correctamente en algunas versiones de Windows con el canal stdout. Consulta el siguiente ejemplo de este comando:
 ninjarmm-cli --direct-out get [nombre del campo]

Acceso a campos seguros mediante automatizaciones

Los campos seguros no pueden superar los 200 caracteres.

Cualquier automatización que se ejecute desde la Biblioteca de automatizaciones puede acceder a los campos seguros, entre los que se incluyen:

  • Condiciones de script
  • Condiciones del compuesto de scripts
  • Tareas programadas de políticas
  • Tareas programadas globales
  • Acciones «Ejecutar antes» en tareas de respaldo, aplicación de parches, instalación de la aplicación y tareas similares
  • Acciones posteriores a la copia de seguridad, la aplicación de parches, la instalación de la aplicación y tareas similares
  • Acciones de automatización en función de condiciones
  • Ejecutar automatización

Algunos aspectos importantes que hay que tener en cuenta con respecto a los campos seguros son:

  • NinjaOne solo proporciona acceso a los campos personalizados seguros durante la ejecución de la automatización.
  • Ni el terminal web ni el terminal local pueden acceder a los campos personalizados seguros.
  • Solo los comandos ejecutados en un dispositivo local e iniciados por NinjaOne pueden acceder a los campos personalizados, incluidas las operaciones GET y SET, los campos personalizados seguros y los campos seguros de documentación. Sin embargo, los campos seguros de documentación solo utilizan operaciones SET a través de la CLI.

Interacción con campos personalizados a través de la CLI de Windows o la terminal

El agente descomprime automáticamente este ejecutable en las siguientes carpetas:

  • Windows: C:Datos de programasNinjaRMMAgentninjarmm-cli.exe
  • macOS: /Aplicaciones/NinjaRMMAgent/Datos de programas/ninjarmm-cli
  • Linux: /opt/NinjaRMMAgent/datos de programas/ninjarmm-cli

En Windows, usa la siguiente variable de entorno especial a nivel del Sistema:

  • Windows: %NINJARMMCLI%paraC:Datos de programasNinjaRMMAgentninjarmm-cli.exe
  • Linux: $NINJA_DATA_PATH/ninjarmm-cli establecer $fieldname $variable

La CLI de NinjaRMM tiene un aspecto similar al siguiente ejemplo de Windows:

c:ProgramDataNinjaRMMAgentninjarmm-cli.exe ayuda

ninjarmm-cli: herramienta de línea de comandos para acceder y administrar los campos personalizados del agente de NinjaRMM.
Uso:
  help: muestra este texto

Campos globales y de rol:

get <NOMBRE del atributo>: obtiene el valor del atributo con el nombre especificado

set <NOMBRE del atributo> <VALOR del atributo y lista de valores separados por comas>: establece el valor del atributo especificado
   --stdin: modificador opcional para utilizar datos procedentes de una tubería. Por ejemplo: dir | %NINJARMMCLI% set --stdin myfield

options <NOMBRE del atributo> - obtiene la lista de valores válidos para el nombre del atributo (útil para atributos de menú desplegable y de selección múltiple)

Campos de documentación:

templates - obtiene una lista de las plantillas de documento que contienen documentos y atributos
   --ids, --names - modificadores opcionales

documentos «<ID/nombre de la plantilla>» - obtiene una lista de los documentos de la plantilla por id o nombre (se requieren comillas)
   --ids, --names - modificadores opcionales

get «<ID/nombre de la plantilla>» «<NOMBRE del documento>» <NOMBRE del atributo> - obtiene el atributo del documento por nombre del documento e id/nombre de la plantilla (se requieren comillas)

get "<NOMBRE de una sola plantilla>" <NOMBRE del atributo> - obtiene un atributo de un único documento por el nombre de la plantilla (se requieren comillas)

org-set "<ID/nombre de la plantilla>" "<NOMBRE del documento>" <NOMBRE del atributo> "<VALOR del atributo y lista de valores separados por comas>" - establece el atributo en el documento/atributo especificado por el nombre del documento y el ID/nombre de la plantilla (se requieren comillas)

org-set "<NOMBRE de una plantilla concreta>" <NOMBRE del atributo> "<VALOR del atributo y lista de valores separados por comas>" - establece el atributo en un documento o atributo concreto mediante el nombre de la plantilla (se requieren comillas)

org-clear "<IDENTIFICADOR/nombre de la plantilla>" "<NOMBRE del documento>" <NOMBRE del atributo>: borra el valor del documento según el nombre del documento y el identificador/nombre de la plantilla (se requieren comillas; se representa como NULL)

org-clear "<NOMBRE de una plantilla concreta>" <NOMBRE del atributo>: borra el valor de un documento concreto según el nombre de la plantilla (se requieren comillas; se representa como NULL)

org-options "<ID/nombre de la plantilla>" "<NOMBRE del documento>" <NOMBRE del atributo> - obtener la lista de valores válidos para el nombre del atributo del documento por el nombre del documento y el id/nombre de la plantilla (aplicable a atributos desplegables y de selección múltiple)

org-options "<NOMBRE de una sola plantilla>" <NOMBRE del atributo>: obtiene una lista de los valores válidos para el nombre de un atributo de un único documento según el nombre de la plantilla (aplicable a atributos de menú desplegable y de selección múltiple)

Formato de salida:

códigos de salida: 0 - Éxito, 1 - Error

en caso de éxito: sale con 0 y muestra el valor

en caso de error: sale con 1 y muestra la descripción del error

Para leer el código de salida: Windows: «echo %errorlevel%», Unix: «echo $?»

Tipos de atributos:

  Casilla de verificación (CheckBox): tipo booleano; valores aceptables: 0, 1, true, false

  Numérico (Numeric): tipo entero; los valores oscilan entre -2147483648 y 2147483647; admite la configuración del filtro de entrada avanzado.

  Decimal: tipo flotante; los valores oscilan entre -9999999,999999 y 9999999,999999; admite los ajustes avanzados del filtro de entrada.

  TextMultiLine, Texto: cadena de texto normal

  TextEmail: cadena de texto normal; debe ajustarse al formato de correo electrónico RFC 5322

  TextIpAddress: cadena de texto normal; debe ajustarse al formato IPv4 o IPv6; admite la configuración avanzada del filtro de entrada

  TextPhone: cadena normal; debe ajustarse al formato de número de teléfono E.164

  TextEncrypted: cadena encriptada normal; admite los ajustes avanzados del filtro de entrada (solo de lectura para la Documentación)

  DateTime: número entero de segundos desde el inicio de la época Unix o formato ISO «aaaa-MM-ddTHH:mm:ss» sin zona horaria (UTC)

  Date: segundos enteros desde el inicio de la época Unix o en formato ISO «aaaa-MM-dd».

  Time: segundos enteros o en formato ISO «HH:mm:ss».

  MultiSelect: lista de opciones únicas (véase el comando <OPTIONS>).

  MultiSelectNode, MultiSelectClient, MultiSelectClientLocation: (solo lectura mediante la CLI) datos relacionados con la organización.

  Menú desplegable: una opción única (véase el comando <OPTIONS>)

  DropdownNode, DropdownClient, DropdownClientLocation: (solo lectura mediante la CLI) datos relacionados con la organización

  Adjuntos: (solo lectura mediante la CLI) objeto JSON con información sobre el archivo.

  WYSIWYG: (solo lectura mediante la CLI) objeto JSON con contenido HTML y de texto

Módulo de NinjaOne para Powershell

Al instalar el agente de NinjaOne, NinjaOne desplega y carga un módulo personalizado de NinjaOne para PowerShell que permite interactuar con los campos personalizados. Se puede acceder a ninjarmm-cli en dispositivos Windows a través de este módulo de PowerShell simplemente llamando a los nombres de las funciones desde PowerShell.

Comandos de Powershell de NinjaOne

A continuación se detallan los comandos de Powershell que se pueden ejecutar.

Get-NinjaProperty 

El comando Get-NinjaProperty es una evolución del comando original Ninja-Property-Get. La función Get-NinjaProperty recupera y convierte el valor de un campo personalizado de Ninja en función del nombre del campo y el tipo de campo especificados.

El comando acepta un nombre del campo, un tipo de propiedad y un nombre de documento opcional. Cuando se proporciona un nombre de documento, la función recuperará el valor de la propiedad del documento de Ninja especificado. Dependiendo del tipo especificado (por ejemplo, Fecha, Fecha y hora, Casilla de verificación, Menú desplegable, etc.), la función convertirá el valor sin procesar en un objeto de PowerShell adecuado. Si el tipo de propiedad requiere opciones adicionales, como menús desplegables o campos de selección múltiple, la función recupera estas opciones y devuelve un valor fácil de interpretar para el usuario.

Los tipos compatibles son: «Adjuntos», «Casilla de verificación», «Fecha», «DateTime», «Decimal», «Despliegue de dispositivos», «Device MultiSelect», «Dropdown», «Email», «Integer», «IP Address», «MultiLine», «MultiSelect», «Organization Dropdown», «Organization Location Dropdown», «Organization Location MultiSelect», «Organization MultiSelect», «Phone», «Secure», «Text», «Time», «WYSIWYG» y «URL».

La sintaxis es la siguiente: Get-NinjaProperty [-Nombre] <STRING[]> [[-Tipo] <STRING>] [[-DocumentName] <STRING>] [<COMMONPARAMETERS>]

Ejemplos

Al recuperar un menú desplegable de campo personalizado sin especificar el tipo, se devuelve el valor GUID de la opción seleccionada en el menú desplegable.

powershell1-upscaled.png
Figura 1: No tipo de campo especificado (haz clic para ampliar)

Al recuperar el menú desplegable de un campo personalizado especificando el tipo de campo personalizado (menú desplegable), el comando devuelve el valor legible para el usuario que se ve en la plataforma, en lugar del valor GUID.

powershell2-upscaled.png
Figura 2: Tipode campo especificado (haz clic para ampliar)

Establecer-NinjaProperty

El comando Set-NinjaProperty es una evolución del comando original Ninja-Property-Set. La función Set-NinjaProperty configura un campo personalizado en función de los parámetros proporcionados. Cuando se le indica un tipo de campo personalizado, intenta convertir el valor proporcionado a uno compatible con ese campo concreto. Por ejemplo, si se le proporciona un objeto DateTime y se especifica el tipo «Date», convierte el objeto de fecha en una marca de tiempo de la época Unix y establece el campo con ese valor.

También puede establecer campos desplegables y de selección múltiple utilizando los nombres de los campos en lugar de sus GUID.

Los tipos compatibles son: Casilla de verificación, Fecha, Fecha o Fecha y hora, DateTime, Decimal, Lista desplegable, Correo electrónico, Entero, Dirección de IP, Multilínea, Selección múltiple, Teléfono, Seguro, Texto, Hora, URL y WYSIWYG.

Ejemplos

Para configurar un campo personalizado de menú desplegable sin especificar el tipo de campo personalizado, es necesario el valor GUID único de la opción de menú desplegable deseada.

powershell3-upscaled.png
Figura 3: No tipo de campo especificado (haz clic para ampliar)

Al configurar un campo personalizado de menú desplegable y especificar el tipo de campo personalizado como «menú desplegable», se puede utilizar el valor intuitivo que se muestra en la plataforma en lugar del valor GUID.

powershell4-upscaled.png
Figura 4: Tipode campo especificado (haz clic para ampliar)

Ambos comandos, Get-NinjaProperty y Set-NinjaProperty, tienen soporte completo para Unicode, por lo que puede establecer y recuperar emojis mediante ellos.

Puede acceder a detalles adicionales y ejemplos de ambos comandos abriendo PowerShell en un dispositivo que tenga instalado el agente de NinjaOne e introduciendo:

Obtener ayuda para Get-NinjaProperty

O

Obtener ayuda para Set-NinjaProperty

Todos los comandos originales de NinjaOne para Powershell siguen funcionando tal y como se diseñaron inicialmente. Dichos comandos son:

Ninja-Property-Get $AttributeName
Ninja-Property-Set $AttributeName $Value
Ninja-Property-Options $AttributeName
Ninja-Property-Clear $AttributeName

Comandos de documentación

Ninja-Property-Docs-Plantillas
Ninja-Property-Docs-Nombres $TemplateId
Ninja-Property-Docs-Nombres "$TemplateName"
Ninja-Property-Docs-Get $TemplateId "$DocumentName" $AttributeName
Ninja-Property-Docs-Establecer $TemplateID "$DocumentName" $AttributeName "valor"
Ninja-Property-Docs-Get-Single "nombre de la plantilla" "nombre del campo"
Ninja-Property-Docs-Establecer-Single "nombre de la plantilla" "nombre del campo" "Nuevo valor"
Ninja-Property-Docs-Borrar
Ninja-Property-Docs-Options
Ninja-Property-Docs-Clear-Single: borra el valor de un único documento por nombre de plantilla (se requieren comillas, representado como NULL)
Ninja-Property-Docs-Options-Single: obtiene la lista de valores válidos para el nombre de un atributo de un único documento por nombre de plantilla (aplicable a atributos de menú desplegable y de selección múltiple)

Interacción con campos personalizados mediante comandos de la CLI de Windows, scripts personalizados por lotes, ShellScript en UNIX o scripts personalizados de ShellScript

Los ejemplos de esta sección muestran cómo utilizar comandos y scripts por lotes para tipos específicos de campos personalizados. Describen llamadas a ninjarmm-cli sin una ruta completa, pero puedes especificar la ruta completa en función de tu plataforma, tal y como se ha descrito anteriormente en este artículo. No hay diferencias entre las llamadas a la utilidad de la CLI en las distintas plataformas.

Marca de tiempo

El tiempo se calcula de la siguiente manera:

  • El Sistema toma como referencia el 1 de enero de 1970 en las 00:00:00 UTC como la época Unix.
  • El valor de la fecha corresponde a los segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC.Puedes utilizar una herramienta de conversión de marcas de tiempo para obtener este valor en un formato de fecha legible para el ser humano.
  • Si se establece el valor en formato ISO, se convertirá en segundos desde el 1 de enero de 1970 en UTC.

Los ejemplos de esta sección muestran cómo utilizar comandos o scripts de Powershell para tipos específicos de campos personalizados.

Selecciona un tema para continuar:

Casilla de verificación

Para el campo «Casilla de verificación», el valor establecido debe ser «verdadero» (1) o «falso» (0).

Obtener:

# obtener el valor del campo de casilla de verificación
> ninjarmm-cli get globalcheckbox
0

Establecer:

# establecer un valor booleano en el campo de casilla de verificación
> ninjarmm-cli set globalcheckbox 0
0
> ninjarmm-cli set globalcheckbox 1
1
> ninjarmm-cli set globalcheckbox true
1
> ninjarmm-cli set globalcheckbox false
0

Fecha

Para el campo «Fecha», el valor establecido debe expresarse en segundos o en formato ISO (Organización Internacional de Normalización) (aaaa-mm-dd en UTC).

Obtener:

# obtener el valor del campo «fecha»
> ninjarmm-cli get globaldate
456

Establecer:

# establecer valor en el campo de fecha
> ninjarmm-cli set globaldate 1626875470000

> ninjarmm-cli set testdate 2021-10-15
1634256000

Fecha/hora

Para el campo de Fecha/hora, el valor establecido debe estar en segundos o en formato ISO (aaaa-mm-dd o hh:mm:ss en UTC).

Obtener:

# obtener el valor del campo de fecha y hora
> ninjarmm-cli get globaldatetime
1626875470000

Establecer:

# establecer valor en el campo de fecha y hora
> ninjarmm-cli set globaldatetime 1626875470000
1626875470000

> ninjarmm-cli set testdatetime 2021-10-15T00:00:00
1634256000

Decimal

Para el campo «Decimal», el valor establecido debe ser un número y estar dentro del rango de -9999999,999999 a 9999999,999999.

Obtener:

# obtener el valor del campo decimal
> ninjarmm-cli get globaldecimal
123,456

Establecer:

# establecer un valor en el campo decimal
> ninjarmm-cli set typedecimal 1
1

> ninjarmm-cli set typedecimal 1,23
1,23

> ninjarmm-cli set typedecimal 1,23
1,23

> ninjarmm-cli set typedecimal 1.2345678901234567890
1.234567 # truncado a la precisión máxima; es mejor no utilizar un valor más corto para evitar problemas de conversión de tipos de datos

> ninjarmm-cli set typedecimal 1234567890.1234567890
1234567890,123457

Menú desplegable

Para el campo «Menú desplegable», el valor establecido debe coincidir exactamente con una opción válida, ya sea utilizando el GUID (identificador único global) o el nombre del campo tal y como aparece en la lista al ejecutar el comando «options».

Opciones:

# mostrar las opciones del campo desplegable
> ninjarmm-cli options globaldropdown
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Opción1
f1ba449c-fd34-49df-b878-af3877180d17=Opción3

Obtener el GUID por nombre de opción:

# busca el GUID de la opción por su nombre para el campo desplegable
> ninjarmm-cli options globaldropdown | grep "Opción 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Obtener:

# obtener el valor del campo desplegable
> ninjarmm-cli get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981a

Establecer:

# establecer el valor del campo desplegable
> ninjarmm-cli set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

Correo electrónico

Obtener:

# obtener el valor almacenado
> ninjarmm-cli get typeemail
[email protected]

Establecer:

# valores correctos
> ninjarmm-cli set typeemail [email protected]
[email protected]

> ninjarmm-cli set typeemail [email protected]
[email protected]

# establecer valores incorrectos
> ninjarmm-cli set typeemail [email protected]
Error: Formato o tipo de valor incorrecto...

Entero

Para el campo «Entero», el valor establecido debe ser un número entero (un número sin decimales) dentro del rango de -2147483648 a 2147483647.

Obtener:

# obtener el valor del campo entero
> ninjarmm-cli get globalinteger
456

Establecer:

# establecer el valor del campo «Entero»
> ninjarmm-cli set globalinteger 123

Dirección de IP

En el campo de la dirección IP, el valor que se establezca debe estar en formato IPv4 (Protocolo de Internet versión 4) o IPv6 (Protocolo de Internet versión 6).

Obtener:

# obtener el valor almacenado
> ninjarmm-cli get typeipaddress
192.168.1.100

Establecer:

# establecer valores correctos
> ninjarmm-cli set typeipaddress 255.255.255.255
255.255.255.255

> ninjarmm-cli set typeipaddress 0.0.0.0
0.0.0.0

# establecer valores incorrectos
> ninjarmm-cli set typeipaddress 192.168.1.
Error: Formato o tipo de valor incorrecto...

> ninjarmm-cli set typeipaddress 255.255.255.256
Error: Formato o tipo de valor incorrecto...

> ninjarmm-cli set typeipaddress 0.-1.0.0
Error: Formato o tipo de valor incorrecto...

Múltiples líneas

Obtener:

# obtener campo de múltiples líneas
> ninjarmm-cli get globalmultiline
sampletext1

Establecer:

# establecer un campo de texto
> ninjarmm-cli set globalmultiline sampletext2

Establecer (alternativa):

# establecer un campo de texto con datos canalizados
> ls -alh | ninjarmm-cli set globalmultiline

NinjaOne admite el uso de una única cadena de múltiples líneas si se utiliza el carácter de control `n (la tecla «backtick» o «backspark» más la letra «n»). El texto debe introducirse en la línea de comandos como una sola línea debido a las restricciones de la CLI o la terminal, y tiene un límite de 10 000 caracteres. También puedes incluir espacios si pones toda la cadena entre comillas. Cuando utilices estos caracteres de control, los datos se mostrarán de la siguiente manera:

Ninja-Property-Set multiline «línea con espacios'nlínea2'nlínea3'nvalor final»

multiline
línea con espacios
línea2
línea3
valor final

La sintaxis predeterminada del comando «Set» es suficiente para la mayoría de los casos. Con la sintaxis predeterminada, la herramienta «ninjarmm-cli» toma los datos de los argumentos de la línea de comandos. Sin embargo, a veces esto no es suficiente y es necesario obtener los datos del canal stdin (entrada estándar).

Por ejemplo, cuando necesitas establecer datos en el campo de texto múltiple líneas , o quieres obtener la salida de un archivo y almacenarla en el campo. O bien, para evitar que se rompan las tabulaciones o los espacios en la salida formateada de otras aplicaciones.

Para ello, la herramienta CLI ofrece una sintaxis alternativa con el parámetro --stdin. Así pues, al utilizar este argumento, debes proporcionar los datos como entrada en el canal stdin, usando tuberías de Unix. Por ejemplo: dir | ninjarmm-cli set --stdin [Nombre del campo] o cat /proc/cpuinfo | grep vendor_id | ninjarmm-cli set --stdin [Otro nombre del campo]. Los datos canalizados se almacenarán en el campo de destino si cumplen todas las condiciones del tipo de campo.

Selección múltiple

Opciones:

# lista de opciones para el campo de selección múltiple
> ninjarmm-cli options globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Opción2
74a6ffda-708e-435a-86e3-40b67c4f981a=Opción 1
f1ba449c-fd34-49df-b878-af3877180d17=Opción 3

Obtener el GUID por nombre de opción:

# Buscar el GUID de una opción por su nombre en el campo de selección múltiple
> ninjarmm-cli options globalmultiselect | grep "Opción 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Establecer:

# establecer varios valores para el campo de selección múltiple, separados por comas
> ninjarmm-cli set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008,74a6ffda-708e-435a-86e3-40b67c4f981a

Obtener:

# obtener los valores del campo de selección múltiple
> ninjarmm-cli get globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Número de teléfono

Obtener:

# obtener el valor almacenado
ninjarmm-cli get typephone
+1234567890

Establecer:

# establecer los valores correctos
> ninjarmm-cli set typephone +77013273916
+77013273916

> ninjarmm-cli set typephone 123456789012344567
123456789012344567

> ninjarmm-cli set typephone +123456789012344567
+123456789012344567

# establecer valores incorrectos
> ninjarmm-cli set typephone 14953273916qwerty
Error: Formato o tipo de valor incorrecto...

> ninjarmm-cli set typephone 1234567890123445678 # demasiado largo
Error: Formato o tipo de valor incorrecto...

> ninjarmm-cli set typephone ++123456789012344567
Error: Formato o tipo de valor incorrecto...

Campo seguro

Para evitar que los valores de los campos seguros se muestren en la salida del script en dispositivos Windows, el script debe incluir @echo off y @echo on alrededor del código que llama a %NINJARMMCLI% set [nombre del campo seguro] [valor seguro]. De forma predeterminada, Windows muestra todos los comandos que los usuarios introducen o ejecutan.

Para evitar que los valores de los campos seguros se muestren en la salida del script en dispositivos Unix (macOS o Linux), el script no debe contener set -x antes de ejecutarse. Esta omisión evita que se muestren los comandos ejecutados que contengan valores seguros.

Obtener: 

# obtener campo seguro
> ninjarmm-cli get globalsecure
sampletext1

Establecer:

# establecer un campo seguro
> ninjarmm-cli set globalsecure sampletext2

Texto

Obtener:

# obtener campo de texto
> ninjarmm-cli get globaltext
texto de ejemplo 1

Establecer:

# establecer campo de texto
> ninjarmm-cli set globaltext sampletext2

Tiempo

En el campo «Tiempo», el valor establecido debe expresarse en segundos o en formato ISO (hh:mm:ss).

Obtener:

# obtener el valor del campo de hora
> ninjarmm-cli get globaldatetime
120

Establecer:

# establecer un valor en el campo «Tiempo»
> ninjarmm-cli set globaldatetime 3600
3600

> ninjarmm-cli set testdatetime 00:00:00
0

URL

El campo URL tiene un límite de 200 caracteres y debe comenzar con https://.

Obtener:

# obtener el campo URL
> ninjarmm-cli get url
https://www.google.com

Establecer:

# establecer el campo URL
> ninjarmm-cli set url https://www.ninjarmm.com

Campos de documentación

Obtener:

# obtener la lista de plantillas
> ninjarmm-cli templates
1=plantilla 1
2=plantilla 2

# obtener la lista de documentos por ID de plantilla
> ninjarmm-cli documents 2
16=plantilla 2

# obtener la lista de documentos por nombre de plantilla
> ninjarmm-cli documents "plantilla 2"
16=plantilla 2

# obtener el valor del campo de un documento
> ninjarmm-cli get "plantilla 2" "plantilla 2" nombre_campo
Este es el valor del campo

Establecer:

# establecer un atributo en el documento o atributo especificado mediante el nombre del documento y el ID o nombre de la plantilla (se requieren comillas)
> ninjarmm-cli org-set "plantilla 2" "ExampleDoc" ExampleTextField "SampleText1"

# Establecer un atributo en un único documento/atributo por nombre de plantilla (se requieren comillas)
> ninjarmm-cli org-set «plantilla 2» ExampleTextField «SampleText1»

# Borra el valor de un documento mediante el nombre del documento y el ID o nombre de la plantilla (se requieren comillas; se representa como NULL)
> ninjarmm-cli org-clear "template 2" "ExampleDoc" ExampleTextField

# Borra el valor de un documento concreto mediante el nombre de la plantilla (se requieren comillas; se representa como NULL)
> ninjarmm-cli org-clear "template 2" ExampleTextField

Opciones:

# Obtener la lista de valores válidos para el nombre de un atributo de documento por nombre de documento e ID/nombre de plantilla (aplicable a atributos de menú desplegable y de selección múltiple)
> ninjarmm-cli org-options "plantilla 2" "ExampleDoc" ExampleTextField

# Obtener la lista de valores válidos para el nombre de un atributo de un documento concreto por nombre de plantilla (aplicable a atributos de menú desplegable y de selección múltiple)
> ninjarmm-cli org-options "plantilla 2" ExampleTextField

Interacción con campos personalizados mediante comandos de Powershell o scripts personalizados

Los ejemplos de esta sección muestran cómo utilizar comandos de PowerShell o scripts para tipos específicos de campos personalizados. Utiliza los enlaces siguientes para acceder a los scripts que desees consultar:

Casilla de verificación

Para el campo «Casilla de verificación», el valor establecido debe ser «verdadero» (1) o «falso» (0).

Obtener:

# obtener el valor del campo de casilla de verificación
> Ninja-Property-Get globalcheckbox
0

Establecer:

# establecer un valor booleano en el campo de casilla de verificación
> Ninja-Property-Set globalcheckbox 0
0
> Ninja-Property-Set globalcheckbox 1
1
> Ninja-Property-Set globalcheckbox true
1
> Ninja-Property-Set globalcheckbox falso
0

Fecha

Para el campo «Fecha», el valor que se establezca debe estar en segundos o en formato ISO (aaaa-mm-dd en UTC).

Obtener:

# obtener el valor del campo de fecha
> Ninja-Property-Get globaldate
456

Establecer:

# establecer el valor del campo «Fecha»
> Ninja-Property-Set globaldate 1626875470000

> Ninja-Property-Set testdate 2021-10-15
1634256000

Fecha/hora

Obtener:

# obtener el valor del campo de fecha y hora
> Ninja-Property-Get globaldatetime
1626875470000

Establecer:

# establecer el valor del campo de fecha y hora
> Ninja-Property-Set globaldatetime 1626875470000
1626875470000

> Ninja-Property-Set testdatetime 2021-10-15T00:00:00
1634256000

Decimal

Obtener:

# obtener el valor de un campo decimal
> Ninja-Property-Get globaldecimal
123,456

Establecer:

# establecer valor en un campo decimal
> Ninja-Property-Set typedecimal 1
1

> Ninja-Property-Set typedecimal 1,23
1,23

> Ninja-Property-Set typedecimal 1,23
1,23

> Ninja-Property-Set typedecimal 1,2345678901234567890
1.234567 # truncado a la precisión máxima; es mejor no utilizar una precisión mayor para evitar problemas de conversión de tipos de datos

> Ninja-Property-Set typedecimal 1234567890,1234567890
1234567890,123457

Menú desplegable

Opciones:

# lista de opciones para el campo desplegable
> Ninja-Property-Options globaldropdown
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Opción2
74a6ffda-708e-435a-86e3-40b67c4f981a=Opción1
f1ba449c-fd34-49df-b878-af3877180d17=Opción3

Obtener el GUID de una opción por su nombre:

# Buscar el GUID de la opción por su nombre para el campo desplegable
> Ninja-Property-Get globaldropdown | grep "Opción 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Obtener:

# obtener el valor del campo desplegable
> Ninja-Property-Get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981a

Establecer:

# establecer el valor del campo desplegable
> Ninja-Property-Set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

Correo electrónico

Obtener:

# obtener el valor almacenado
> Ninja-Property-Get typeemail
[email protected]

Establecer:

# corregir valores
> Ninja-Property-Set typeemail [email protected]
[email protected]

> Ninja-Property-Set typeemail [email protected]
[email protected]

# establecer valores incorrectos
> Ninja-Property-Set typeemail [email protected]
Error: Formato o tipo de valor incorrecto...

Entero

Para el campo «Entero», el valor establecido debe ser un número entero (sin decimales) dentro del rango de -2147483648 a 2147483647.

Obtener:

# obtener el valor del campo entero
> Ninja-Property-Get globalinteger
456

Establecer:

# establecer valor en el campo «Entero»
> Ninja-Property-Set globalinteger 123

Dirección de IP

En el campo de la dirección IP , el valor que se establezca debe estar en formato IPv4 (Protocolo de Internet versión 4) o IPv6 (Protocolo de Internet versión 6).

Obtener:

# obtener el valor almacenado
> Ninja-Property-Get typeipaddress
192.168.1.100

Establecer:

# establecer valores correctos
> Ninja-Property-Set typeipaddress 255.255.255.255
255.255.255.255

> Ninja-Property-Set typeipaddress 0.0.0.0
0.0.0.0

# establecer valores incorrectos
> Ninja-Property-Set typeipaddress 192.168.1.
Error: Formato o tipo de valor incorrecto...

> Ninja-Property-Set typeipaddress 255.255.255.256
Error: Formato o tipo de valor incorrecto...

> Ninja-Property-Set typeipaddress 0.-1.0.0
Error: Formato o tipo de valor incorrecto...

Múltiples líneas

Debido a restricciones de la CLI o la Terminal, el texto debe introducirse en la línea de comandos en una sola línea y está limitado a 10 000 caracteres.

Obtener:

# obtener campo de texto
> Ninja-Property-Get globaltext
sampletext1

Establecer:

# Establecer campo de texto
>Ninja-Property-Set globaltext texto de ejemplo 2

Selección múltiple

Opciones:

# listar opciones para un campo de selección múltiple
> Ninja-Property-Options globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Opción1
f1ba449c-fd34-49df-b878-af3877180d17=Opción3

Obtener el GUID de una opción por su nombre:

# Buscar el GUID de una opción por su nombre en el campo de selección múltiple
> Ninja-Property-Options globalmultiselect | grep "Opción 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40ba67c4f981a

Establecer:

# establecer varios valores para el campo de selección múltiple, separados por comas
> Ninja-Property-Set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008, 
74a6ffda-708e-435a-86e3-40b67c4f981a

Obtener:

# obtener los valores de un campo de selección múltiple
> Ninja-Property-Get globalmultiselect
333f541e-747e-4a1e-a1e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Número de teléfono

Obtener:

# obtener el valor almacenado
Ninja-Property-Get typephone
+1234567890

Establecer:

# establecer los valores correctos
> Ninja-Property-Set typephone +77013273916
+77013273916

> Ninja-Property-Set typephone 123456789012344567
123456789012344567

> Ninja-Property-Set typephone 123456789012344567
123456789012344567

> Ninja-Property-Set typephone +123456789012344567
+123456789012344567

# Valores incorrectos
> Ninja-Property-Set typephone 14953273916qwerty
Error: Formato o tipo de valor incorrecto...

> Ninja-Property-Set typephone 14953273916qwerty
Error: Formato o tipo de valor incorrecto...

> Ninja-Property-Set typephone 1234567890123445678 # demasiado largo
Error: Formato o tipo de valor incorrecto...

> Ninja-Property-Set typephone ++123456789012344567
Error: Formato o tipo de valor incorrecto...

Campo seguro

Obtener:

# obtener el campo «seguro»
> Ninja-Property-Get globalsecure
sampletext1

Establecer:

# Establecer campo seguro
>Ninja-Property-Set globalsecure sampletext2

Texto

Obtener:

# obtener campo de texto
> Ninja-Property-Get globaltext
textodeejemplo1

Establecer:

# Establecer campo de texto
>Ninja-Property-Set globaltext sampletext2

Tiempo

En el campo «Tiempo» , el valor establecido debe expresarse en segundos o en formato ISO (hh:mm:ss).

Obtener:

# obtener el valor del campo «Tiempo»
> Ninja-Property-Get globaldatetime
120

Establecer:

# establecer el valor del campo «Tiempo»
> Ninja-Property-Set globaldatetime 3600
3600

> Ninja-Property-Set testdatetime 00:00:00
0

URL

El campo URL tiene un límite de 200 caracteres y debe comenzar con «https://'».

Obtener:

# obtener el campo URL
> Ninja-Property-Get url
https://www.google.com

Establecer:

# establecer el campo URL
> Ninja-Property-Set url https://www.google.com

Campos de documentación

Obtener:

# obtener la lista de plantillas
> Ninja-Property-Docs-Templates
1=plantilla 1
2=plantilla 2

# obtener la lista de documentos por ID de plantilla
> Ninja-Property-Docs-Names 2
16=plantilla 2

# obtener la lista de documentos por nombre de plantilla
> Ninja-Property-Docs-Names «plantilla 2»
16=plantilla 2

# obtener el valor del campo de un documento
> Ninja-Property-Docs-Get «plantilla 2» «plantilla 2» nombre_campo
Este es el valor del campo

Establecer:

# establecer un atributo en el documento/atributo especificado mediante el nombre del documento y el ID/nombre de la plantilla (se requieren comillas)
> Ninja-Property-Docs-Set 2 "ExampleDoc" ExampleTextField

# establecer un atributo en un único documento/atributo mediante el nombre de la plantilla (se requieren comillas)
> Ninja-Property-Docs-Set-Single "plantilla 2" ExampleTextField "sampletext1"

# Borra el valor de un documento por el nombre del documento y el ID o nombre de la plantilla (se requieren comillas; se representa como NULL)
> Ninja-Property-Docs-Clear "plantilla 2" "ExampleDoc" ExampleTextField

# Borra el valor de un único documento por el nombre de la plantilla (se requieren comillas; se representa como NULL)
> Ninja-Property-Docs-Clear-Single "plantilla 2" ExampleTextField

Opciones:

# obtener la lista de valores válidos para el nombre de un atributo del documento por nombre del documento e ID/nombre de la plantilla (aplicable a atributos de menú desplegable y de selección múltiple)
> Ninja-Property-Docs-Options «plantilla 2» «ExampleDoc» ExampleTextField

# Obtener la lista de valores válidos para un nombre de atributo de un documento concreto por nombre de plantilla (aplicable a atributos de menú desplegable y de selección múltiple)
> Ninja-Property-Docs-Options-Single «plantilla 2» ExampleTextField

Recursos adicionales

Para obtener más información sobre la documentación, los campos personalizados, la CLI y la creación de scripts, consulta los siguientes artículos:

Interfaz de línea de comandos (CLI)

Usar la interfaz de línea de comandos (CLI) en NinjaOne.

Documentación y campos personalizados

Programación

FAQ

Próximos pasos