Sei già un cliente NinjaOne? Effettua il login per visualizzare le altre guide e gli ultimi aggiornamenti.

Command Line Interface (CLI): Campi personalizzati e script di documentazione

Argomento

Questa documentazione spiega come utilizzare il componente ninjarmm-cli per i sistemi operativi Microsoft Windows, Apple macOS e Linux.

Ambiente

  • Endpoint management NinjaOne
  • NinjaOne Documentation

Descrizione

Il componente ninjarmm-cli è un file eseguibile che consente di accedere e interagire con specifici campi personalizzati e dati della documentazione dall'interfaccia della riga di comando (CLI), dal terminale o tramite script personalizzati.

Seleziona una categoria per ulteriori informazioni:

Note importanti

Prima di utilizzare ninjarmm-cli, è necessario tenere presente quanto segue:

  • I campi protetti sono di sola scrittura per i campi di documentazione.
  • È possibile leggere o scrivere dati di documentazione tramite la CLI o script personalizzati. È possibile generare un elenco di modelli, un elenco dei documenti in base al nome del modello o al numero di identificazione e il valore di ciascun campo in un documento.
    • La CLI o gli script personalizzati possono accedere solo a modelli e documenti che contengono almeno un campo compilato. I modelli e i documenti vuoti non verranno visualizzati.
  • È possibile utilizzare script personalizzati scritti in Batch o PowerShell per Windows, oppure in ShellScript per macOS e Linux. Poiché il file ninjarmm-cli.exe risiede in una cartella protetta inaccessibile agli utenti normali, è necessario eseguire qualsiasi script che utilizzi questa funzionalità come amministratore di sistema oppure modificare le autorizzazioni di conseguenza.
  • Per i dispositivi Linux, è necessario aggiungere ./ davanti a ninjarmm-cli nel terminale per eseguire correttamente il comando.
  • Per i dispositivi Windows, se è necessario memorizzare l’output del comando ninjarmm-cli get in una variabile, è possibile utilizzare il parametro opzionale --direct-out per forzare l’uso del canale di output standard stdout invece delle funzioni API di Windows come WriteConsoleW/WriteFile. Tuttavia, così facendo, si rischia di perdere il supporto all’output Unicode, che non funziona correttamente su alcune versioni di Windows con il canale stdout. Fare riferimento al seguente esempio di questo comando:
 ninjarmm-cli --direct-out get [nome campo]

Accesso ai campi protetti tramite automazioni

Non è possibile superare i 200 caratteri per i Campi protetti.

Qualsiasi automazione eseguita dalla Libreria di automazioni può accedere ai campi protetti, tra cui:

  • Condizioni degli script
  • Condizioni composte dello script
  • Attività programmate in base ai criteri
  • Attività programmate globali
  • Azioni "Esegui prima" relative a backup, applicazione di patch, installazione dell'applicazione e attività simili
  • Azioni "Esegui dopo" relative a backup, applicazione di patch, installazione dell'applicazione e attività simili
  • Azioni di automazione in base a condizioni
  • Esegui l'automazione

Alcuni aspetti importanti da tenere presenti riguardo ai campi protetti includono:

  • NinjaOne fornisce l'accesso ai campi personalizzati protetti solo durante l'esecuzione dell'automazione.
  • Il terminale web o il terminale locale non possono accedere ai campi personalizzati protetti.
  • Solo i comandi eseguiti su un dispositivo locale avviati da NinjaOne possono accedere ai campi personalizzati, comprese le operazioni GET e SET, i campi personalizzati protetti e i campi protetti della documentazione. Tuttavia, i campi protetti della documentazione utilizzano solo operazioni SET tramite la CLI.

Interazione con i campi personalizzati tramite CLI di Windows o terminale

L’agente decomprime automaticamente questo eseguibile nelle seguenti cartelle:

  • Windows: C:ProgramDataNinjaRMMAgentninjarmm-cli.exe
  • macOS: /Applicazioni/NinjaRMMAgent/ProgramData/ninjarmm-cli
  • Linux: /opt/NinjaRMMAgent/ProgramData/ninjarmm-cli

Per Windows, utilizzare la seguente variabile d’ambiente speciale a livello di sistema:

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

La CLI di NinjaRMM è simile al seguente esempio per Windows:

c:ProgramDataNinjaRMMAgentninjarmm-cli.exe help

ninjarmm-cli - Strumento CLI per accedere e gestire i campi personalizzati dell’agente NinjaRMM.
Utilizzo:
  help - visualizza questo testo

Campi globali e di ruolo:

get <NOME attributo> - recupera il valore dell’attributo con il nome specificato

set <NOME attributo> <VALORE attributo e elenco di valori separati da virgole> - imposta il valore dell’attributo specificato
   --stdin - modificatore facoltativo per utilizzare dati provenienti da una pipe. Ad esempio: dir | %NINJARMMCLI% set --stdin myfield

options <NOME attributo> - recupera l’elenco dei valori validi per il nome dell’attributo (utile per attributi a menu a discesa e a selezione multipla)

Campi della Documentazione:

templates - recupera un elenco dei modelli che contengono documenti e attributi
   --ids, --names - modificatori facoltativi

documenti "<ID/nome modello>" - ottiene un elenco dei documenti relativi al modello in base all’ID o al nome (virgolette obbligatorie)
   --ids, --names - modificatori facoltativi

get "<ID/nome modello>" "<NOME documento>" <NOME attributo> - ottiene l’attributo dal documento in base al nome del documento e all’ID/nome del modello (virgolette obbligatorie)

get "<NOME del singolo modello>" <NOME attributo> - recupera l'attributo da un singolo documento in base al nome del modello (virgolette obbligatorie)

org-set "<ID/nome del modello>" "<NOME del documento>" <NOME attributo> "<VALORE dell'attributo e elenco di valori separati da virgole>" - imposta l'attributo sul documento/attributo specificato in base al nome del documento e all'ID/nome del modello (virgolette obbligatorie)

org-set "<NOME del singolo modello>" <NOME dell’attributo> "<VALORE dell’attributo e elenco di valori separati da virgole>" - imposta l’attributo per un singolo documento/attributo in base al nome del modello (virgolette obbligatorie)

org-clear "<ID/nome del modello>" "<NOME del documento>" <NOME dell'attributo> - cancella il valore del documento in base al nome del documento e all'ID/nome del modello (virgolette obbligatorie, il valore viene rappresentato come NULL)

org-clear "<NOME di un singolo modello>" <NOME dell'attributo> - cancella il valore di un singolo documento in base al nome del modello (virgolette obbligatorie, il valore viene rappresentato come NULL)

org-options "<ID del modello>" "<NOME documento>" <NOME attributo> - ottiene l’elenco dei valori validi per il nome dell’attributo del documento in base al nome del documento e all’ID del modello (utilizzabile per attributi a menu a discesa e a selezione multipla)

org-options "<NOME di un singolo modello>" <NOME dell'attributo> - ottiene un elenco dei valori validi per il nome di un singolo attributo del documento in base al nome del modello (utilizzabile per attributi a menu a discesa e a selezione multipla)

Formato di output:

codici di uscita: 0 - Operazione riuscita, 1 - Errore

in caso di successo: esce con codice 0 e stampa il valore

in caso di errore:   esce con codice 1 e stampa la descrizione dell'errore

Per leggere il codice di uscita: Win: 'echo %errorlevel%', Unix: 'echo $?'

Tipi di attributi:

  Casella di controllo - Tipo booleano, valori ammessi: 0, 1, true, false

  Numerica - Tipo numero intero, valori compresi tra -2147483648 e 2147483647, supporta le impostazioni del filtro di input avanzato.

  Decimale - Tipo float, valori compresi nell'intervallo da -9999999,999999 a 9999999,999999, supporta le impostazioni avanzate del filtro di input.

  TextMultiLine, Testo - stringa normale

  TextEmail - stringa normale, deve rispettare il formato e-mail RFC 5322

  TextIpAddress - stringa normale, deve rispettare il formato IPv4 o IPv6, supporta le impostazioni avanzate del filtro di input

  TextPhone - stringa regolare, deve rispettare il formato dei numeri di telefono E.164

  TextEncrypted - stringa regolare criptata, supporta le impostazioni avanzate del filtro di input (solo in scrittura per la Documentazione)

  DateTime - numero intero di secondi dall'inizio dell'epoca Unix o formato ISO 'yyyy-MM-ddTHH:mm:ss' senza fuso orario (UTC)

  Date - Numero intero di secondi dall’inizio dell’epoca Unix o formato ISO 'yyyy-MM-dd'

  Time - Numero intero di secondi o formato ISO 'HH:mm:ss'

  MultiSelect - elenco di opzioni univoche (vedere il comando <OPTIONS>)

  MultiSelectNode, MultiSelectClient, MultiSelectClientLocation - (sola lettura tramite CLI) dati relativi all’organizzazione

  Menu a discesa - un’unica opzione (vedere il comando <OPTIONS>)

  DropdownNode, DropdownClient, DropdownClientLocation - (sola lettura tramite CLI) dati relativi all’organizzazione

  Allegato - (sola lettura tramite CLI) oggetto JSON con informazioni sul file.

  WYSIWYG - (sola lettura tramite CLI) oggetto JSON con contenuto HTML e TEXT

Modulo Powershell di NinjaOne

Quando si installa l’agente NinjaOne, NinjaOne distribuisce e carica un modulo PowerShell personalizzato di NinjaOne per interagire con i campi personalizzati. È possibile accedere a ninjarmm-cli sui dispositivi Windows tramite questo modulo PowerShell semplicemente richiamando i nomi delle funzioni all’interno di PowerShell.

Comandi Powershell di NinjaOne

Di seguito sono riportati in dettaglio i comandi Powershell che è possibile eseguire.

Get-NinjaProperty 

Il comando Get-NinjaProperty è un'evoluzione del comando originale Ninja-Property-Get. La funzione Get-NinjaProperty recupera e converte il valore del campo personalizzato di Ninja in base al nome e al tipo del campo specificati.

Il comando accetta un nome del campo, un tipo di proprietà e, facoltativamente, un nome documento. Quando si specifica un nome di documento, la funzione recupererà il valore della proprietà dal documento Ninja specificato. A seconda del tipo specificato (ad esempio, Date, DateTime, Casella di controllo, Dropdown, ecc.), la funzione convertirà il valore grezzo in un oggetto PowerShell appropriato. Se il tipo di proprietà richiede opzioni aggiuntive, come menu a tendina o campi a selezione multipla, la funzione recupera tali opzioni e restituisce un valore di facile interpretazione.

I tipi supportati includono: Allegato, Casella di controllo, Data, Data e ora, Decimale, Elenco a discesa dispositivi, Selezione multipla dispositivi, Elenco a discesa, E-mail, Intero, Indirizzo IP, Multiriga, Selezione multipla, Elenco a discesa organizzazione, Elenco a discesa sede organizzazione, Selezione multipla sede organizzazione, Selezione multipla organizzazione, Telefono, Sicuro, Testo, Ora, WYSIWYG e URL.

La sintassi è la seguente: Get-NinjaProperty [-Nome] <STRING[]> [[-Tipo] <STRING>] [[-DocumentName] <STRING>] [<COMMONPARAMETERS>]

Esempi

Il recupero di un menu a tendina di un campo personalizzato senza specificarne il tipo restituisce il valore GUID dell’opzione selezionata nel menu a tendina.

powershell1-upscaled.png
Figura 1: Nessun tipo di campo specificato (clicca per ingrandire)

Il recupero di un menu a discesa di un campo personalizzato specificando il tipo di campo personalizzato (menu a discesa) fa sì che il comando restituisca il valore intuitivo visualizzato all’interno della piattaforma anziché il valore GUID.

powershell2-upscaled.png
Figura 2: Tipodi campo specificato (clicca per ingrandire)

Imposta-NinjaProperty

Il comando Set-NinjaProperty è un'evoluzione del comando originale Ninja-Property-Set. La funzione Set-NinjaProperty imposta un campo personalizzato in base ai parametri forniti. Quando viene specificato un tipo di campo, tenta di convertire il valore fornito in uno supportato da quel particolare campo. Ad esempio, se viene fornito un oggetto DateTime e viene specificato il tipo "Date", converte l'oggetto data in un timestamp dell'epoca Unix e imposta il campo con quel valore.

Può inoltre impostare campi a tendina e di selezione multipla utilizzando i nomi dei campi anziché i relativi GUID.

I tipi supportati includono: Casella di controllo, Date, Date o Date Time, DateTime, Decimale, Dropdown, Email, Integer, Indirizzo IP, MultiLine, MultiSelect, Phone, Secure, Text, Time, URL e WYSIWYG.

Esempi

L’impostazione di un campo personalizzato a menu a discesa senza specificarne il tipo richiede il valore GUID univoco dell’opzione desiderata nel menu a discesa.

powershell3-upscaled.png
Figura 3: No tipo di campo specificato (clicca per ingrandire)

L’impostazione di un campo personalizzato a menu a discesa specificando il tipo di campo come “menu a discesa” consente di utilizzare il valore intuitivo visualizzato all’interno della piattaforma anziché il valore GUID.

powershell4-upscaled.png
Figura 4: Tipodi campo specificato (clicca per ingrandire)

Entrambi i comandi, Get-NinjaProperty e Set-NinjaProperty, offrono un supporto completo per Unicode, consentendo di impostare e recuperare le emoji tramite questi comandi.

È possibile accedere a ulteriori dettagli ed esempi per entrambi i comandi aprendo PowerShell su un dispositivo su cui è installato l’agente NinjaOne e digitando:

Get-Help Get-NinjaProperty

Oppure

Get-Help Set-NinjaProperty

Tutti i comandi Powershell originali di NinjaOne continuano a funzionare come previsto inizialmente. Tali comandi sono:

Ninja-Property-Get $AttributeName
Ninja-Property-Imposta $AttributeName $Value
Ninja-Property-Options $AttributeName
Ninja-Property-Cancella $AttributeName

Comandi di documentazione

Ninja-Property-Docs-Modelli
Ninja-Property-Docs-Nomi $TemplateId
Ninja-Property-Docs-Nomi "$Nome del modello"
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-Cancella
Ninja-Property-Docs-Options
Ninja-Property-Docs-Clear-Single - cancella il valore di un singolo documento in base al nome del modello (virgolette obbligatorie, rappresentato come NULL)
Ninja-Property-Docs-Options-Single - recupera l’elenco dei valori validi per il nome di un singolo attributo del documento in base al nome del modello (utilizzabile per attributi a menu a discesa e a selezione multipla)

Interazione con i campi personalizzati tramite comandi CLI di Windows, script batch personalizzati, ShellScript su UNIX o script ShellScript personalizzati

Gli esempi in questa sezione mostrano come utilizzare comandi e script batch per tipi specifici di campi personalizzati. Descrivono chiamate a ` ninjarmm-cli ` senza percorso completo, ma è possibile specificare il percorso completo in base alla propria piattaforma, come descritto in precedenza in questo articolo. Non vi sono differenze tra le chiamate all’utilità CLI su piattaforme diverse.

Data e ora

L'ora viene calcolata come segue:

  • Il sistema fa riferimento al 1° Gennaio 1970 alle 00:00:00 UTC come epoca Unix.
  • Il valore della data è espresso in secondi a partire dal 1° gennaio 1970 alle 00:00:00 UTC.È possibile utilizzare uno strumento di conversione del timestamp per ottenere questo valore in un formato di data leggibile dall’utente.
  • Se si imposta il valore in formato ISO, verrà convertito in secondi da 1° gennaio 1970 in UTC.

Gli esempi in questa sezione mostrano come utilizzare i comandi o gli script di Powershell per tipi specifici di campi personalizzati.

Selezionare un argomento per continuare:

Casella di controllo

Per il campo Casella di controllo, il valore impostato deve essere vero (1) o falso (0).

Ottenere:

# ottieni il valore del campo casella di controllo
> ninjarmm-cli get globalcheckbox
0

Imposta:

# imposta un valore booleano nel campo casella di controllo
> ninjarmm-cli set globalcheckbox 0
0
> ninjarmm-cli set globalcheckbox 1
1
> ninjarmm-cli set globalcheckbox true
1
> ninjarmm-cli set globalcheckbox false
0

Data

Per il campo Data, il valore da impostare deve essere espresso in secondi o nel formato ISO (Organizzazione internazionale per la standardizzazione) (aaaa-mm-gg in UTC).

Ottenere:

# ottieni il valore del campo data
> ninjarmm-cli get globaldate
456

Imposta:

# imposta il valore nel campo data
> ninjarmm-cli set globaldate 1626875470000

> ninjarmm-cli set testdate 2021-10-15
1634256000

Data/Ora

Per il campo Data/Ora, il valore da impostare deve essere espresso in secondi o in formato ISO (aaaa-mm-gg o hh:mm:ss in UTC).

Ottenere:

# ottieni il valore del campo data e ora
> ninjarmm-cli get globaldatetime
1626875470000

Imposta:

# imposta il valore nel campo data-ora
> ninjarmm-cli set globaldatetime 1626875470000
1626875470000

> ninjarmm-cli set testdatetime 2021-10-15T00:00:00
1634256000

Decimale

Per il campo Decimale, il valore impostato deve essere un numero entro l'intervallo da -9999999,999999 a 9999999,999999.

Ottenere:

# ottieni il valore del campo decimale
> ninjarmm-cli get globaldecimal
123,456

Imposta:

# imposta il valore nel campo decimale
> 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 # troncato alla precisione massima; è preferibile non utilizzare un valore più breve per evitare problemi di conversione del tipo di dati

> ninjarmm-cli set typedecimal 1234567890.1234567890
1234567890,123457

Menu a tendina

Per il campo a menu a tendina, il valore impostato deve corrispondere esattamente a un'opzione valida, utilizzando il GUID (Globally Unique Identifier) o il nome del campo come elencato quando si esegue il comando options.

Opzioni:

# Elenco delle opzioni per il campo a discesa
> ninjarmm-cli options globaldropdown
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Opzione1
f1ba449c-fd34-49df-b878-af3877180d17=Opzione3

Ottenere il GUID di un'opzione:

# trova il GUID dell'opzione per il campo a discesa per il nome dell'opzione
> ninjarmm-cli options globaldropdown | grep "Opzione 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Ottenere:

# ottieni il valore del campo a discesa
> ninjarmm-cli get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981a

Imposta:

# imposta il valore nel campo a tendina
> ninjarmm-cli set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

Email

Recupera:

# recupera il valore memorizzato
> ninjarmm-cli get typeemail
[email protected]

Imposta:

# correggere i valori
> ninjarmm-cli set typeemail [email protected]
[email protected]

> ninjarmm-cli set typeemail [email protected]
[email protected]

# impostare valori errati
> ninjarmm-cli set typeemail [email protected]
Errore: formato o tipo di valore errato...

Numero intero

Per il campo "Integer ", è necessario specificare un numero intero (un numero senza decimali) entro l'intervallo da -2147483648 a 2147483647.

Ottenere:

# ottieni il valore del campo numero intero
> ninjarmm-cli get globalinteger
456

Imposta:

# imposta il valore del campo intero
> ninjarmm-cli set globalinteger 123

Indirizzo IP

Per il campo IP, il valore da impostare deve essere nel formato IPv4 (Internet Protocol versione 4) o IPv6 (Internet Protocol versione 6).

Recupero:

# recuperare il valore memorizzato
> ninjarmm-cli get typeipaddress
192.168.1.100

Imposta:

# imposta valori corretti
> ninjarmm-cli set typeipaddress 255.255.255.255
255.255.255.255

> ninjarmm-cli set typeipaddress 0.0.0.0
0.0.0.0

# impostare valori errati
> ninjarmm-cli set typeipaddress 192.168.1.
Errore: formato/tipo del valore errato ...

> ninjarmm-cli set typeipaddress 255.255.255.256
Errore: formato/tipo del valore errato ...

> ninjarmm-cli set typeipaddress 0.-1.0.0
Errore: formato/tipo del valore errato ...

Multilinea

Ottenere:

# recupera campo multilinea
> ninjarmm-cli get globalmultiline
sampletext1

Imposta:

# imposta campo di testo
> ninjarmm-cli set globalmultiline sampletext2

Imposta (alternativa):

# imposta campo di testo con dati provenienti da un pipe
> ls -alh | ninjarmm-cli set globalmultiline

NinjaOne supporta l'uso di una singola stringa multilinea se si utilizza il carattere di controllo `n (il tasto "backtick" o "backspark" più la lettera "n"). Il testo deve essere inserito nel prompt dei comandi come una singola riga di testo a causa delle restrizioni della CLI o del Terminale ed è limitato a 10.000 caratteri. È inoltre possibile includere spazi racchiudendo l’intera stringa tra virgolette. Quando si utilizzano questi caratteri di controllo, i dati verranno visualizzati come segue:

Ninja-Property-Set multiline "riga con spazi'nline2'nline3'nfinalval"

multiline
riga con spazi
riga2
riga3
valore finale

La sintassi predefinita del comando "Set" è sufficiente nella maggior parte dei casi. Con la sintassi predefinita, lo strumento 'ninjarmm-cli' preleva i dati dagli argomenti della riga di comando. Tuttavia, a volte ciò non è sufficiente ed è necessario ottenere i dati dal canale stdin (input standard).

Ad esempio, quando è necessario impostare dei dati nel campo di testo multilinea , oppure si desidera prelevare l’output da un file e memorizzarlo nel campo. Oppure, per evitare l’interruzione di tabulazioni o spazi nell’output formattato di altre Applicazioni.

A tal fine, lo strumento CLI offre una sintassi alternativa con il parametro --stdin. Pertanto, quando si utilizza questo argomento, è necessario fornire i dati come input sul canale stdin, utilizzando i pipe di Unix. Ad esempio: dir | ninjarmm-cli set --stdin [Nome del mio campo] oppure cat /proc/cpuinfo | grep vendor_id | ninjarmm-cli set --stdin [Nome di un altro campo]. I dati trasmessi tramite pipe verranno memorizzati nel campo di destinazione se soddisfano tutte le condizioni relative al tipo di campo.

Selezione multipla

Opzioni:

# elenco delle opzioni per il campo di selezione multipla
> ninjarmm-cli options globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Opzione2
74a6ffda-708e-435a-86e3-40b67c4f981a=Opzione1
f1ba449c-fd34-49df-b878-af3877180d17=Opzione3

Ottenere il GUID di un’opzione:

# trova il GUID dell'opzione in base al nome dell'opzione per il campo di selezione multipla
> ninjarmm-cli options globalmultiselect | grep "Opzione 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Imposta:

# imposta più valori per il campo di selezione multipla, separati da virgola
> ninjarmm-cli set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008,74a6ffda-708e-435a-86e3-40b67c4f981a

Ottenere:

# ottieni i valori per il campo di selezione multipla
> ninjarmm-cli get globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Numero di telefono

Recupera:

# ottieni il valore memorizzato
ninjarmm-cli get typephone
+1234567890

Imposta:

# imposta i valori corretti
> ninjarmm-cli set typephone +77013273916
+77013273916

> ninjarmm-cli set typephone 123456789012344567
123456789012344567

> ninjarmm-cli set typephone +123456789012344567
+123456789012344567

# impostare valori errati
> ninjarmm-cli set typephone 14953273916qwerty
Errore: formato/tipo del valore errato ...

> ninjarmm-cli set typephone 1234567890123445678 # troppo lungo
Errore: formato / tipo di valore errato ...

> ninjarmm-cli set typephone ++123456789012344567
Errore: formato / tipo di valore errato ...

Sicurezza

Per impedire che i valori dei campi protetti vengano visualizzati nell’output dello script sui dispositivi Windows, lo script deve contenere @echo off e @echo on a monte e a valle del codice che chiama %NINJARMMCLI% set [nome campo protetto] [valore protetto]. Per impostazione predefinita, Windows riporta tutti i comandi immessi o eseguiti dagli utenti.

Per impedire che i valori dei campi protetti vengano visualizzati nell'output dello script per i dispositivi Unix (macOS o Linux), lo script non deve contenere set -x prima dell'esecuzione. Questa omissione impedisce la visualizzazione dei comandi eseguiti che contengono valori protetti.

Ottenere: 

# recupera il campo protetto
> ninjarmm-cli get globalsecure
sampletext1

Imposta:

# imposta campo protetto
> ninjarmm-cli set globalsecure sampletext2

Testo

Recupera:

# recupera campo di testo
> ninjarmm-cli get globaltext
sampletext1

Imposta:

# imposta campo di testo
> ninjarmm-cli set globaltext sampletext2

Ora

Per il campo Ora, il valore impostato deve essere espresso in secondi o nel formato ISO (hh:mm:ss).

Recupero:

# ottieni il valore del campo "Time"
> ninjarmm-cli get globaldatetime
120

Imposta:

# imposta il valore nel campo "Time"
> ninjarmm-cli set globaldatetime 3600
3600

> ninjarmm-cli set testdatetime 00:00:00
0

URL

Il campo URL è limitato a 200 caratteri e deve iniziare con https://.

Recupero:

# recupera il campo URL
> ninjarmm-cli get url
https://www.google.com

Imposta:

# imposta campo URL
> ninjarmm-cli set url https://www.ninjarmm.com

Campi della documentazione

Recupero:

# recupera l'elenco dei modelli
> ninjarmm-cli templates
1=modello 1
2=modello 2

# recupera l'elenco dei documenti in base all'ID del modello
> ninjarmm-cli documents 2
16=modello 2

# recupera l'elenco dei documenti in base al nome del modello
> ninjarmm-cli documents "modello 2"
16=modello 2

# recupera il valore del campo da un documento
> ninjarmm-cli get "template 2" "template 2" fieldname
Questo è il valore del campo

Imposta:

# imposta un attributo sul documento/attributo specificato tramite nome del documento e ID/nome del modello (virgolette obbligatorie)
> ninjarmm-cli org-set "modello 2" "ExampleDoc" ExampleTextField "SampleText1"

# imposta l’attributo su un singolo documento/attributo in base al nome del modello (virgolette obbligatorie)
> ninjarmm-cli org-set "template 2" ExampleTextField "SampleText1"

# cancella il valore di un documento in base al nome del documento e all’ID/nome del modello (virgolette obbligatorie, rappresentato come NULL)
> ninjarmm-cli org-clear "template 2" "ExampleDoc" ExampleTextField

# cancella il valore di un singolo documento in base al nome del modello (virgolette obbligatorie, rappresentato come NULL)
> ninjarmm-cli org-clear "template 2" ExampleTextField

Opzioni:

# ottieni l'elenco dei valori validi per il nome di un attributo del documento in base al nome del documento e all'ID/nome del modello (valido per attributi a menu a discesa e a selezione multipla)
> ninjarmm-cli org-options "template 2" "ExampleDoc" ExampleTextField

# Ottenere l'elenco dei valori validi per un singolo nome di attributo del documento in base al nome del modello (valido per attributi a menu a discesa e a selezione multipla)
> ninjarmm-cli org-options "template 2" ExampleTextField

Interazione con i campi personalizzati tramite comandi Powershell o script personalizzati

Gli esempi in questa sezione mostrano come utilizzare i comandi o gli script di PowerShell per tipi specifici di campi personalizzati. Utilizza i link sottostanti per accedere agli script che desideri consultare:

Casella di controllo

Per il campo Casella di controllo, il valore impostato deve essere vero (1) o falso (0).

Get:

# ottieni il valore del campo casella di controllo
> Ninja-Property-Get globalcheckbox
0

Imposta:

# imposta un valore booleano nel campo casella di controllo
> Ninja-Property-Set globalcheckbox 0
0
> Ninja-Property-Set globalcheckbox 1
1
> Ninja-Property-Set globalcheckbox true
1
> Ninja-Property-Set globalcheckbox false
0

Data

Per il campo Data, il valore impostato deve essere espresso in secondi o in formato ISO (aaaa-mm-gg in UTC).

Ritira:

# ottieni il valore del campo data
> Ninja-Property-Get globaldate
456

Imposta:

# imposta il valore nel campo data
> Ninja-Property-Set globaldate 1626875470000

> Ninja-Property-Set testdate 2021-10-15
1634256000

Data/Ora

Richiesta:

# recupera il valore del campo data-ora
> Ninja-Property-Get globaldatetime
1626875470000

Imposta:

# imposta il valore nel campo data e ora
> Ninja-Property-Set globaldatetime 1626875470000
1626875470000

> Ninja-Property-Set testdatetime 2021-10-15T00:00:00
1634256000

Decimale

Get:

# ottieni il valore del campo decimale
> Ninja-Property-Get globaldecimal
123,456

Imposta:

# imposta il valore nel campo decimale
> 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 # troncato alla precisione massima; è preferibile non utilizzare una precisione maggiore per evitare problemi di conversione del tipo di dati

> Ninja-Property-Set typedecimal 1234567890,1234567890
1234567890,123457

Menu a tendina

Opzioni:

# Elenco delle opzioni per il campo a tendina
> Ninja-Property-Options globaldropdown
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Opzione1
f1ba449c-fd34-49df-b878-af3877180d17=Opzione3

Ottenere il GUID di un'opzione di nome dell'opzione:

# trova il GUID dell’opzione di discesa in base al nome dell’opzione per il campo a discesa
> Ninja-Property-Get globaldropdown | grep "Opzione 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Ottenere:

# ottieni il valore del campo a discesa
> Ninja-Property-Get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981a

Imposta:

# imposta il valore nel campo a tendina
> Ninja-Property-Set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

Email

Recupero:

# recupera il valore memorizzato
> Ninja-Property-Get typeemail
[email protected]

Imposta:

# correggere i valori
> Ninja-Property-Set typeemail [email protected]
[email protected]

> Ninja-Property-Set typeemail [email protected]
[email protected]

# impostare valori errati
> Ninja-Property-Set typeemail [email protected]
Errore: formato/tipo di valore errato ...

Numero intero

Per il campo Integer, è necessario specificare un numero intero (un numero senza decimali) entro l'intervallo -2147483648 a 2147483647.

Ottenere:

# ottieni il valore del campo intero
> Ninja-Property-Get globalinteger
456

Imposta:

# imposta un valore nel campo intero
> Ninja-Property-Set globalinteger 123

Indirizzo IP

Per il campo IP , il valore da impostare deve essere nel formato IPv4 (Internet Protocol versione 4) o IPv6 (Internet Protocol versione 6).

Get:

# recupera il valore memorizzato
> Ninja-Property-Get typeipaddress
192.168.1.100

Imposta:

# imposta valori corretti
> Ninja-Property-Set typeipaddress 255.255.255.255
255.255.255.255

> Ninja-Property-Set typeipaddress 0.0.0.0
0.0.0.0

# imposta valori errati
> Ninja-Property-Set typeipaddress 192.168.1.
Errore: formato/tipo di valore errato ...

> Ninja-Property-Set typeipaddress 255.255.255.256
Errore: formato/tipo di valore errato ...

> Ninja-Property-Set typeipaddress 0.-1.0.0
Errore: formato/tipo di valore errato ...

Multilinea

A causa delle restrizioni della CLI o del Terminale, il testo deve essere inserito nel prompt dei comandi su un'unica riga ed è limitato a 10.000 caratteri.

Ottenere:

# get campo di testo
> Ninja-Property-Get globaltext
sampletext1

Imposta:

# imposta campo di testo
>Ninja-Property-Set globaltext sampletext2

Selezione multipla

Opzioni:

# Elenca le opzioni per il campo di selezione multipla
> Ninja-Property-Options globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Opzione1
f1ba449c-fd34-49df-b878-af3877180d17=Opzione3

Ottenere il GUID di un'opzione di nome:

# trova il GUID dell'opzione in base al nome dell'opzione per il campo di selezione multipla
> Ninja-Property-Options globalmultiselect | grep "Opzione 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40ba67c4f981a

Imposta:

# imposta più valori per il campo di selezione multipla, separati da virgola
> Ninja-Property-Set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008, 
74a6ffda-708e-435a-86e3-40b67c4f981a

Get:

# ottieni i valori per il campo di selezione multipla
> Ninja-Property-Get globalmultiselect
333f541e-747e-4a1e-a1e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Numero di telefono

Recupera:

# recupera il valore memorizzato
Ninja-Property-Get typephone
+1234567890

Imposta:

# imposta i valori corretti
> Ninja-Property-Set typephone +77013273916
+77013273916

> Ninja-Property-Set typephone 123456789012344567
123456789012344567

> Ninja-Property-Set typephone 123456789012344567
123456789012344567

> Ninja-Property-Set typephone +123456789012344567
+123456789012344567

# impostazione di valori errati
> Ninja-Property-Set typephone 14953273916qwerty
Errore: formato/tipo del valore errato ...

> Ninja-Property-Set typephone 14953273916qwerty
Errore: formato/tipo del valore errato ...

> Ninja-Property-Set typephone 1234567890123445678 # troppo lungo
Errore: formato/tipo del valore errato...

> Ninja-Property-Set typephone ++123456789012344567
Errore: formato/tipo del valore errato...

Sicurezza

Recupera:

# recupera il campo «secure»
> Ninja-Property-Get globalsecure
sampletext1

Imposta:

# imposta campo protetto
> Ninja-Property-Set globalsecure sampletext2

Testo

Get:

# recupera campo di testo
> Ninja-Property-Get globaltext
sampletext1

Imposta:

# imposta campo di testo
>Ninja-Property-Set globaltext sampletext2

Ora

Per il campo Ora , il valore impostato deve essere espresso in secondi o nel formato ISO (hh:mm:ss).

Ritira:

# ottieni il valore del campo "Time"
> Ninja-Property-Get globaldatetime
120

Imposta:

# imposta il valore nel campo "Tempo"
> Ninja-Property-Set globaldatetime 3600
3600

> Ninja-Property-Set testdatetime 00:00:00
0

URL

Il campo URL è limitato a 200 caratteri e deve iniziare con "https://'".

Get:

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

Imposta:

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

Campi della documentazione

Recupera:

# recupera l'elenco dei modelli
> Ninja-Property-Docs-Templates
1=modello 1
2=modello 2

# recupera l'elenco dei documenti in base all'ID del modello
> Ninja-Property-Docs-Names 2
16=modello 2

# recupera l'elenco dei documenti in base al nome del modello
> Ninja-Property-Docs-Names "modello 2"
16=modello 2

# recupera il valore del campo da un documento
> Ninja-Property-Docs-Get "template 2" "template 2" fieldname
Questo è il valore del campo

Imposta:

# imposta un attributo sul documento/attributo specificato tramite nome del documento e ID/nome del modello (virgolette obbligatorie)
> Ninja-Property-Docs-Set 2 "ExampleDoc" ExampleTextField

# imposta un attributo su un singolo documento/attributo tramite nome del modello (virgolette obbligatorie)
> Ninja-Property-Docs-Set-Single "modello 2" ExampleTextField "sampletext1"

# cancella il valore di un documento in base al nome del documento e all’ID/nome del modello (virgolette obbligatorie, rappresentato come NULL)
> Ninja-Property-Docs-Clear "modello 2" "ExampleDoc" ExampleTextField

# cancella il valore di un singolo documento in base al nome del modello (virgolette obbligatorie, rappresentato come NULL)
> Ninja-Property-Docs-Clear-Single "modello 2" ExampleTextField

Opzioni:

# ottenere l'elenco dei valori validi per il nome di un attributo del documento in base al nome del documento e all'ID/nome del modello (valido per attributi a Menu a discesa e a Selezione multipla)
> Ninja-Property-Docs-Options "template 2" "ExampleDoc" ExampleTextField

# ottenere l’elenco dei valori validi per un singolo nome di attributo del documento in base al nome del modello (valido per attributi a menu a discesa e a selezione multipla)
> Ninja-Property-Docs-Options-Single "template 2" ExampleTextField

Risorse aggiuntive

Per ulteriori informazioni sulla documentazione, sui campi personalizzati, sulla CLI e sugli script, consultare i seguenti articoli:

Interfaccia a riga di comando (CLI)

Uso dell’interfaccia della riga di comando (CLI) in NinjaOne.

Documentazione e campi personalizzati

Scripting

Domande frequenti

Passi successivi