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

Campos personalizados avanzados

En este documento, cubriremos cómo interactuar desde el SO con campos personalizados avanzados. Se trata de una poderosa herramienta para los administradores de TI con la que pueden supervisar y controlar casi cualquier cosa con NinjaOne.

También mostraremos qué herramientas ofrece NinjaOne para este fin, y algunos ejemplos.

¿Cómo interactuar con el sistema operativo y los campos personalizados de NinjaOne?

Hay dos maneras, NinjaRMM-Cli y PowerShell.

1. NinjaRMM-Cli es una herramienta de línea de comandos que puede utilizarse en el sistema operativo junto con el lenguaje de scripting nativo del SO (Batch, Bash, ShellScript, PowerShell). Esta herramienta dispone de comandos específicos para interactuar con los campos personalizados.

La herramienta NinjaRMM-Cli se instala en un endpoint cuando el agente NinjaOne se instala en un endpoint Windows, Mac o Linux.

Dependiendo del sistema operativo, la ruta para este archivo ejecutable puede estar en las siguientes carpetas.

  • Windows: C:\ProgramData\NinjaRMMAgent\ninjarmm-cli.exe.
  • Mac: /Applications/NinjaRMMAgent/programdata/ninjarmm-cli.
  • Linux: /opt/NinjaRMMAgent/programdata/ninjarmm-cli.

NinjaRMM-Cli get es el comando utilizado para obtener o leer un valor de campo personalizado.

NinjaRMM-Cli set es el comando utilizado para asignar un valor a un campo personalizado.

La sintaxis es ninjarmm-cli set value (set debe estar en minúsculas)

2. PowerShell es una herramienta de automatización de tareas y gestión de la configuración que utiliza una consola de línea de comandos y un lenguaje de scripting basado en .NET.

Las claves para interactuar entre el sistema operativo y NinjaOne usando PowerShell son los comandos Ninja-Property-Get y Ninja-Property-Set.

Ninja-Property-Get es el comando PowerShell de NinjaOne para obtener o leer un valor de campo personalizado. La sintaxis es la siguiente: Ninja-Property-Get fieldName.

Ninja-Property-Set es el comando PowerShell de NinjaOne para establecer un campo personalizado a un valor específico. La sintaxis es la siguiente: Ninja-Property-Set fieldName Valor.

Estrategias para campos personalizados

A continuación mostramos dos ejemplos de cómo utilizar campos personalizados, ambos tienen el mismo objetivo, determinar si un dispositivo está unido a un dominio o no. Un ejemplo es usando NinjaRMM-Cli, y el otro es usando PowerShell. Vamos a crear un campo personalizado de rol, de tipo casilla, llamado domainjoined. Servirá para ambos ejemplos; la diferencia estará en las automatizaciones.

 1. Crea un campo personalizado de rol llamado domainjoined y asígnalo a portátiles, ordenadores y servidores Windows.

a) Ve a Administración, luego a Dispositivos, luego a Campos personalizados.

b) Haz clic en Añadir y, a continuación, selecciona Campo. Aparecerá un cuadro de diálogo.

c) Rellena la etiqueta y el nombre. La etiqueta es Domainjoined; el nombre es domainjoined.

d) Selecciona la casilla Tipo de campo.

e) Haz clic en Crear.

f) Asigna permisos para técnicos como solo lectura, permisos para automatizaciones como leer/escribir y permisos para API como leer/escribir.

g) Rellena opcionalmente la descripción, el texto de la información sobre herramientas y el texto del pie de página. También puedes elegir si este campo personalizado es obligatorio.

h) Haz clic en Guardar. Mira la siguiente captura de pantalla que muestra el cuadro de diálogo Crear campo personalizado de rol.

i) Ve a Administración, luego a Dispositivos, luego a Funciones (o roles)

j) Pon el ratón por encima del rol de dispositivo de Windows Server. Aparecerá a la derecha el botón Editar. Haz clic sobre él. Aparecerá un cuadro de diálogo.

k) Haz clic en Añadir. Selecciona Campo.

l) En el menú desplegable, selecciona el campo personalizado Domain Joined.

m)Haz clic en Guardar.

n) Repite el proceso para los roles de los ordenadores y portátiles Windows.

2. Crea una automatización PowerShell llamada ChkIfDomainJoinedPS.

a) Ve a Administración, luego a Biblioteca y luego a Automatización.

b) Haz clic en Añadir y, a continuación, selecciona Nuevo script. Aparecerá el cuadro de diálogo de creación de script.

c) Rellena el campo nombre con este nombre: ChkIfDomainJoinedPS.

d) Opcionalmente, rellena la descripción.

e) En Categoría, selecciona la de tu preferencia.

f) En Idioma, selecciona PowerShell.

g) En Sistema operativo, selecciona Windows.

h) En Arquitectura, selecciona Todas.

i) Deja vacíos los campos Variables de script y Parámetros.

j) En el lado izquierdo, pega el siguiente código.

if ((gwmi win32_computersystem).partofdomain -eq $true) {

Ninja-Property-Set fieldName 1

} else {

Ninja-Property-Set fieldName 0

}

k) Haz clic en Guardar. Introduce la respuesta de tu método MFA y cierra.

3. Crea una automatización por lotes denominada ChkIfDomainJoinedBatch.

a) Ve a Administración, luego a Biblioteca y luego a Automatización.

b) Haz clic en Añadir y, a continuación, selecciona Nuevo script. Aparecerá el cuadro de diálogo de creación de script.

c) Rellena el campo nombre con este nombre: ChkIfDomainJoinedBatch.

d) Opcionalmente, rellena la descripción.

e) En Categoría, selecciona la de tu preferencia.

f) En Idioma, selecciona Lote.

g) En Sistema operativo, selecciona Windows.

h) En Arquitectura, selecciona Todas.

i) Deja vacíos los campos Variables de script y Parámetros.

j) En el lado izquierdo, pega el siguiente código:

@echo off

for /F “tokens=1*” %%G in (‘SYSTEMINFO ^| FIND /I “Domain:”‘) do set “sDomain=%%~H”

IF “%sDomain%”==”WORKGROUP” (

C:\ProgramData\NinjaRMMAgent\NinjaRMM-Cli set domainjoined 0

) ELSE (

C:\ProgramData\NinjaRMMAgent\NinjaRMM-Cli set domainjoined 1

)

k) Haz clic en Guardar. Introduce la respuesta de tu método MFA y cierra.

Ahora, ve al Panel de Dispositivos y elige cualquier ordenador, portátil o servidor Windows. Comprueba el estado del campo personalizado Domain Joined. Debería decir Sin valor. Ejecuta el script ChkIfDomainJoinedPS.

A continuación, elige cualquier otro ordenador, portátil o servidor Windows y repite el procedimiento anterior pero, esta vez, ejecuta el script ChkIfDomainJoinedBatch.

Transcurridos unos segundos, podrás comprobar el campo personalizado Domain Joined en ambos dispositivos, y el estado del campo personalizado se actualizará en consecuencia.

Puedes ir más allá creando una tarea programada y ejecutarla periódicamente en todos tus dispositivos Windows para mantener el estado actualizado.

FAQ

Próximos pasos