Argomento
Questo articolo spiega come utilizzare Set-NinjaProperty per impostare il valore di un campo personalizzato in base al suo nome e al suo tipo.
Ambiente
- NinjaOne
- Microsoft Powershell
Descrizione
Il cmdlet Set-NinjaProperty consente di impostare il valore di un campo personalizzato specificandone nome, tipo e valore. Se viene specificato un tipo, il valore fornito viene automaticamente convertito in un formato compatibile con il tipo di campo specificato. Ad esempio, se viene fornito un oggetto DateTime e il tipo è "Date", il cmdlet converte il valore in un timestamp Unix epoch prima di impostare il campo.
Questo cmdlet supporta anche l’impostazione di valori per campi a discesa e a selezione multipla utilizzando i nomi dei campi anziché i GUID. I tipi di campo supportati includono: "Casella di controllo", "Date", "Date", "DateTime", "Decimale",
"Dropdown", "Email", "Integer", "Indirizzo IP", "MultiLine", "MultiSelect", "Phone", "Secure", "Text", "Time", "URL" e "WYSIWYG".
Solo i campi con autorizzazioni di scrittura automatizzate possono essere aggiornati utilizzando questo cmdlet. Il campo personalizzato specificato viene aggiornato dopo la successiva sincronizzazione riuscita con la piattaforma NinjaOne, che in genere avviene entro pochi minuti. Il dispositivo che esegue questo cmdlet deve essere un delegato del documento contenente il campo personalizzato se viene utilizzato il parametro -DocumentName.
Sintassi
Set-NinjaProperty [-Name] <STRING> [[-Value] <OBJECT>] [[-Type] <STRING>] [[-DocumentName] <STRING>] [-Force] [-WhatIf] [-Confirm] [<COMMONPARAMETERS>]
Esempi
Esempio 1: Campo personalizzato "Casella di controllo"
Set-NinjaProperty -Name "distribuito" -Value $Vero -Tipo "Casella di controllo"Imposta il campo personalizzato "deployed" su "true". Valori accettabili per la casella di controllo: 0, 1, True, False o un valore booleano.
Esempio 2: Campo personalizzato "Data"
$DeploymentDate = Get-Date -Year "2026" -Month "02" -Day "01" -Hour "0" -
Minuto "0" -Second "0"
Set-NinjaProperty -Name "deploymentDate" -Value $DeploymentDate -Type "Date"Imposta il campo personalizzato "deploymentDate" sulla data specificata. Valori di data ammessi: oggetti DateTime o stringhe convertibili in DateTime.
Esempio 3: Campo personalizzato "Data e ora"
$LastSeen = Get-Date -Year "2026" -Month "02" -Day "02" -Hour "13" -Minuto
"0" -Second "0"
Set-NinjaProperty -Name "lastSeen" -Value $LastSeen -Type "DateTime"Imposta il campo personalizzato "lastSeen" sulla data e l’ora specificate. Valori di data e ora accettabili: oggetti DateTime o stringhe convertibili in DateTime.
Esempio 4: Campo personalizzato di tipo decimale
PS C:> Set-NinjaProperty -Name "pi" -Value 3.14 -Type "Decimale"In questo esempio, il campo personalizzato decimale pi viene impostato su 3,14. Valori decimali accettabili: qualsiasi numero compreso tra -9999999,999999 e 9999999,999999.
Esempio 5: Campo personalizzato a menu a discesa
PS C:> Set-NinjaProperty -Name "favoriteBand" -Value "Mötley Crüe" -Type
"Dropdown"In questo esempio, il campo personalizzato a Menu a discesa "favoriteBand" è impostato su "Mötley Crüe" utilizzando il nome dell’opzione "
" al posto del GUID. Valori ammessi nel Menu a discesa: il nome di una delle opzioni predefinite per il campo.
Esempio 6: Campo personalizzato "Email"
PS C:> Set-NinjaProperty -Name "supportEmail" -Value "[email protected]"
-Tipo "Email"In questo esempio, il campo personalizzato e-mail "supportEmail" è impostato su "[email protected]". Valori accettabili per "E-mail": qualsiasi stringa conforme allo standard ufficiale RFC 5322 per gli indirizzi e-mail.
Esempio 7: Campo personalizzato di tipo numero intero
PS C:> Set-NinjaProperty -Name "favoriteNumber" -Value "42" -Type "Numero intero"In questo esempio, il campo personalizzato di tipo intero "favoriteNumber" è impostato su 42. Valori interi consentiti: qualsiasi numero intero compreso tra -2147483648 e 2147483647.
Esempio 8: Campo personalizzato "Indirizzo IP"
PS C:> Set-NinjaProperty -Name "primaryDNS" -Value "1.1.1.1" -Type
"IPAddress"In questo esempio, il campo personalizzato "primaryDNS" (Indirizzo IP) è impostato su "1.1.1.1". Valori accettabili per l’Indirizzo IP: qualsiasi stringa che rappresenti un indirizzo IPv4 o IPv6 valido.
Esempio 9: Campo personalizzato multilinea
PS C:> Set-NinjaProperty -Name "exampleMultiline" -Value "Riga 1`n`nRiga 3"
-Tipo "MultiLine"In questo esempio, il campo personalizzato multiriga "exampleMultiline" è impostato su una stringa contenente più righe di testo
. Valori multiriga accettabili: qualsiasi stringa inferiore a 10.000 caratteri.
Esempio 10: Campo personalizzato con selezione multipla
PS C:> Set-NinjaProperty -Nome "exampleMultiselect" -Valore ("Valore 3",
"Opzione 1") -Tipo "MultiSelect"In questo esempio, il campo personalizzato a selezione multipla "exampleMultiselect" è impostato su "Value 3" e "Option 1" utilizzando i nomi visualizzati anziché i GUID. Valori accettabili per la selezione multipla: un array di stringhe che rappresentano i nomi visualizzati delle opzioni valide da impostare, reperibili tramite il cmdlet Ninja-Property-Options.
Esempio 11: Campo personalizzato "Telefono"
PS C:> Set-NinjaProperty -Name "supportNumber" -Value "+18008675309" -Type
"Telefono"In questo esempio, il campo personalizzato "supportNumber" (numero di telefono) è impostato su "+18008675309". Valori accettabili per il campo "Phone": qualsiasi stringa conforme allo standard E.164 per i numeri di telefono, che include il segno più seguito dal prefisso internazionale e dal numero di utente (ad esempio, +18008675309).
Esempio 12: Campo personalizzato protetto
PS C:> Set-NinjaProperty -Name "superSecretPassword" -Value "Hunter42" -
Type "Secure"In questo esempio, il campo personalizzato protetto “superSecretPassword” è impostato su “Hunter42”. Valori protetti accettabili: qualsiasi stringa di lunghezza inferiore a 200 caratteri.
Esempio 13: Campo personalizzato di tipo testo
PS C:> Set-NinjaProperty -Name "exampleTextField" -Value "My Text Value" -
Type "Testo"In questo esempio, il campo personalizzato di tipo testo exampleTextField è impostato su "My Text Value". Valori di tipo testo accettabili: qualsiasi stringa inferiore a 200 caratteri.
Esempio 14: Campo personalizzato di tipo "Time"
$UpdateTime = Get-Date -Hour "09" -Minute "0" -Second "0"
PS C:> Set-NinjaProperty -Name "updateTime" -Value $UpdateTime -Type "Time"In questo esempio, il campo personalizzato di tipo "ora" updateTime è impostato su 9:00 AM. Valori di ora accettabili: un oggetto DateTime che rappresenta un'ora o una stringa convertibile in un oggetto DateTime.
Esempio 15: Campo personalizzato URL
PS C:> Set-NinjaProperty -Name "exampleUrl" -Value
"https://www.ninjaone.com" -Type "URL"In questo esempio, il campo personalizzato URL "exampleUrl" è impostato su "https://www.ninjaone.com". Valori URL accettabili: qualsiasi stringa inferiore a 200 caratteri che inizi con https://.
Esempio 16: Campo personalizzato WYSIWYG
PS C:> Set-NinjaProperty -Name "exampleWYSIWYG" -Value "<H1
style='color:#f015ca'>Hello World</H1>" -Type "WYSIWYG"In questo esempio, il campo personalizzato WYSIWYG "exampleWYSIWYG" è impostato su "<H1 style='color:#f015ca'>Hello World</H1>". I campi personalizzati WYSIWYG nella CLI accettano l'HTML come valore, il che consente la formattazione del testo avanzato nel campo personalizzato. Si consiglia di utilizzare le virgolette singole nel codice HTML per evitare di dover effettuare l’escape delle virgolette doppie nella stringa HTML quando si imposta il valore di un campo personalizzato WYSIWYG. Valori WYSIWYG accettabili: qualsiasi stringa con meno di 199.999 caratteri. Per ottenere risultati ottimali, la stringa dovrebbe contenere codice HTML valido; si consiglia inoltre di utilizzare le virgolette singole nel codice HTML per evitare di dover effettuare l’escape delle virgolette doppie nella stringa HTML.
Parametri
-Nome
Specificare il nome del campo personalizzato del dispositivo o della documentazione di cui si desidera impostare il valore.
Tipo: Stringa
Set di parametri: (Tutti)
Alias:
Obbligatorio: True
Posizione: 1
Valore predefinito: Nessuno
Accetta input dalla pipeline: False
Accetta caratteri jolly: False
-Valore-Valore
Specificare il valore da impostare per il campo personalizzato indicato.
Tipo: Oggetto
Set di parametri: (Tutti)
Alias:
Obbligatorio: Falso
Posizione: 2
Valore predefinito: Nessuno
Accetta input dalla pipeline: Vero (ByValue)
Accetta caratteri jolly: Falso-Tipo
Il tipo di campo personalizzato, che determina come viene elaborato e convertito il valore fornito. I tipi supportati includono: "Casella di controllo", "Data", "Data e ora", "Decimale", "Menu a tendina", "Email", "Intero", "Indirizzo IP", "Multiriga", "Selezione multipla", "Telefono", "Sicuro", "Testo", "Ora", "URL" e "WYSIWYG".
Tipo: String
Set di parametri: (Tutti)
Alias:
Obbligatorio: False
Posizione: 3
Valore predefinito: Nessuno
Accetta input dalla pipeline: False
Accetta caratteri jolly: False-DocumentName
Specifica il nome del documento da cui impostare il valore del campo personalizzato della documentazione specificato.
Tipo: Stringa
Set di parametri: (Tutti)
Alias:
Obbligatorio: Falso
Posizione: 4
Valore predefinito: Nessuno
Accetta input dalla pipeline: Falso
Accetta caratteri jolly: Falso-Force
Se non viene specificato alcun parametro di conferma e il cmdlet richiederebbe una conferma, questo parametro forza l'esecuzione del cmdlet senza chiedere conferma.
Tipo: SwitchParameter
Set di parametri: (Tutti)
Alias:
Obbligatorio: False
Posizione: Denominata
Valore predefinito: False
Accetta input dalla pipeline: False
Accetta caratteri jolly: False-WhatIf
Mostra cosa accadrebbe se il cmdlet venisse eseguito. Il cmdlet non viene eseguito.
Tipo: SwitchParameter
Set di parametri: (Tutti)
Alias: wi
Obbligatorio: False
Posizione: Nome
Valore predefinito: Nessuno
Accetta input dalla pipeline: False
Accetta caratteri jolly: False-Conferma
Richiede conferma prima di eseguire il cmdlet.
Tipo: SwitchParameter
Set di parametri: (Tutti)
Alias: cf
Obbligatorio: False
Posizione: Nominale
Valore predefinito: Nessuno
Accetta input dalla pipeline: False
Accetta caratteri jolly: FalseParametri comuni
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni sui parametri comuni, fare riferimento al documento Microsoft about_CommonParameters ( Link esterno).
Input
Uscite
- Se non si specifica un tipo, il cmdlet tenterà di impostare il valore della stringa così com'è. Vedere gli esempi di Ninja-Property-Set per sapere come vengono elaborati i valori quando non viene specificato un tipo.
- I valori dei menu a discesa e di selezione multipla vengono convalidati in base alle opzioni predefinite prima di essere impostati.
- Se viene fornito un tipo non valido, viene visualizzato un avviso.
- Gli spazi non separabili sono automaticamente sostituiti con l'equivalente HTML per i tipi "WYSIWYG".
- Solo i campi con permessi di scrittura tramite automazione consentono di recuperare le opzioni tramite questo cmdlet. Per informazioni sui permessi relativi ai campi personalizzati, consultare NinjaOne Custom Fields: Attività iniziali.
- Il campo personalizzato specificato viene aggiornato dopo la successiva sincronizzazione riuscita con la piattaforma NinjaOne, che in genere avviene nel giro di pochi minuti.
Risorse aggiuntive
Per altre informazioni sulla gestione delle risorse e sugli script personalizzati, consultare le seguenti risorse:
- NinjaOne: Indice dei comandi e degli articoli di Powershell
- Interfaccia della riga di comando (CLI)
- Assegnazione dei dispositivi come delegati per la documentazione
- Lettura o scrittura nella Documentazione: automazione, CLI e API
- Interfaccia della riga di comando (CLI): campi e funzionalità supportati
- Campi personalizzati di NinjaOne: Attività iniziali