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

  • Gestione degli endpoint NinjaOne
  • Documentazione NinjaOne

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 da script personalizzati.

Seleziona una categoria per saperne di più:

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 nella CLI o in 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é ninjarmm-cli.exe risiede in una cartella protetta inaccessibile agli utenti normali, è necessario eseguire qualsiasi script che utilizzi questa funzionalità come 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 dell'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 delle automazioni può accedere ai campi protetti, che includono:

  • Condizioni di script
  • Condizioni composte dello script
  • Attività pianificate in base alle politiche
  • Attività pianificate globali
  • Azioni "Esegui prima" relative a backup, applicazione di patch, installazione dell'applicazione e attività simili
  • Azioni "Esegui dopo" su backup, applicazione di patch, installazione dell'applicazione e attività simili
  • Azioni di automazione in base alle condizioni
  • Esegui automazione

Alcuni aspetti importanti da tenere in considerazione 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, incluse 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: /Applications/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 set $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 di NinjaRMM Agent.
Utilizzo:
  help - mostra questo testo

Campi globali e di ruolo:

get <nome attributo> - ottiene il valore dell'attributo con il nome specificato

set <nome attributo> <valore attributo e elenco di valori separati da virgola> - imposta il valore sull'attributo specificato
   --stdin - modificatore opzionale per utilizzare dati in pipe. Ad esempio: dir | %NINJARMMCLI% set --stdin myfield

options <nome attributo> - ottiene l'elenco dei valori validi per il nome dell'attributo (utile per attributi a menu a tendina e a selezione multipla)

Campi della documentazione:

templates - ottiene un elenco dei modelli che contengono documenti e attributi
   --ids, --names - modificatori opzionali

documents "<id/nome modello>" - ottiene un elenco dei documenti per il modello in base all'id o al nome (virgolette obbligatorie)
   --ids, --names - modificatori opzionali

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 modello singolo>" <nome attributo> - recupera l'attributo da un singolo documento in base al nome del modello (virgolette obbligatorie)

org-set "<ID/nome modello>" "<nome documento>" <nome attributo> "<valore 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 su un singolo documento/attributo in base al nome del modello (virgolette obbligatorie)

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

org-clear "<nome modello singolo>" <nome attributo> - cancella il valore di un singolo documento in base al nome del modello (virgolette obbligatorie, rappresenta un valore NULL)

org-options "<ID/nome 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/nome del modello (valido per attributi a menu a tendina e a selezione multipla)

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

Formato di output:

codici di uscita: 0 - Successo, 1 - Errore

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

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

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

Tipi di attributi:

  CheckBox - Tipo booleano, valori accettabili: 0, 1, true, false

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

  Decimale - Tipo float, valori compresi tra -9999999.999999 e 9999999.999999, supporta le impostazioni del filtro di input avanzato.

  TextMultiLine, Text - stringa regolare

  TextEmail - stringa regolare, deve corrispondere al formato e-mail RFC 5322

  TextIpAddress - stringa regolare, deve corrispondere al formato IPv4 o IPv6, supporta le impostazioni del filtro di input avanzato

  TextPhone - stringa regolare, deve corrispondere al formato del numero di telefono E.164

  TextEncrypted - stringa crittografata regolare, supporta le impostazioni del filtro di input avanzato (sola 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 tendina - 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 NinjaOne PowerShell

Quando si installa l'agente NinjaOne, NinjaOne distribuisce e carica un modulo PowerShell NinjaOne personalizzato 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

I comandi PowerShell che è possibile eseguire sono descritti in dettaglio di seguito.

Get-NinjaProperty 

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

Il comando accetta un nome di campo, un tipo di proprietà e un nome di documento opzionale. Quando si fornisce un nome di documento, la funzione recupererà il valore della proprietà dal documento Ninja specificato. A seconda del tipo specificato (ad esempio, Date, DateTime, Checkbox, 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 queste opzioni e restituisce un valore di facile utilizzo.

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

La sintassi è la seguente: Get-NinjaProperty [-Name] <String[]> [[-Type] <String>] [[-DocumentName] <String>] [<CommonParameters>]

Esempi

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

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 invece del valore GUID.

Figura 2: Tipodi campo specificato (clicca per ingrandire)

Set-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, quando 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ò anche impostare campi a discesa e a selezione multipla utilizzando i nomi dei campi anziché i loro GUID.

I tipi supportati includono: Checkbox, Date, Date o Date Time, DateTime, Decimal, Dropdown, Email, Integer, IP Address, MultiLine, MultiSelect, Phone, Secure, Text, Time, URL e WYSIWYG.

Esempi

L'impostazione di un campo personalizzato a tendina senza specificare il tipo di campo richiede il valore GUID univoco per l'opzione a tendina desiderata.

Figura 3: Nessun tipo di campo specificato (clicca per ingrandire)

L'impostazione di un campo personalizzato a menu a tendina specificando il tipo di campo come menu a tendina consente di utilizzare il valore intuitivo visualizzato all'interno della piattaforma invece del valore GUID.

Figura 4: Tipodi campo specificato (clicca per ingrandire)

Entrambi i comandi, Get-NinjaProperty e Set-NinjaProperty, supportano pienamente 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 con l'agente NinjaOne installato e digitando:

Get-Help Get-NinjaProperty

Oppure

Get-Help Set-NinjaProperty

Tutti i comandi PowerShell originali di NinjaOne funzionano ancora come previsto in origine. Tali comandi sono:

Ninja-Property-Get $AttributeName
Ninja-Property-Set $AttributeName $Value
Ninja-Property-Options $AttributeName
Ninja-Property-Clear $AttributeName

Comandi di documentazione

Ninja-Property-Docs-Templates
Ninja-Property-Docs-Names $TemplateId
Ninja-Property-Docs-Names "$TemplateName"
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-Clear
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 - ottiene l'elenco dei valori validi per il nome di un singolo attributo del documento in base al nome del modello (valido per attributi a discesa e a selezione multipla)

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

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

Timestamp

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 una data leggibile dall'utente.
  • Se si imposta il valore in formato ISO, verrà convertito in secondi a partire dal 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 true (1) o false (0).

Get:

# 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 impostato deve essere espresso in secondi o nel formato ISO (Organizzazione internazionale per la normazione) (aaaa-mm-gg in UTC).

Ottenere:

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

Imposta:

# imposta 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 impostato deve essere espresso in secondi o in formato ISO (aaaa-mm-gg o hh:mm:ss in UTC).

Ottenere:

# recupera il valore del campo data-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 compreso tra -9999999.999999 e 9999999.999999.

Ottenere:

# ottieni il valore per il campo decimale
> ninjarmm-cli get globaldecimal
123.456

Imposta:

# imposta 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, è meglio 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 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 in base al nome dell'opzione:

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

Ottenere:

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

Imposta:

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

Email

Ottieni:

# 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...

Intero

Per il campo Integer, il valore impostato deve essere un numero intero (un numero intero senza decimali) compreso tra -2147483648 e 2147483647.

Ottenere:

# recupera il valore per il campo intero
> ninjarmm-cli get globalinteger
456

Imposta:

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

Indirizzo IP

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

Ottenere:

# recupera 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

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

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

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

Multiriga

Ottenere:

# get 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 in 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 incorporare spazi inserendo l'intera stringa tra virgolette. Quando si utilizzano questi caratteri di controllo, i dati verranno visualizzati come segue:

Ninja-Property-Set multiline "linea con spazi'nlinea2'nlinea3'nvalorefinale"

multiline
linea con spazi
linea2
linea3
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 i dati nel campo di testo multilinea , oppure si desidera ottenere l'output dal 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 fornisce 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 inviati 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 a 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 in base al nome dell'opzione:

# trova il GUID dell'opzione in base al nome dell'opzione per il campo a 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 a selezione multipla, separati da virgola
> ninjarmm-cli set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008,74a6ffda-708e-435a-86e3-40b67c4f981a

Ottenere:

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

Numero di telefono

Ottieni:

# recupera 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

# imposta valori errati
> ninjarmm-cli set typephone 14953273916qwerty
Errore: formato / tipo di 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 sicuri vengano visualizzati nell'output dello script per i dispositivi Windows, lo script dovrebbe contenere @echo off e @echo on attorno al codice che chiama %NINJARMMCLI% set [nome campo sicuro] [valore sicuro]. Per impostazione predefinita, Windows ripete tutti i comandi che gli utenti immettono o eseguono.

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: 

# get secure field
> ninjarmm-cli get globalsecure
sampletext1

Imposta:

# imposta campo protetto
> ninjarmm-cli set globalsecure sampletext2

Testo

Ottieni:

# ottieni 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 in formato ISO (hh:mm:ss).

Recupera:

# recupera il valore del campo ora
> ninjarmm-cli get globaldatetime
120

Imposta:

# imposta il valore nel campo Ora
> 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://.

Recupera:

# 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

Recupera:

# 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 dal documento
> ninjarmm-cli get "template 2" "template 2" fieldname
Questo è il valore del campo

Imposta:

# imposta l'attributo sul documento/attributo specificato in base al nome del documento e all'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 del 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 dell'attributo del documento in base al nome del documento e all'ID/nome del modello (valido per attributi 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 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 PowerShell per tipi specifici di campi personalizzati. Utilizza i link sottostanti per accedere agli script che desideri esaminare:

Casella di controllo

Per il campo Casella di controllo, il valore impostato deve essere true (1) o false (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).

Get:

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

Imposta:

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

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

Data/Ora

Get:

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

Imposta:

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

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

Decimale

Get:

# recupera il valore per il campo decimale
> Ninja-Property-Get globaldecimal
123,456

Imposta:

# imposta 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 massima precisione, meglio non usare 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 dell'opzione in base al nome dell'opzione:

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

Ottenere:

# ottenere il valore per il 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

Ottieni:

# 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 ...

Intero

Per il campo Integer, il valore impostato deve essere un numero intero (un numero intero senza decimali) compreso tra -2147483648 e 2147483647.

Get:

# recupera il valore per il campo intero
> Ninja-Property-Get globalinteger
456

Imposta:

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

Indirizzo IP

Per il campo IP , il valore impostato deve essere in 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 ...

Multiriga

A causa delle restrizioni della CLI o del terminale, il testo deve essere inserito nel prompt dei comandi su una singola riga ed è limitato a 10.000 caratteri.

Get:

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

Imposta:

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

Selezione multipla

Opzioni:

# elenco delle opzioni per il campo a 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 dell'opzione in base al nome dell'opzione:

# trova il GUID dell'opzione in base al nome dell'opzione per il campo a 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 a selezione multipla, separati da virgola
> Ninja-Property-Set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008, 
74a6ffda-708e-435a-86e3-40b67c4f981a

Get:

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

Numero di telefono

Ottieni:

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

Imposta:

# imposta 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 di valore errato ...

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

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

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

Sicuro

Get:

# recupera campo sicuro
> Ninja-Property-Get globalsecure
sampletext1

Imposta:

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

Testo

Ottieni:

# ottieni campo 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 in formato ISO (hh:mm:ss).

Ottieni:

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

Imposta:

# imposta il valore nel campo ora
> 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:

# ottieni elenco modelli
> Ninja-Property-Docs-Templates
1=modello 1
2=modello 2

# ottieni elenco documenti per ID modello
> Ninja-Property-Docs-Names 2
16=modello 2

# ottieni elenco documenti per nome modello
> Ninja-Property-Docs-Names "modello 2"
16=modello 2

# recupera il valore del campo dal documento
> Ninja-Property-Docs-Get "modello 2" "modello 2" nome_campo
Questo è il valore del campo

Imposta:

# imposta l'attributo sul documento/attributo specificato in base al nome del documento e all'ID/nome del modello (virgolette obbligatorie)
> Ninja-Property-Docs-Set 2 "ExampleDoc" ExampleTextField

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

# cancella il valore del 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:

# ottieni l'elenco dei valori validi per il nome dell'attributo del documento in base al nome del documento e all'ID/nome del modello (valido per attributi 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 discesa e a selezione multipla)
> Ninja-Property-Docs-Options-Single "template 2" ExampleTextField

Risorse aggiuntive

Per ulteriori informazioni sulla documentazione, i campi personalizzati, la CLI e lo scripting, consultare i seguenti articoli:

Interfaccia a riga di comando (CLI)

Utilizzo dell'interfaccia della riga di comando (CLI) in NinjaOne.

Documentazione e campi personalizzati

Scripting

Domande frequenti

Passi successivi