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 il nome, il tipo e il 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 dell'epoca Unix 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: "Checkbox", "Date", "Date", "DateTime", "Decimal", "
" "Dropdown", "Email", "Integer", "IP Address", "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 "deployed" -Value $True -Type "Checkbox"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" -
Minute "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" -Minute
"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 "Decimal"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 tendina
PS C:> Set-NinjaProperty -Name "favoriteBand" -Value "Mötley Crüe" -Type
"Dropdown"In questo esempio, il campo personalizzato a menu a tendina "favoriteBand" è impostato su "Mötley Crüe" utilizzando il nome dell’opzione
al posto del GUID. Valori accettabili per il menu a tendina: il nome di una delle opzioni predefinite per il campo.
Esempio 6: Campo personalizzato "Email"
PS C:> Set-NinjaProperty -Name "supportEmail" -Value "[email protected]"
-Type "Email"In questo esempio, il campo personalizzato di tipo email "supportEmail" è impostato su "[email protected]". Valori accettabili per il campo email: qualsiasi stringa conforme allo standard ufficiale RFC 5322 per gli indirizzi email.
Esempio 7: Campo personalizzato di tipo intero
PS C:> Set-NinjaProperty -Name "favoriteNumber" -Value "42" -Type "Integer"In questo esempio, il campo personalizzato di tipo intero "favoriteNumber" è impostato su 42. Valori interi accettabili: 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"
-Type "MultiLine"In questo esempio, il campo personalizzato multilinea "exampleMultiline" è impostato su una stringa contenente più righe di testo
. Valori multilinea accettabili: qualsiasi stringa con meno di 10.000 caratteri.
Esempio 10: Campo personalizzato a 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 ammissibili 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
"Phone"In questo esempio, il campo personalizzato "supportNumber" (numero di telefono) è impostato su "+18008675309". Valori accettabili per "Phone": qualsiasi stringa conforme allo standard E.164 per i numeri di telefono, che include il segno più seguito dal codice paese e dal numero dell’abbonato (ad es., +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 accettabili per i campi protetti: 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 "Text"In questo esempio, il campo personalizzato di tipo testo exampleTextField è impostato su "My Text Value". Valori di tipo testo accettabili: qualsiasi stringa di lunghezza 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 "Time" denominato "updateTime" è impostato su 9:00 AM. Valori di tempo accettabili: un oggetto DateTime che rappresenta un'ora, oppure 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 "exampleUrl" (di tipo URL) è impostato su "https://www.ninjaone.com". Valori URL accettabili: qualsiasi stringa di lunghezza 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 specificato.
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", "E-mail", "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 richiedere conferma.
Tipo: SwitchParameter
Set di parametri: (Tutti)
Alias:
Obbligatorio: False
Posizione: Nominale
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: Nominale
Valore predefinito: Nessuno
Accetta input dalla pipeline: False
Accetta caratteri jolly: False-Confirm
Richiede una 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 ulteriori informazioni sui parametri comuni, consultare il documento Microsoft about_CommonParameters ( collegamento esterno).
Input
Risultati
- 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 capire come vengono elaborati i valori quando non viene specificato un tipo.
- I valori dei menu a discesa e della selezione multipla vengono convalidati rispetto alle opzioni predefinite prima di essere impostati.
- Se viene fornito un tipo non valido, viene visualizzato un avviso.
- Gli spazi non separabili vengono automaticamente sostituiti con l'equivalente HTML per i tipi "WYSIWYG".
- Solo i campi con autorizzazioni di scrittura automatizzata consentono di recuperare le opzioni tramite questo cmdlet. Per informazioni sulle autorizzazioni relative ai campi personalizzati, consultare NinjaOne Custom Fields: Getting Started.
- Il campo personalizzato specificato viene aggiornato dopo la successiva sincronizzazione riuscita con la piattaforma NinjaOne, che in genere avviene entro pochi minuti.
Risorse aggiuntive
Per ulteriori 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 alla documentazione
- Lettura o scrittura nella documentazione: automazione, CLI e API
- Interfaccia della riga di comando (CLI): campi e funzionalità supportati
- Campi personalizzati di NinjaOne: Guida introduttiva