¿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

  • NinjaOne Endpoint Management
  • Documentación de NinjaOne

Descripción

El componente ninjarmm-cli es un archivo ejecutable que le 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 obtener más información:

Notas importantes

Antes de utilizar ninjarmm-cli, debe tener en cuenta lo siguiente:

  • Los campos seguros son de solo escritura para 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 ninjarmm-cli.exe reside en una carpeta protegida a la que los usuarios normales no tienen acceso, debe ejecutar cualquier script que utilice esta funcionalidad como el sistema, o debe cambiar los permisos en consecuencia.
  • En dispositivos Linux, debe añadir ./ delante de ninjarmm-cli en el terminal para ejecutar el comando correctamente.
  • En dispositivos Windows, si necesita almacenar la salida 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/WriteFile. Sin embargo, al hacerlo, puede perder la compatibilidad con la salida Unicode, que no funciona correctamente en algunas versiones de Windows con el canal stdout. Consulte el siguiente ejemplo de este comando:
 ninjarmm-cli --direct-out get [nombre del campo]

Acceso a campos seguros mediante automatizaciones

No se pueden superar los 200 caracteres en los campos seguros.

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 compuestas de scripts
  • Tareas programadas de políticas
  • Tareas programadas globales
  • Acciones «Ejecutar antes» en tareas de copia de seguridad, aplicación de parches, instalación de la aplicación y tareas similares
  • Acciones posteriores a la ejecución en tareas de copia de seguridad, aplicación de parches, instalación de la aplicación y tareas similares
  • Acciones de automatización en función de condiciones
  • Ejecutar automatización

Algunos aspectos importantes a tener en cuenta con respecto a los campos seguros incluyen:

  • 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 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:ProgramDataNinjaRMMAgentninjarmm-cli.exe
  • macOS: /Applications/NinjaRMMAgent/programdata/ninjarmm-cli
  • Linux: /opt/NinjaRMMAgent/programdata/ninjarmm-cli

En Windows, utilice la siguiente variable de entorno especial a nivel del sistema:

  • Windows: %NINJARMMCLI%paraC:ProgramDataNinjaRMMAgentninjarmm-cli.exe
  • Linux: $NINJA_DATA_PATH/ninjarmm-cli set $fieldname $variable

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

c:ProgramDataNinjaRMMAgentninjarmm-cli.exe help

ninjarmm-cli: herramienta CLI para acceder y gestionar los campos personalizados del agente 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 canalizados. 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 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

obtener "<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 plantilla única>" <nombre de atributo> - obtiene el atributo de un documento único por nombre de plantilla (se requieren comillas)

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

org-set "<nombre de plantilla única>" <nombre de atributo> "<valor del atributo y lista de valores separados por comas>" - establece el atributo en un documento/atributo único por nombre de plantilla (se requieren comillas)

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

org-clear "<nombre de una sola plantilla>" <nombre del atributo> - borra el valor de un único documento 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 nombre del documento e 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 documento por nombre de plantilla (aplicable a atributos desplegables y de selección múltiple)

Formato de salida:

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

en caso de éxito: sale con 0 e imprime el valor

en caso de error:   sale con 1 e imprime la descripción del error

Para leer el código de salida: Win: 'echo %errorlevel%', Unix: 'echo $?'

Tipos de atributos:

  CheckBox - Tipo booleano, valores aceptables: 0, 1, true, false

  Numeric - Tipo entero, valores comprendidos entre -2147483648 y 2147483647, admite configuraciones de filtro de entrada avanzadas.

  Decimal: tipo flotante, valores entre -9999999,999999 y 9999999,999999; admite la configuración del filtro de entrada avanzado.

  TextMultiLine, Text: cadena normal

  TextEmail: cadena normal; debe coincidir con el formato de correo electrónico RFC 5322

  TextIpAddress: cadena normal; debe coincidir con el formato IPv4 o IPv6; admite la configuración del filtro de entrada avanzado

  TextPhone: cadena regular; debe coincidir con el formato de número de teléfono E.164

  TextEncrypted: cadena cifrada regular; admite configuraciones avanzadas del filtro de entrada (solo de escritura para la documentación)

  DateTime: segundos enteros desde el inicio de la era Unix o formato ISO «aaaa-MM-ddTHH:mm:ss» sin zona horaria (UTC)

  Date: segundos enteros desde el inicio de la era Unix o formato ISO «aaaa-MM-dd»

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

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

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

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

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

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

  WYSIWYG: (solo lectura mediante CLI) objeto JSON con contenido HTML y TEXT

Módulo de NinjaOne para PowerShell

Al instalar el agente de NinjaOne, NinjaOne implementa y carga un módulo personalizado de NinjaOne PowerShell para interactuar con los campos personalizados. 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 dentro de PowerShell.

Comandos de PowerShell de NinjaOne

A continuación se detallan los comandos de PowerShell que puede 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 un valor de campo personalizado de Ninja en función del nombre y el tipo de campo especificados.

El comando acepta un nombre de 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, Date, DateTime, Checkbox, Dropdown, 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 usar.

Los tipos admitidos incluyen: Archivo adjunto, Casilla de verificación, Fecha, Fecha y hora, Decimal, Menú desplegable de dispositivo, Selección múltiple de dispositivo, Menú desplegable, Correo electrónico, Entero, Dirección IP, Multilínea, Selección múltiple, Menú desplegable de organización, Menú desplegable de ubicación de organización, Selección múltiple de ubicación de organización, Selección múltiple de organización, Teléfono, Seguro, Texto, Hora, WYSIWYG y URL.

La sintaxis es la siguiente: Get-NinjaProperty [-Name] <String[]> [[-Type] <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.

Figura 1: Sin tipo de campo especificado (haga 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 dentro de la plataforma en lugar del valor GUID.

Figura 2: Tipode campo especificado (haga clic para ampliar)

Set-NinjaProperty

El comando Set-NinjaProperty es una evolución del comando original Ninja-Property-Set. La función Set-NinjaProperty establece un campo personalizado basándose en los parámetros proporcionados. Cuando se le proporciona un tipo de campo, intenta convertir el valor proporcionado a uno compatible con ese campo en particular. Por ejemplo, cuando 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 admitidos incluyen: Casilla de verificación, Fecha, Fecha o Fecha y hora, DateTime, Decimal, Despliegable, Correo electrónico, Entero, Dirección IP, Multilínea, Selección múltiple, Teléfono, Seguro, Texto, Hora, URL y WYSIWYG.

Ejemplos

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

Figura 3: Sin tipo de campo especificado (haga clic para ampliar)

Configurar un campo personalizado desplegable especificando el tipo de campo como «desplegable» le permite utilizar el valor fácil de usar que se muestra dentro de la plataforma en lugar del valor GUID.

Figura 4: Tipode campo especificado (haga clic para ampliar)

Ambos comandos, Get-NinjaProperty y Set-NinjaProperty, son totalmente compatibles con Unicode, por lo que puede configurar y recuperar emojis a través de ellos.

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

Get-Help Get-NinjaProperty

O

Get-Help Set-NinjaProperty

Todos los comandos originales de NinjaOne para PowerShell siguen funcionando tal y como se diseñaron originalmente. 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-Templates
Ninja-Property-Docs-Names $TemplateId
Ninja-Property-Docs-Names "$TemplateName"
Ninja-Property-Docs-Get $TemplateId "$DocumentName" $AttributeName
Ninja-Property-Docs-Set $TemplateID "$DocumentName" $AttributeName "value"
Ninja-Property-Docs-Get-Single "templateName" "fieldName"
Ninja-Property-Docs-Set-Single "templateName" "fieldName" "new value"
Ninja-Property-Docs-Clear
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 documento único 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 puede especificar la ruta completa en función de su 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 diferentes plataformas.

Marca de tiempo

La hora se calcula de la siguiente manera:

  • El sistema toma como referencia el 1 de enero de 1970 a 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.Puede 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 establece el valor en formato ISO, se convertirá a los segundos transcurridos 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.

Seleccione 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 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 estar en segundos o en formato ISO (Organización Internacional de Normalización) (aaaa-mm-dd en UTC).

Obtener:

# obtener el valor del campo de 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 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 comprendido entre -9999999,999999 y 9999999,999999.

Obtener:

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

Establecer:

# establecer 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 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 cuando se ejecuta el comando options.

Opciones:

# listar opciones para el 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 el nombre de la opción 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 Integer, el valor establecido debe ser un entero (un número entero 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 IP

Para el campo IP, el valor establecido 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...

Varias líneas

Obtener:

# obtener campo multilínea
> ninjarmm-cli get globalmultiline
sampletext1

Establecer:

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

Establecer (alternativa):

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

NinjaOne admite el uso de una sola cadena multilínea 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 está limitado a 10 000 caracteres. También puede incorporar espacios colocando toda la cadena entre comillas. Al utilizar 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. Pero a veces 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 multilínea , o quieres obtener la salida del archivo y almacenarla en el campo. O bien, para evitar la ruptura de tabulaciones o 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, debe proporcionar los datos como entrada en el canal stdin, utilizando tuberías de Unix. Por ejemplo: dir | ninjarmm-cli set --stdin [nombre de mi campo] o cat /proc/cpuinfo | grep vendor_id | ninjarmm-cli set --stdin [otro nombre de campo]. Los datos canalizados se almacenarán en el campo de destino si cumplen todas las condiciones de tipo de campo.

Selección múltiple

Opciones:

# listar 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ón1
f1ba449c-fd34-49df-b878-af3877180d17=Opción3

Obtener el GUID por nombre de opción:

# busca el GUID de la opción por el nombre de la opción para 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 valores para el 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 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/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...

Seguro

Para evitar que los valores de los campos seguros se muestren en la salida del script en dispositivos Windows, el script debe contener @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 repitan los comandos ejecutados que contienen valores seguros.

Obtener: 

# obtener campo seguro
> ninjarmm-cli get globalsecure
sampletext1

Establecer:

# establecer campo seguro
> ninjarmm-cli set globalsecure sampletext2

Texto

Obtener:

# obtener campo de texto
> ninjarmm-cli get globaltext
sampletext1

Establecer:

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

Hora

Para el campo Hora, el valor establecido debe estar en segundos o en formato ISO (hh:mm:ss).

Obtener:

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

Establecer:

# establecer valor en el campo de hora
> 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 por 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 lista de plantillas
> ninjarmm-cli templates
1=plantilla 1
2=plantilla 2

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

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

# obtener el valor de un 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/atributo especificado por nombre de documento e ID/nombre de 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 del documento por nombre de documento e ID/nombre de plantilla (se requieren comillas, representado como NULL)
> ninjarmm-cli org-clear "template 2" "ExampleDoc" ExampleTextField

# borra el valor de un único documento por nombre de plantilla (se requieren comillas, representado 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 "template 2" ExampleTextField

Interactuar con campos personalizados mediante comandos de PowerShell o scripts personalizados

Los ejemplos de esta sección muestran cómo utilizar comandos o scripts de PowerShell para tipos específicos de campos personalizados. Utilice los enlaces siguientes para acceder a los scripts que desee 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 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 false
0

Fecha

Para el campo Fecha, el valor establecido 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 valor en el campo de 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 valor en el 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 del campo decimal
> Ninja-Property-Get globaldecimal
123,456

Establecer:

# establecer valor en 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 usar más precisión 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 la opción por su nombre:

# busca el GUID de la opción por el nombre de la opción para el campo desplegable
> Ninja-Property-Get globaldropdown | grep "Option1" | 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 entero (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 IP

Para el campo IP , el valor establecido 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...

Varias líneas

Debido a restricciones de la CLI o del 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 el 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 la opción por nombre de opción:

# buscar el GUID de la opción por el nombre de la opción para 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 valores para el 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 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...

Seguro

Obtener:

# obtener 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
sampletext1

Establecer:

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

Hora

Para el campo Hora , el valor establecido debe estar en segundos o en formato ISO (hh:mm:ss).

Obtener:

# obtener valor del campo de hora
> Ninja-Property-Get globaldatetime
120

Establecer:

# establecer valor en el campo de hora
> 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 por «https://».

Obtener:

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

Establecer:

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

Campos de documentación

Obtener:

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

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

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

# obtener el valor de un campo del 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 por nombre de documento e ID/nombre de plantilla (se requieren comillas)
> Ninja-Property-Docs-Set 2 "ExampleDoc" ExampleTextField

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

# borra el valor del documento por nombre de documento e id/nombre de plantilla (se requieren comillas, representado como NULL)
> Ninja-Property-Docs-Clear "plantilla 2" "ExampleDoc" ExampleTextField

# borra el valor de un único documento por nombre de plantilla (se requieren comillas, representado como NULL)
> Ninja-Property-Docs-Clear-Single "plantilla 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)
> Ninja-Property-Docs-Options "plantilla 2" "ExampleDoc" ExampleTextField

# obtener la lista de valores válidos para un nombre de atributo de documento único por nombre de plantilla (aplicable a atributos de menú desplegable y 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, consulte los siguientes artículos:

Interfaz de línea de comandos (CLI)

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

Documentación y campos personalizados

Scripting

FAQ

Próximos pasos