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

  • NinjaOne Endpoint Management
  • Documentazione NinjaOne

Descrizione

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

Selezionare 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 della documentazione.
  • È possibile leggere o scrivere dati di documentazione nella CLI o in script personalizzati. È possibile generare un elenco di modelli, un elenco dei documenti per nome del modello o numero di identificazione e il valore di ciascun campo in un documento.
    • La CLI o gli script personalizzati possono accedere solo ai modelli e ai 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 utilizza 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. Fai 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 sicuri.

Qualsiasi automazione eseguita dalla Libreria automazioni può accedere ai campi protetti, che includono:

  • Condizioni di script
  • Condizioni composte dello script
  • Attività pianificate dalla politica
  • Attività pianificate globali
  • Esecuzione prima delle azioni di backup, patch, installazione dell'applicazione e attività simili
  • Esecuzione dopo azioni relative a backup, patch, installazione dell'applicazione e attività simili
  • Azioni di automazione in base alle condizioni
  • Esegui automazione

Alcune cose importanti da notare riguardo ai campi sicuri 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 sicuri.
  • Solo i comandi eseguiti su un dispositivo locale avviato 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 o terminale Windows

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 di ambiente speciale a livello di sistema:

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

La CLI NinjaRMM è simile al seguente esempio 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 ed elenco di valori separati da virgola> - imposta il valore sull'attributo specificato
   --stdin - modificatore opzionale per utilizzare dati canalizzati. Ad esempio: dir | %NINJARMMCLI% set --stdin myfield

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

Campi della documentazione:

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

documenti "<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> - ottieni 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 ed elenco valori separati da virgola>" - imposta l'attributo sul documento/attributo specificato in base al nome del documento e all'id/nome del modello (virgolette obbligatorie)

org-set "<nome modello singolo>" <nome attributo> "<valore attributo ed elenco valori separati da virgola>" - 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 NULL)

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

org-options "<id/nome del modello>" "<nome del documento>" <nome dell'attributo> - 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 (effettivo per attributi a discesa e a selezione multipla)

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

Formato di output:

codici di uscita: 0 - Successo, 1 - Errore

in caso di successo: uscire con 0 e stampare il valore

in caso di errore:   uscire con 1 e stampare la descrizione dell'errore

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

Tipi di attributi:

  Casella di controllo - Tipo booleano, valori accettabili: 0, 1, vero, falso

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

  Decimale - Tipo float, valori compresi tra -9999999,999999 e 9999999,999999, supporta le impostazioni avanzate del filtro di input.

  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 avanzate del filtro di input

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

  TextEncrypted - stringa regolare crittografata, supporta le impostazioni avanzate del filtro di input (solo scrittura per la documentazione)

  DateTime - Secondi interi dall'inizio dell'epoca Unix o formato ISO "yyyy-MM-ddTHH:mm: ss" senza fuso orario (UTC)

  Date - Intero in secondi dall'inizio dell'epoca Unix o formato ISO "yyyy-MM-dd"

  Time - Intero in 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

  Drop-down - un'opzione univoca (vedere il comando <options>)

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

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

  WYSIWYG - (di 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 NinjaOne PowerShell

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 recupera il valore della proprietà dal documento Ninja specificato. A seconda del tipo specificato (ad esempio, Data, Data e ora, Casella di controllo, Menu a discesa, ecc.), la funzione converte il valore grezzo in un oggetto PowerShell appropriato. Se il tipo di proprietà richiede opzioni aggiuntive come menu a discesa 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 discesa dispositivo, Selezione multipla dispositivo, Menu a discesa, E-mail, Intero, Indirizzo IP, Multiriga, Selezione multipla, Menu a discesa organizzazione, Menu a discesa posizione organizzazione, Selezione multipla posizione 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 discesa di un campo personalizzato senza specificare il tipo restituisce il valore GUID dell'opzione selezionata nel menu a discesa.

powershell1-upscaled.png
Figura 1: Nessun tipo di campo specificato (fare clic 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.

powershell2-upscaled.png
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 Unix epoch 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: Casella di controllo, Data, Data o Data e ora, Data e ora, Decimale, Menu a discesa, E-mail, Intero, Indirizzo IP, Multiriga, Multiselezione, Telefono, Sicuro, Testo, Ora, URL e WYSIWYG.

Esempi

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

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

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

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

Entrambi i comandi, Get-NinjaProperty e Set-NinjaProperty, supportano completamente Unicode, consentendo di impostare e recuperare 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 immettendo:

Get-Help Get-NinjaProperty

Oppure

Get-Help Set-NinjaProperty

Tutti i comandi NinjaOne PowerShell originali continuano a funzionare 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 richieste, rappresentato come NULL)
Ninja-Property-Docs-Options-Single - ottiene l'elenco dei valori validi per il nome dell'attributo di un singolo documento in base al nome del modello (effettivo per attributi a discesa e a selezione multipla)

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

Gli esempi in questa sezione mostrano come utilizzare i comandi e gli script batch per tipi specifici di campi personalizzati. Descrivono le 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

Il tempo viene calcolato 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 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 vero (1) o falso (0).

Ottieni:

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

Imposta:

# impostare un valore booleano sul 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).

Ottieni:

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

Imposta:

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

Ottieni:

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

Imposta:

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

Ottieni:

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

Imposta:

# impostare 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 massima precisione, è 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 Dropdown, 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:

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

Ottieni 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

Ottieni:

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

Imposta:

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

Email

Ottieni:

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

Imposta:

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

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

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

Ottieni:

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

Imposta:

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

Ottieni:

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

Imposta:

# impostare i 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 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

Ottieni:

# ottieni 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 convogliati
> 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. È anche possibile incorporare spazi mettendo 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'nline2'nline3'nfinalval"

multiline
line with spaces
line2
line3
finalval

La sintassi predefinita del comando "Set" è sufficiente nella maggior parte dei casi. Con la sintassi predefinita, lo strumento 'ninjarmm-cli' prende 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 o 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 Unix. Ad esempio: dir | ninjarmm-cli set --stdin [nome del mio campo] o cat /proc/cpuinfo | grep vendor_id | ninjarmm-cli set --stdin [altro nome di campo]. I dati convogliati saranno memorizzati nel campo di destinazione se soddisfano tutte le condizioni relative al tipo di campo.

Selezione multipla

Opzioni:

# elenca le 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

Ottieni 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:

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

Ottieni:

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

Numero di telefono

Ottieni:

# ottieni valore memorizzato
ninjarmm-cli get typephone
+1234567890

Imposta:

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

Sicuro

Per impedire che i valori dei campi sicuri vengano visualizzati nell'output dello script per i dispositivi Windows, lo script deve contenere @echo off e @echo on attorno al codice che richiama %NINJARMMCLI% set [nome campo sicuro] [valore sicuro]. Per impostazione predefinita, Windows ripete tutti i comandi immessi o eseguiti dagli utenti.

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

Ottieni: 

# ottieni campo sicuro
> ninjarmm-cli get globalsecure
sampletext1

Imposta:

# imposta campo protetto
> ninjarmm-cli set globalsecure sampletext2

Testo

Ottieni:

# ottenere campo 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).

Ottieni:

# ottenere il valore per il campo Ora
> ninjarmm-cli get globaldatetime
120

Imposta:

# impostare 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://.

Ottieni:

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

Ottieni:

# ottieni elenco modelli
> ninjarmm-cli templates
1=modello 1
2=modello 2

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

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

# ottieni il valore del campo dal documento
> ninjarmm-cli 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)
> ninjarmm-cli org-set "modello 2" "DocumentoEsempio" CampoTestoEsempio "TestoEsempio1"

# imposta l'attributo su un singolo documento/attributo in base al nome del modello (virgolette obbligatorie)
> ninjarmm-cli org-set "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)
> 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 (effettivo per attributi a discesa e a selezione multipla)
> ninjarmm-cli org-options "modello 2" "DocumentoEsempio" CampoTestoEsempio

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

Interagire 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 vero (1) o falso (0).

Ottieni:

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

Imposta:

# impostare 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 nel formato ISO (aaaa-mm-gg in UTC).

Ottieni:

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

Imposta:

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

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

Data/Ora

Ottieni:

# ottieni il valore per il campo data-ora
> Ninja-Property-Get globaldatetime
1626875470000

Imposta:

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

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

Decimale

Ottieni:

# ottieni valore per 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:

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

Ottieni 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 "Opzione1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Ottieni:

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

Imposta:

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

Email

Ottieni:

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

Imposta:

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

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

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

Ottieni:

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

Imposta:

# impostare il 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).

Ottieni:

# ottieni valore memorizzato
> Ninja-Property-Get typeipaddress
192.168.1.100

Imposta:

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

# impostare 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 come una singola riga ed è limitato a 10.000 caratteri.

Ottieni:

# 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 a selezione multipla
> Ninja-Property-Options globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Opzione2
74a6ffda-708e-435a-86e3-40b67c4f981a=Opzione1
f1ba449c-fd34-49df-b878-af3877180d17=Opzione3

Ottieni 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:

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

Ottieni:

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

Numero di telefono

Ottieni:

# ottieni valore memorizzato
Ninja-Property-Get typephone
+1234567890

Imposta:

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

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

Ottieni:

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

Imposta:

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

Testo

Ottieni:

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

Ottieni:

# ottieni valore per campo ora
> Ninja-Property-Get globaldatetime
120

Imposta:

# impostare 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://'".

Ottieni:

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

Ottieni:

# 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

# ottieni 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 "template 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 "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 (effettivo per attributi a discesa e a selezione multipla)
> Ninja-Property-Docs-Options "modello 2" "ExampleDoc" ExampleTextField

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

Risorse aggiuntive

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

Interfaccia della riga di comando (CLI)

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

Documentazione e campi personalizzati

Scripting

Domande frequenti

Passi successivi