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

Powershell: Set-NinjaProperty

Tema

En este artículo se explica cómo utilizar Set-NinjaProperty para establecer el valor de un campo personalizado en función de su nombre y tipo.

Si utilizas el módulo NinjaOne de PowerShell fuera de un script de automatización, es posible que tengas que ajustar la política de ejecución de PowerShell. Para obtener más información sobre las políticas de ejecución, consulta la documentación de Microsoft: Acerca de las políticas de ejecución ( enlace externo).

Entorno

  • NinjaOne
  • Microsoft Powershell

Descripción

El cmdlet Set-NinjaProperty te permite establecer el valor de un campo personalizado especificando su nombre, tipo y valor. Si se especifica un tipo, convierte automáticamente el valor proporcionado a un formato compatible con el tipo de campo personalizado especificado. Por ejemplo, si se proporciona un objeto DateTime y el tipo es «Date», el cmdlet convierte el valor a una marca de tiempo de la época Unix antes de establecer el campo.

Este cmdlet también permite establecer valores para campos desplegables y de selección múltiple utilizando nombres de campo en lugar de GUID. Los tipos de campo admitidos son: «Casilla de verificación», «Fecha», «Fecha», «DateTime», «Decimal», «
», «Dropdown», «Correo electrónico», «Integer», «Dirección de IP», «MultiLine», «MultiSelect», «Phone», «Secure», «Text», «Time», «URL» y «WYSIWYG».

Solo se pueden actualizar mediante este cmdlet los campos con permisos de escritura de automatización. El campo personalizado especificado se actualiza después de la siguiente sincronización correcta con la plataforma NinjaOne, lo que suele producirse en unos minutos. El dispositivo que ejecute este cmdlet debe ser un delegado del documento que contenga el campo personalizado si se utiliza el parámetro -DocumentName.

Sintaxis

Set-NinjaProperty [-Name] <STRING> [[-Value] <OBJECT>] [[-Type] <STRING>] [[-DocumentName] <STRING>] [-Force] [-WhatIf] [-Confirm] [<COMMONPARAMETERS>]

Ejemplos

Ejemplo 1: Campo personalizado de casilla de verificación

Set-NinjaProperty -Name "Desplegado" -Value $True -Type "Casilla de verificación"

Establece el campo personalizado «deployed» en «true». Valores aceptables para la casilla de verificación: 0, 1, True, False o un valor booleano.

Ejemplo 2: Campo personalizado de fecha

$DeploymentDate = Get-Date -Year "2026" -Mes "02" -Día "01" -Hora "0" -
Minuto "0" -Segunda "0"
Set-NinjaProperty -Nombre "deploymentDate" -Valor $DeploymentDate -Tipo "Fecha"

Establece el campo personalizado «deploymentDate» en la fecha especificada. Valores de fecha válidos: objetos DateTime o cadenas convertibles a DateTime.

Ejemplo 3: Campo personalizado de fecha y hora

$LastSeen = Get-Date -Year "2026" -Month "02" -Day "02" -Hora "13" -Minuto
"0" -Segundo "0"
Set-NinjaProperty -Nombre "lastSeen" -Valor $LastSeen -Tipo "Fecha"

Establece el campo personalizado «lastSeen» en la fecha y hora especificadas. Valores de fecha y hora válidos: objetos DateTime o cadenas convertibles a DateTime.

Ejemplo 4: Campo personalizado decimal

PS C:> Establecer-NinjaProperty -Nombre "pi" -Valor 3.14 -Tipo "Decimal"

En este ejemplo, el campo personalizado decimal «pi» se establece en 3,14. Valores decimales aceptables: cualquier número comprendido entre -9999999,999999 y 9999999,999999.

Ejemplo 5: Campo personalizado de menú desplegable

PS C:> Set-NinjaProperty -Name "favoriteBand" -Value "Mötley Crüe" -Type
"Dropdown"

En este ejemplo, el campo personalizado desplegable «favoriteBand» se establece en «Mötley Crüe» utilizando el nombre de la opción «
» en lugar del GUID. Valores aceptables para el menú desplegable: el nombre de una de las opciones predefinidas para el campo.

Ejemplo 6: Campo personalizado de correo electrónico

PS C:> Set-NinjaProperty -Name "supportEmail" -Value "[email protected]"
-Tipo "Correo electrónico"

En este ejemplo, el campo personalizado de correo electrónico «supportEmail» se establece en «[email protected]». Valores de correo electrónico aceptables: cualquier cadena que cumpla con el estándar oficial RFC 5322 para direcciones de correo electrónico.

Ejemplo 7: Campo personalizado de tipo entero

PS C:> Set-NinjaProperty -Name "favoriteNumber" -Value "42" -Tipo "Entero"

En este ejemplo, el campo personalizado «favoriteNumber» de tipo entero se establece en 42. Valores de entero aceptables: cualquier número entero comprendido entre -2147483648 y 2147483647.

Ejemplo 8: Campo personalizado de dirección de IP

PS C:> Set-NinjaProperty -Name "primaryDNS" -Value "1.1.1.1" -Type
"IPAddress"

En este ejemplo, el campo personalizado de dirección de IP «primaryDNS» se establece en «1.1.1.1». Valores de dirección de IP aceptables: cualquier cadena que represente una dirección IPv4 o IPv6 válida.

Ejemplo 9: Campo personalizado de múltiples líneas

PS C:> Set-NinjaProperty -Name "exampleMultiline" -Value "Línea 1`n`nLínea 3"
-Type "MultiLine"

En este ejemplo, el campo personalizado de varias líneas «exampleMultiline» se establece en una cadena con varias líneas de texto de formato `
`. Valores aceptables para campos de varias líneas: cualquier cadena que tenga menos de 10 000 caracteres.

Ejemplo 10: Campo personalizado de selección múltiple

PS C:> Set-NinjaProperty -Name "exampleMultiselect" -Value ("Valor 3",
"Opción 1") -Type "MultiSelect"

En este ejemplo, el campo personalizado de selección múltiple «exampleMultiselect» se configura con «Valor 3» y «Opción 1» utilizando los nombres de visualización en lugar de los GUID. Valores aceptables para la selección múltiple: una matriz de cadenas que representan los nombres de visualización de las opciones válidas que se pueden establecer, los cuales se pueden encontrar mediante el cmdlet Ninja-Property-Options.

Ejemplo 11: Campo personalizado «Teléfono»

PS C:> Set-NinjaProperty -Name «supportNumber» -Value «+18008675309» -Type
«Teléfono»

En este ejemplo, el campo personalizado de teléfono «supportNumber» se establece en «+18008675309». Valores aceptables para «Teléfono»: cualquier cadena que siga el estándar E.164 para números de teléfono, que incluye un signo más seguido del código de país y el número de abonado (por ejemplo, +18008675309).

Ejemplo 12: Campo personalizado seguro

PS C:> Set-NinjaProperty -Name "superSecretPassword" -Value "Hunter42" -
Tipo "Campo seguro"

En este ejemplo, el campo personalizado seguro «superSecretPassword» se establece en «Hunter42». Valores seguros aceptables: cualquier cadena que sea menos que 200 caracteres.

Ejemplo 13: Campo personalizado de texto

PS C:> Set-NinjaProperty -Name "exampleTextField" -Value "My Text Value" -
Tipo "Texto"

En este ejemplo, el campo personalizado de texto «exampleTextField» se establece en «My Text Value». Valores de texto aceptables: cualquier cadena que sea menos que 200 caracteres.

Ejemplo 14: Campo personalizado de hora

$UpdateTime = Get-Date -Hora "09" -Minuto "0" -Segundo "0"
PS C:> Set-NinjaProperty -Nombre "updateTime" -Valor $UpdateTime -Tipo "Time"

En este ejemplo, el campo personalizado de tipo «hora» updateTime se establece en las 9:00 a. m. Valores de hora aceptables: un objeto DateTime que represente una hora, o una cadena que pueda convertirse en un objeto DateTime.

Ejemplo 15: Campo personalizado «URL»

PS C:> Set-NinjaProperty -Name "exampleUrl" -Value
"https://www.ninjaone.com" -Type "URL"

En este ejemplo, el campo personalizado de URL «exampleUrl» se establece en «https://www.ninjaone.com». Valores de URL aceptables: cualquier cadena de menos de 200 caracteres que comience por https://.

Ejemplo 16: Campo personalizado WYSIWYG

PS C:> Set-NinjaProperty -Name "exampleWYSIWYG" -Value "<H1
style='color:#f015ca'>Hello World</H1>" -Type "WYSIWYG"

En este ejemplo, el campo personalizado WYSIWYG «exampleWYSIWYG» se establece en «<H1 style='color:#f015ca'>Hello World</H1>». Los campos personalizados WYSIWYG en la CLI aceptan HTML como valor, lo que permite el formato de texto enriquecido en el campo personalizado. Se recomienda utilizar comillas simples en el código HTML para evitar tener que escapar las comillas dobles en la cadena HTML al establecer el valor de un campo personalizado WYSIWYG. Valores WYSIWYG aceptables: cualquier cadena de menos de 199 999 caracteres. Para obtener los mejores resultados, la cadena debe contener código HTML válido, y se recomienda utilizar comillas simples en el código HTML para evitar tener que escapar las comillas dobles en la cadena HTML.

Parámetros

-Nombre

Especifica el nombre del campo personalizado del dispositivo o de la documentación cuyo valor deseas establecer.

Tipo: Cadena
Conjuntos de parámetros: (Todo)
Alias:
Requerido: Verdadero
Posición: 1
Valor predeterminado: Ninguno
Acepta entrada de pipeline: Falso
Acepta caracteres comodín: Falso
-Valor
-Valor

Especifica el valor que se va a establecer para el campo personalizado indicado.

Tipo: Objeto
Conjuntos de parámetros: (Todo)
Alias:
Requerido: Falso
Posición: 2
Valor por defecto: Ninguno
Acepta entrada del pipeline: Verdadero (por valor)
Acepta caracteres comodín: Falso
-Tipo

El tipo de campo personalizado, que determina cómo se procesa y convierte el valor proporcionado. Los tipos admitidos son: «Casilla de verificación», «Fecha», «Fecha y hora», «Decimal», «Menú desplegable», «Correo electrónico», «Entero», «Dirección de IP», «Multilínea», «Selección múltiple», «Teléfono», «Seguro», «Texto», «Hora», «URL» y «WYSIWYG».

Tipo: Cadena
Conjuntos de parámetros: (Todo)
Alias:
Requerido: Falso
Posición: 3
Valor predeterminado: Ninguno
Aceptar entrada del pipeline: Falso
Aceptar caracteres comodín: Falso
-DocumentName

Especifica el nombre del documento desde el cual se establecerá el valor del campo personalizado de documentación especificado.

Tipo: Cadena
Conjuntos de parámetros: (Todo)
Alias:
Requerido: Falso
Posición: 4
Valor por defecto: Ninguno
Acepta entrada del pipeline: Falso
Acepta caracteres comodín: Falso
-Force

Si no se especifica «confirm» y el cmdlet solicitaría confirmación, este parámetro obliga al cmdlet a ejecutarse sin pedir confirmación.

Tipo: SwitchParameter
Conjuntos de parámetros: (Todo)
Alias:
Requerido: Falso
Posición: Nombrado
Valor predeterminado: Falso
Acepta entrada de canalización: Falso
Acepta caracteres comodín: Falso
-WhatIf

Muestra qué ocurriría si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Tipo: SwitchParameter
Conjuntos de parámetros: (Todos)
Alias: wi
Requerido: False
Posición: Nombrado
Valor predeterminado: Ninguno
Acepta entrada de canalización: False
Acepta caracteres comodín: False
-Confirmar

Solicita confirmación antes de ejecutar el cmdlet.

Tipo: SwitchParameter
Conjuntos de parámetros: (Todo)
Alias: cf
Requerido: Falso
Posición: Nombrado
Valor predeterminado: Ninguno
Acepta entrada de canalización: Falso
Acepta caracteres comodín: Falso

Parámetros comunes

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction y -WarningVariable. Para obtener más información sobre los parámetros comunes, consulta el documento de Microsoft about_CommonParameters ( enlace externo).

Entradas

Salidas

  • Si no se especifica un tipo, el cmdlet intentará establecer el valor de cadena tal cual. Consulte los ejemplos de Ninja-Property-Set para ver cómo se procesan los valores cuando no se especifica un tipo. 
  • Los valores de los menús desplegables y de selección múltiple se validan con respecto a las opciones predefinidas antes de establecerse.
  • Si se proporciona un tipo no válido, se muestra una advertencia.
  • Los espacios no separables son sustituidos automáticamente por el equivalente HTML &nbsp; en los tipos «WYSIWYG».
  • Solo se pueden recuperar las opciones de los campos con permisos de escritura de automatización mediante este cmdlet. Para obtener información sobre los permisos de los campos personalizados, consulta «Campos personalizados de NinjaOne: Primeros pasos».
  • El campo personalizado especificado se actualiza después de la siguiente sincronización correcta con la plataforma NinjaOne, lo que suele producirse en unos minutos.

Recursos adicionales

Para obtener más información sobre la gestión de activos y la creación de scripts personalizados, consulta las siguientes referencias:

FAQ

Próximos pasos