Sie sind bereits NinjaOne-Kunde? Melden Sie sich an, um weitere Leitfäden und die neuesten Updates zu sehen.

Command Line Interface (CLI): Benutzerdefinierte Felder und Dokumentation Scripting

Thema

Diese Dokumentation erklärt, wie die Komponente ninjarmm-cli für die Betriebssysteme Microsoft Windows, Apple macOS und Linux verwendet wird.

Umgebung

  • NinjaOne Endpunkt-Verwaltung
  • NinjaOne Documentation

Beschreibung

Die Komponente ninjarmm-cli ist eine ausführbare Datei, die Ihnen den Zugriff auf und die Interaktion mit bestimmten benutzerdefinierten Feldern und Dokumentationsdaten über die Befehlszeilenschnittstelle (CLI), das Terminal oder benutzerdefinierte Skripts ermöglicht.

Wählen Sie eine Kategorie, um mehr zu erfahren:

Wichtige Hinweise

Bevor Sie ninjarmm-cli verwenden, sollten Sie Folgendes beachten:

  • Sichere Felder sind für Dokumentationsfelder schreibgeschützt.
  • Sie können Dokumentationsdaten in der CLI oder in benutzerdefinierten Skripten lesen oder schreiben. Sie können eine Liste der Vorlagen, eine Liste der Dokumente nach Vorlagenname oder Identifikationsnummer und den Wert jedes Feldes in einem Dokument erstellen.
    • CLI oder benutzerdefinierte Skripte können nur auf Vorlagen und Dokumente zugreifen, die mindestens ein ausgefülltes Feld enthalten. Leere Vorlagen und Dokumente werden nicht angezeigt.
  • Sie können benutzerdefinierte Skripte verwenden, die entweder in Batch oder PowerShell für Windows oder in ShellScript für macOS und Linux geschrieben wurden. Da sich die Datei ninjarmm-cli.exe in einem geschützten Ordner befindet, der für normale Benutzer unzugänglich ist, sollten Sie jedes Skript, das diese Funktion verwendet, als System ausführen oder die Berechtigungen entsprechend ändern.
  • Bei Linux-Geräten müssen Sie im Terminal . / vor ninjarmm-cli hinzufügen, damit der Befehl korrekt ausgeführt wird.
  • Wenn Sie bei Windows-Geräten die Ausgabe des Befehls ninjarmm-cli get in einer Variablen speichern müssen, können Sie den optionalen Parameter --direct-out verwenden, um die Verwendung des Standardausgabekanals stdout anstelle von Windows-API-Funktionen wie WriteConsoleW/WriteFile zu erzwingen. Dadurch verlieren Sie jedoch möglicherweise die Unterstützung für die Unicode-Ausgabe, die bei einigen Windows-Versionen mit dem stdout-Kanal nicht korrekt funktioniert. Siehe das folgende Beispiel für diesen Befehl:
 ninjarmm-cli --direct-out get [field name]

Zugriff auf sichere Felder über Automationen

Sie können nicht mehr als 200 Zeichen für sichere Felder verwenden.

Jede Automatisierung, die Sie über die Automatisierungsbibliothek ausführen, kann auf sichere Felder zugreifen:

  • Skriptbedingungen
  • Bedingungen für Skriptverbindungen
  • Geplante Aufgaben der Richtlinie
  • Globale geplante Aufgaben
  • Ausführen vor Aktionen wie Backup, Patching, Installation der Anwendung und ähnlichen Aufgaben
  • Nach Aktionen wie Backup, Patching, Installation der Anwendung und ähnlichen Aufgaben ausführen
  • Automatisierung handelt nach Bedingungen
  • Automatisierung durchführen

In Bezug auf sichere Felder sind einige wichtige Dinge zu beachten:

  • NinjaOne ermöglicht den Zugriff auf sichere benutzerdefinierte Felder nur während der Ausführung der Automatisierung.
  • Das Webterminal oder das lokale Terminal kann nicht auf sichere benutzerdefinierte Felder zugreifen.
  • Nur Befehle, die auf einem von NinjaOne initiierten lokalen Gerät ausgeführt werden, können auf benutzerdefinierte Felder zugreifen, einschließlich GET- und SET-Operationen, benutzerdefinierte sichere Felder und sichere Dokumentationsfelder. In der Dokumentation sichere Felder werden jedoch nur SET-Operationen über die CLI verwendet.

Interaktion mit benutzerdefinierten Feldern über Windows CLI oder Terminal

Der Agent entpackt die Programmdatei automatisch in die folgenden Ordner:

  • Windows: C:ProgrammDatenNinjaRMMAgentninjarmm-cli.exe
  • macOS: /Programme/NinjaRMMAgent/programdata/ninjarmm-cli
  • Linux: /opt/NinjaRMMAgent/programdata/ninjarmm-cli

Unter Windows verwenden Sie die folgende spezielle Umgebungsvariable auf Systemebene:

  • Windows: %NINJARMMCLI% für C: ProgrammDatenNinjaRMMAgentninjarmm-cli.exe
  • Linux: $NINJA_DATA_PATH/ninjarmm-cli set $feldname $variable

Die NinjaRMM CLI sieht ähnlich aus wie das folgende Windows Beispiel:

c:ProgramDataNinjaRMMAgentninjarmm-cli.exe help ninjarmm-cli - CLI tool to access and manage NinjaRMM Agent Custom Fields.Usage:  help - show this text Global and Role fields: get <attribute name> - get value of the attribute with specified name set <attribute name> <attribute value and comma-separated values list> - set value to the specified attribute   --stdin - optional modifier to use piped data. For example: dir | %NINJARMMCLI% set --stdin myfield options <attribute name> - get list of the valid values for attribute name (actual for drop-down and multi-select attributes) Documentation fields: templates - get a list of the templates, which have documents and attributes   --ids, --names - optional modifiers documents "<template id/name>" - get a list of the documents for the template by id or name (quotes required)   --ids, --names - optional modifiers get "<template id/name>" "<document name>" <attribute name> - get attribute from document by document name and template id/name (quotes required) get "<single template name>" <attribute name> - get attribute from single document by template name (quotes required) org-set "<template id/name>" "<document name>" <attribute name> "<attribute value and comma-separated values list>" - set attribute to the specified document/attribute by document name and template id/name (quotes required) org-set "<single template name>" <attribute name> "<attribute value and comma-separated values list>" - set attribute to single document/attribute by template name (quotes required) org-clear "<template id/name>" "<document name>" <attribute name> - clear value of document by document name and template id/name (quotes required, represents as NULL) org-clear "<single template name>" <attribute name> - clear the value of a single document by template name (quotes required, represents as NULL) org-options "<template id/name>" "<document name>" <attribute name> - get list of the valid values for document attribute name by document name and template id/name (actual for drop-down and multi-select attributes) org-options "<single template name>" <attribute name> - get a list of the valid values for a single document attribute name by template name (actual for drop-down and multi-select attributes) Output format: exit codes: 0 - Success, 1 - Error on success: exit with 0 and print value on error:   exit with 1 and print error description to read exit code: Win: 'echo %errorlevel%', Unix: 'echo $?' Attribute types:   CheckBox - Boolean type, acceptable values: 0, 1, true, false   Numeric - Integer type, values range from -2147483648 to 2147483647, supports Advanced Input filter settings.   Decimal - Float type, values range from -9999999.999999 to 9999999.999999, supports Advanced Input filter settings.   TextMultiLine, Text - regular string   TextEmail - regular string, should match RFC 5322 Email format   TextIpAddress - regular string, should match IPv4 or IPv6 format, supports Advanced Input filter settings   TextPhone - regular string, should match E.164 phone number format   TextEncrypted - regular encrypted string, supports Advanced Input filter settings (write-only for Documentation)   DateTime - Integer seconds since start of Unix epoch or ISO format 'yyyy-MM-ddTHH:mm: ss' without TimeZone (UTC)   Date - Integer seconds since start of Unix epoch or ISO format 'yyyy-MM-dd'   Time - Integer seconds or ISO format 'HH:mm:ss'   MultiSelect - list of unique options (view <options> command)   MultiSelectNode, MultiSelectClient, MultiSelectClientLocation - (read-only by CLI) organization-related data   Drop-down - one unique option (see <options> command)   DropdownNode, DropdownClient, DropdownClientLocation - (read-only by CLI) organization-related data   Attachment - (read-only by CLI) JSON-object with information about the file.   WYSIWYG - (read-only by CLI) JSON-object with HTML and TEXT content

NinjaOne PowerShell-Modul

Bei der Installation des NinjaOne-Agenten wird ein benutzerdefiniertes NinjaOne PowerShell-Modul für die Interaktion mit benutzerdefinierten Feldern bereitgestellt und geladen. Sie können auf Windows-Geräten über dieses PowerShell-Modul auf die ninjarmm-cli zugreifen, indem Sie einfach die Funktionsnamen in PowerShell aufrufen.

NinjaOne PowerShell-Befehle

Die PowerShell-Befehle, die Sie ausführen können, sind im Folgenden aufgeführt.

Get-NinjaProperty 

Der Befehl "Get-NinjaProperty" ist eine Weiterentwicklung des ursprünglichen Befehls "Ninja-Property-Get". Die Funktion Get-NinjaProperty ruft den Wert eines benutzerdefinierten Ninja-Feldes ab und konvertiert ihn auf der Grundlage des angegebenen Feldnamens und -typs.

Der Befehl akzeptiert einen Feldnamen, einen Eigenschaftstyp und einen optionalen Dokumentnamen. Wenn Sie einen Dokumentnamen angeben, ruft die Funktion den Eigenschaftswert aus dem angegebenen Ninja-Dokument ab. Je nach angegebenem Typ (z. B. Date, DateTime, Checkbox, Dropdown usw.) konvertiert die Funktion den Rohwert in ein entsprechendes PowerShell-Objekt. Wenn der Eigenschaftstyp zusätzliche Optionen wie Dropdowns oder Mehrfachauswahlfelder erfordert, ruft die Funktion diese Optionen ab und gibt einen benutzerfreundlichen Wert zurück.

Unterstützt werden folgende Typen: Anhang, Kontrollkästchen, Datum, Datumszeit, Dezimal, Geräte-Dropdown, Geräte-MultiSelect, Dropdown, E-Mail, Ganzzahl, IP-Adresse, MultiLine, MultiSelect, Organisations-Dropdown, Organisations-Standort-Dropdown, Organisations-Standort-MultiSelect, Organisation-MultiSelect, Telefon, Sicher, Text, Zeit, WYSIWYG und URL.

Die Syntax lautet wie folgt: Get-NinjaProperty [-Name] <String[]> [[-Type] <String>] [[-DocumentName] <String>] [<CommonParameters>]

Beispiele

Der Abruf eines benutzerdefinierten Dropdown-Feldes ohne Angabe des Typs gibt den GUID-Wert der ausgewählten Dropdown-Option zurück.

powershell1-hochskaliert.png
1. Screenshot: Kein Feldtyp angegeben (zum Vergrößern klicken)

Der Abruf eines benutzerdefinierten Dropdown-Feldes unter Angabe des benutzerdefinierten Feldtyps (Dropdown) führt dazu, dass der Befehl den benutzerfreundlichen Wert zurückgibt, der in der Plattform zu sehen ist, und nicht den GUID-Wert.

powershell2-hochskaliert.png
2. Screenshot: Feldtyp angegeben (zum Vergrößern klicken)

Set-NinjaProperty

Der Befehl Set-NinjaProperty ist eine Weiterentwicklung des ursprünglichen Befehls Ninja-Property-Set. Die Funktion Set-NinjaProperty setzt ein benutzerdefiniertes Feld auf der Grundlage der angegebenen Parameter. Wenn ein Feldtyp angegeben wird, wird versucht, den angegebenen Wert in einen Wert umzuwandeln, der von diesem bestimmten Feld unterstützt wird. Wenn beispielsweise ein DateTime-Objekt mit dem Typ "Date" angegeben wird, wird das Datumsobjekt in einen Unix-Epochenzeitstempel umgewandelt und das Feld mit diesem Wert belegt.

Es kann auch Dropdown- und Mehrfachauswahlfelder unter Verwendung von Feldnamen statt ihrer GUIDs festlegen.

Unterstützt werden folgende Typen: Kontrollkästchen, Datum, Datum oder Datumszeit, DateTime, Dezimal, Dropdown, E-Mail, Ganzzahl, IP-Adresse, MultiLine, MultiSelect, Telefon, Sicher, Text, Zeit, URL und WYSIWYG.

Beispiele

Das Einstellen eines benutzerdefinierten Dropdown-Feldes ohne Angabe des Feldtyps erfordert den eindeutigen GUID-Wert für die gewünschte Dropdown-Option.

powershell3-hochskaliert.png
3. Screenshot: Kein Feldtyp angegeben (zum Vergrößern klicken)

Wenn Sie ein benutzerdefiniertes Dropdown-Feld einrichten und den Feldtyp als Dropdown angeben, können Sie den benutzerfreundlichen Wert verwenden, der innerhalb der Plattform anstelle des GUID-Werts angezeigt wird.

powershell4-hochskaliert.png
4. Screenshot: Feldtyp angegeben (zum Vergrößern klicken)

Beide Befehle, Get-NinjaProperty und Set-NinjaProperty, haben volle Unicode-Unterstützung, so dass Sie über diese Befehle Emojis setzen und abrufen können.

Sie können auf zusätzliche Details und Beispiele für beide Befehle zugreifen, indem Sie PowerShell auf einem Gerät mit installiertem NinjaOne-Agent öffnen und eingeben:

Get-Help Get-NinjaProperty

Oder

Get-Help Set-NinjaProperty

Alle ursprünglichen NinjaOne PowerShell-Befehle funktionieren immer noch wie ursprünglich vorgesehen. Diese Befehle sind:

Ninja-Property-Get $AttributeNameNinja-Property-Set $AttributeName $ValueNinja-Property-Options $AttributeNameNinja-Property-Clear $AttributeName

Dokumentation Befehle

Ninja-Property-Docs-TemplatesNinja-Property-Docs-Names $TemplateIdNinja-Property-Docs-Names "$TemplateName"Ninja-Property-Docs-Get $TemplateId "$DocumentName" $AttributeNameNinja-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-ClearNinja-Property-Docs-OptionsNinja-Property-Docs-Clear-Single - clear value of single document by template name (quotes required, represented as NULL)Ninja-Property-Docs-Options-Single - get list of the valid values for single document attribute name by template name (actual for drop-down and multi-select attributes)

Interaktion mit benutzerdefinierten Feldern über Windows CLI-Befehle, benutzerdefinierte Batch-Skripte, ShellScript unter UNIX oder benutzerdefinierte ShellScript-Skripte

Die Beispiele in diesem Abschnitt zeigen, wie Sie Befehle und Batch-Skripts für bestimmte Arten von benutzerdefinierten Feldern verwenden. Sie beschreiben Aufrufe an ninjarmm-cli ohne vollständigen Pfad, aber Sie können den vollständigen Pfad je nach Plattform angeben, wie weiter oben in diesem Artikel beschrieben. Von welcher Plattform aus Sie Calls an die CLI-Utility richten, hat keinerlei Auswirkungen.

Zeitstempel

Die Zeit wird wie folgt berechnet:

  • Das System verweist auf den 1. Januar 1970 um 00:00:00 UTC als Unix-Epoche.
  • Der Datumswert ist Sekunden vom 1. Januar 1970 um 00:00:00 UTC. Sie können ein Zeitstempel-Konvertierungstool verwenden, um diesen Wert für ein von Menschen lesbares Datum zu erhalten.
  • Wenn Sie den Wert im ISO-Format angeben, wird er in die Sekunden vom 1970-01-01 in UTC umgerechnet.

Die Beispiele in diesem Abschnitt zeigen, wie Sie PowerShell-Befehle oder -Skripts für bestimmte Typen von benutzerdefinierten Feldern verwenden.

Wählen Sie ein Thema aus, um fortzufahren:

Kontrollkästchen

Für das Feld Kontrollkästchen muss der eingestellte Wert entweder wahr (1) oder falsch (0) sein.

Get:

# get value for checkbox field> ninjarmm-cli get globalcheckbox0

Set:

# set a boolean value to the checkbox field> ninjarmm-cli set globalcheckbox 00> ninjarmm-cli set globalcheckbox 11> ninjarmm-cli set globalcheckbox true1> ninjarmm-cli set globalcheckbox false0

Datum

Für das Feld Datum muss der eingestellte Wert in Sekunden oder im ISO-Format (jjjj-mm-tt in UTC) angegeben werden.

Get:

# get value for date field> ninjarmm-cli get globaldate456

Set:

# set value to date field> ninjarmm-cli set globaldate 1626875470000 > ninjarmm-cli set testdate 2021-10-151634256000

Datum und Uhrzeit

Für das Feld Datum/Uhrzeit muss der eingestellte Wert in Sekunden oder im ISO-Format (yyyy-mm-dd oder thh:mm:ss in UTC) angegeben werden.

Get:

# get value for date-time field> ninjarmm-cli get globaldatetime1626875470000

Set:

# set value to date-time field> ninjarmm-cli set globaldatetime 16268754700001626875470000 > ninjarmm-cli set testdatetime 2021-10-15T00:00:001634256000

Dezimalzahl

Für das Dezimalfeld muss der eingestellte Wert eine Zahl sein und im Bereich von -9999999,999999 bis 9999999,999999 liegen.

Get:

# get value for decimal field> ninjarmm-cli get globaldecimal123.456

Set:

# set value to decimal field> ninjarmm-cli set typedecimal 11 > ninjarmm-cli set typedecimal 1.231.23 > ninjarmm-cli set typedecimal 1.231.23 > ninjarmm-cli set typedecimal 1.23456789012345678901.234567 # truncated to max precision, better not to use a shorter value to avoid data type conversion issues > ninjarmm-cli set typedecimal 1234567890.12345678901234567890.123457

Dropdown

Für das Dropdown-Feld muss der eingestellte Wert eine exakte Übereinstimmung mit einer gültigen Option sein, entweder unter Verwendung der GUID (Globally Unique Identifier) oder des Feldnamens, wie er beim Ausführen des Optionsbefehls aufgeführt ist.

Optionen:

# list options for the dropdown field> ninjarmm-cli options globaldropdown333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option274a6ffda-708e-435a-86e3-40b67c4f981a=Option1f1ba449c-fd34-49df-b878-af3877180d17=Option3

Abrufen der GUID nach Optionsname:

# find the option GUID by the option name for the dropdown field> ninjarmm-cli options globaldropdown | grep "Option 1" | awk -F= '{print $1}'74a6ffda-708e-435a-86e3-40b67c4f981a

Get:

# get value for dropdown field> ninjarmm-cli get globaldropdown74a6ffda-708e-435a-86e3-40b67c4f981a

Set:

# set value to the dropdown field> ninjarmm-cli set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

E-Mail

Get:

# get stored value> ninjarmm-cli get [email protected]

Set:

# correct values> ninjarmm-cli set typeemail [email protected]@test.test > ninjarmm-cli set typeemail [email protected]@test123.test.othertest # set wrong values> ninjarmm-cli set typeemail [email protected]: Wrong value format or type...

Ganze Zahl

Für das Feld Integer muss der eingestellte Wert eine ganze Zahl (ohne Dezimalstellen) im Bereich von -2147483648 bis 2147483647 sein.

Get:

# get value for integer field> ninjarmm-cli get globalinteger456

Set:

# set value to integer field> ninjarmm-cli set globalinteger 123

IP-Adresse

Für das Feld IP muss der eingestellte Wert im Format IPv4 (Internet Protocol Version 4) oder IPv6 (Internet Protocol Version 6) vorliegen.

Get:

# get stored value> ninjarmm-cli get typeipaddress192.168.1.100

Set:

# set correct values> ninjarmm-cli set typeipaddress 255.255.255.255255.255.255.255 > ninjarmm-cli set typeipaddress 0.0.0.00.0.0.0 # set wrong values> ninjarmm-cli set typeipaddress 192.168.1.Error: Wrong value format / type ... > ninjarmm-cli set typeipaddress 255.255.255.256Error: Wrong value format / type ... > ninjarmm-cli set typeipaddress 0.-1.0.0Error: Wrong value format / type ...

Mehrzeilig

Get:

# get multi-line field> ninjarmm-cli get globalmultilinesampletext1

Set:

# set text field> ninjarmm-cli set globalmultiline sampletext2 
Set (alternate): # set text field with piped data> ls -alh | ninjarmm-cli set globalmultiline

NinjaOne unterstützt die Verwendung einer einzelnen mehrzeiligen Zeichenkette, wenn Sie das Steuerzeichen `n (die "Backtick"- oder "Backspark"-Taste plus Buchstabe "n") verwenden. Der Text muss aufgrund von CLI- oder Terminal-Beschränkungen als eine einzige Textzeile in die Eingabeaufforderung eingegeben werden und ist auf 10.000 Zeichen begrenzt. Sie können auch Leerzeichen einfügen, indem Sie den gesamten String in Anführungszeichen setzen. Wenn Sie diese Steuerzeichen verwenden, werden die Daten wie folgt angezeigt:

Ninja-Property-Set mehrzeilig "Zeile mit Leerzeichen'nline2'nline3'nfinalval"

multilineline with spacesline2line3finalval

Die Standardsyntax des Befehls "Set" ist für die meisten Fälle ausreichend. Bei der Standardsyntax übernimmt das Tool "ninjarmm-cli" die Daten aus den Befehlszeilenargumenten. Aber manchmal reicht das nicht aus, und Sie müssen die Daten über den stdin-Kanal (Standardeingabe) abrufen.

Zum Beispiel, wenn Sie Daten in das mehrzeilige Textfeld eingeben müssen, oder wenn Sie die Ausgabe aus der Datei abrufen und im Feld speichern möchten. Oder um das Umbrechen von Tabulatoren oder Leerzeichen in der formatierten Ausgabe anderer Anwendungen zu verhindern.

Zu diesem Zweck bietet das CLI-Tool mit dem Parameter --stdin eine alternative Syntax. Wenn Sie also dieses Argument verwenden, sollten Sie die Daten als Eingabe auf dem stdin-Kanal bereitstellen, indem Sie Unix-Pipes verwenden. Zum Beispiel: dir | ninjarmm-cli set --stdin [mein Feldname] oder cat /proc/cpuinfo | grep vendor_id | ninjarmm-cli set --stdin [anderer Feldname]. Die über die Pipeline übertragenen Daten werden im Zielfeld gespeichert, wenn sie alle Feldtypbedingungen erfüllen.

Mehrfachauswahl

Optionen:

# list options for multi-select field> ninjarmm-cli options globalmultiselect333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option274a6ffda-708e-435a-86e3-40b67c4f981a=Option1f1ba449c-fd34-49df-b878-af3877180d17=Option3

Abrufen der GUID nach Optionsname:

# find option GUID by the option name for the multi-select field> ninjarmm-cli options globalmultiselect | grep "Option 1" | awk -F= '{print $1}'74a6ffda-708e-435a-86e3-40b67c4f981a

Set:

# set multiple values for multi-select field, comma-separated> ninjarmm-cli set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008,74a6ffda-708e-435a-86e3-40b67c4f981a

Get:

# get values for multi-select field> ninjarmm-cli get globalmultiselect333f541e-747e-4a1e-a2e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Telefonnummer

Get:

# get stored valueninjarmm-cli get typephone+1234567890

Set:

# set correct values> ninjarmm-cli set typephone +77013273916+77013273916 > ninjarmm-cli set typephone 123456789012344567123456789012344567 > ninjarmm-cli set typephone +123456789012344567+123456789012344567 # set wrong values> ninjarmm-cli set typephone 14953273916qwertyError: Wrong value format / type ... > ninjarmm-cli set typephone 1234567890123445678 # too longError: Wrong value format / type ... > ninjarmm-cli set typephone ++123456789012344567Error: Wrong value format / type ...

Sichern

Um zu verhindern, dass sichere Feldwerte in der Skriptausgabe für Windows-Geräte angezeigt werden, sollte das Skript @echo off und @echo on um den Code enthalten, der %NINJARMMCLI% set [Name des sicheren Feldes] [gesicherter Wert] aufruft. Standardmäßig gibt Windows alle Befehle, die der Benutzer eingibt oder ausführt, als Echo aus.

Um zu verhindern, dass sichere Feldwerte in der Skriptausgabe für Unix-Geräte (macOS oder Linux) angezeigt werden, sollte das Skript vor der Ausführung kein set -x enthalten. Diese Auslassung verhindert Echos von ausgeführten Befehlen, die sichere Werte enthalten.

Get: 

# get secure field> ninjarmm-cli get globalsecuresampletext1

Set:

# set secure field> ninjarmm-cli set globalsecure sampletext2

Text

Get:

# get text field> ninjarmm-cli get globaltextsampletext1

Set:

# set text field> ninjarmm-cli set globaltext sampletext2

Uhrzeit

Für das Feld Zeit muss der Wert in Sekunden oder im ISO-Format (hh:mm:ss) angegeben werden.

Get:

# get value for time field> ninjarmm-cli get globaldatetime120

Set:

# set value to time field> ninjarmm-cli set globaldatetime 36003600 > ninjarmm-cli set testdatetime 00:00:000

URL

Das URL-Feld ist auf 200 Zeichen begrenzt und muss mit https:// beginnen .

Get:

# get URL field> ninjarmm-cli get urlhttps://www.google.com

Set:

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

Documentation Fields

Get:

# get templates list> ninjarmm-cli templates1=template 12=template 2 # get documents list by template ID> ninjarmm-cli documents 216=template 2 # get documents list by template name> ninjarmm-cli documents "template 2"16=template 2 # get field value from document> ninjarmm-cli get "template 2" "template 2" fieldnameThis is the field value

Set:

# set attribute to the specified document/attribute by document name and template id/name (quotes required)> ninjarmm-cli org-set "template 2" "ExampleDoc" ExampleTextField "SampleText1" # set attribute to single document/attribute by template name (quotes required)> ninjarmm-cli org-set "template 2" ExampleTextField "SampleText1" # clear value of document by document name and template id/name (quotes required, represented as NULL)> ninjarmm-cli org-clear "template 2" "ExampleDoc" ExampleTextField # clear value of single document by template name (quotes required, represented as NULL)> ninjarmm-cli org-clear "template 2" ExampleTextField

Optionen:

# get list of the valid values for document attribute name by document name and template id/name (actual for drop-down and multi-select attributes)> ninjarmm-cli org-options "template 2" "ExampleDoc" ExampleTextField # get list of the valid values for a single document attribute name by template name (actual for drop-down and multi-select attributes)> ninjarmm-cli org-options "template 2" ExampleTextField

Interaktion mit benutzerdefinierten Feldern über PowerShell-Befehle oder benutzerdefinierte Skripts

Die Beispiele in diesem Abschnitt zeigen, wie Sie PowerShell-Befehle oder -Skripts für bestimmte Typen von benutzerdefinierten Feldern verwenden. Verwenden Sie die nachstehenden Links, um zu den Skripten zu gelangen, die Sie prüfen möchten:

Kontrollkästchen

Der für das Feld Kontrollkästchen festgelegte Wert muss entweder wahr (1) oder falsch (0) sein.

Get:

# get value for checkbox field> Ninja-Property-Get globalcheckbox0

Set:

# set a boolean value to the checkbox field> Ninja-Property-Set globalcheckbox 00> Ninja-Property-Set globalcheckbox 11> Ninja-Property-Set globalcheckbox true1> Ninja-Property-Set globalcheckbox false0

Datum

Für das Feld Datum muss der eingestellte Wert in Sekunden oder im ISO-Format (jjjj-mm-tt in UTC) angegeben werden.

Get:

# get value for date field> Ninja-Property-Get globaldate456

Set:

# set value to date field> Ninja-Property-Set globaldate 1626875470000 > Ninja-Property-Set testdate 2021-10-151634256000

Datum und Uhrzeit

Get:

# get value for date-time field> Ninja-Property-Get globaldatetime1626875470000

Set:

# set value to date-time field> Ninja-Property-Set globaldatetime 16268754700001626875470000 > Ninja-Property-Set testdatetime 2021-10-15T00:00:001634256000

Dezimalzahl

Get:

# get value for decimal field> Ninja-Property-Get globaldecimal123.456

Set:

# set value to decimal field> Ninja-Property-Set typedecimal 11 > Ninja-Property-Set typedecimal 1.231.23 > Ninja-Property-Set typedecimal 1.231.23 > Ninja-Property-Set typedecimal 1.23456789012345678901.234567 # truncated to max precision, better not to use more precision to avoid data type conversion issues > Ninja-Property-Set typedecimal 1234567890.12345678901234567890.123457

Dropdown

Optionen:

# list options for the dropdown field> Ninja-Property-Options globaldropdown333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option274a6ffda-708e-435a-86e3-40b67c4f981a=Option1f1ba449c-fd34-49df-b878-af3877180d17=Option3

Option GUID nach Optionsname abrufen:

# find the option GUID by the option name for the dropdown field> Ninja-Property-Get globaldropdown | grep "Option1" | awk -F= '{print $1}'74a6ffda-708e-435a-86e3-40b67c4f981a

Get:

# get value for dropdown field> Ninja-Property-Get globaldropdown74a6ffda-708e-435a-86e3-40b67c4f981a

Set:

# set value to the dropdown field> Ninja-Property-Set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

E-Mail

Get:

# get stored value> Ninja-Property-Get [email protected]

Set:

# correct values> Ninja-Property-Set typeemail [email protected]@test.test > Ninja-Property-Set typeemail [email protected]@test123.test.othertest # set wrong values> Ninja-Property-Set typeemail [email protected]: Wrong value format / type ...

Ganze Zahl

Für das Feld Integer muss der eingestellte Wert eine ganze Zahl (ohne Dezimalstellen) im Bereich von -2147483648 bis 2147483647 sein.

Get:

# get value for integer field> Ninja-Property-Get globalinteger456

Set:

# set value to integer field> Ninja-Property-Set globalinteger 123

IP-Adresse

Für das Feld IP muss der eingestellte Wert im Format IPv4 (Internet Protocol Version 4) oder IPv6 (Internet Protocol Version 6) vorliegen.

Get:

# get stored value> Ninja-Property-Get typeipaddress192.168.1.100

Set:

# set correct values> Ninja-Property-Set typeipaddress 255.255.255.255255.255.255.255 > Ninja-Property-Set typeipaddress 0.0.0.00.0.0.0 # set wrong values> Ninja-Property-Set typeipaddress 192.168.1.Error: Wrong value format / type ... > Ninja-Property-Set typeipaddress 255.255.255.256Error: Wrong value format / type ... > Ninja-Property-Set typeipaddress 0.-1.0.0Error: Wrong value format / type ...

Mehrzeilig

Aufgrund von CLI- oder Terminal-Beschränkungen muss der Text in der Eingabeaufforderung als einzelne Zeile eingegeben werden und ist auf 10.000 Zeichen begrenzt.

Get:

# get text field> Ninja-Property-Get globaltextsampletext1

Set:

# set text field>Ninja-Property-Set globaltext sampletext2

Mehrfachauswahl

Optionen:

# list options for multi-select field> Ninja-Property-Options globalmultiselect333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option274a6ffda-708e-435a-86e3-40b67c4f981a=Option1f1ba449c-fd34-49df-b878-af3877180d17=Option3

Option GUID nach Optionsname abrufen:

# find option GUID by the option name for the multi-select field> Ninja-Property-Options globalmultiselect | grep "Option 1" | awk -F= '{print $1}'74a6ffda-708e-435a-86e3-40ba67c4f981a

Set:

# set multiple values for multi-select field, comma-separated> Ninja-Property-Set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Get:

# get values for multi-select field> Ninja-Property-Get globalmultiselect333f541e-747e-4a1e-a1e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Telefonnummer

Get:

# get stored valueNinja-Property-Get typephone+1234567890

Set:

# set correct values> Ninja-Property-Set typephone +77013273916+77013273916 > Ninja-Property-Set typephone 123456789012344567123456789012344567 > Ninja-Property-Set typephone 123456789012344567123456789012344567 > Ninja-Property-Set typephone +123456789012344567+123456789012344567 # set wrong values> Ninja-Property-Set typephone 14953273916qwertyError: Wrong value format / type ... > Ninja-Property-Set typephone 14953273916qwertyError: Wrong value format / type ... > Ninja-Property-Set typephone 1234567890123445678 # too longError: Wrong value format / type ... > Ninja-Property-Set typephone ++123456789012344567Error: Wrong value format / type ...

Sichern

Get:

# get secure field> Ninja-Property-Get globalsecuresampletext1

Set:

# set secure field>Ninja-Property-Set globalsecure sampletext2

Text

Get:

# get text field> Ninja-Property-Get globaltextsampletext1

Set:

# set text field>Ninja-Property-Set globaltext sampletext2

Uhrzeit

Für das Feld Zeit muss der Wert in Sekunden oder im ISO-Format (hh:mm:ss) angegeben werden.

Get:

# get value for time field> Ninja-Property-Get globaldatetime120

Set:

# set value to time field> Ninja-Property-Set globaldatetime 36003600 > Ninja-Property-Set testdatetime 00:00:000

URL

Das URL-Feld ist auf 200 Zeichen begrenzt und muss mit "https://'" beginnen.

Get:

# get URL field> Ninja-Property-Get urlhttps://www.google.com

Set:

# set URL field>Ninja-Property-Set url https://www.google.com

Documentation Fields

Get:

# get templates list> Ninja-Property-Docs-Templates1=template 12=template 2 # get documents list by template ID> Ninja-Property-Docs-Names 216=template 2 # get documents list by template name> Ninja-Property-Docs-Names "template 2"16=template 2 # get field value from document> Ninja-Property-Docs-Get "template 2" "template 2" fieldnameThis is the field value

Set:

# set attribute to the specified document/attribute by document name and template id/name (quotes required)> Ninja-Property-Docs-Set 2 "ExampleDoc" ExampleTextField # set attribute to single document/attribute by template name (quotes required)> Ninja-Property-Docs-Set-Single "template 2" ExampleTextField "sampletext1" # clear value of document by document name and template id/name (quotes required, represented as NULL)> Ninja-Property-Docs-Clear "template 2" "ExampleDoc" ExampleTextField # clear value of single document by template name (quotes required, represented as NULL)> Ninja-Property-Docs-Clear-Single "template 2" ExampleTextField

Optionen:

# get list of the valid values for document attribute name by document name and template id/name (actual for drop-down and multi-select attributes)> Ninja-Property-Docs-Options "template 2" "ExampleDoc" ExampleTextField # get list of the valid values for a single document attribute name by template name (actual for drop-down and multi-select attributes)> Ninja-Property-Docs-Options-Single "template 2" ExampleTextField

Zusätzliche Ressourcen

Weitere Informationen zur Dokumentation, zu benutzerdefinierten Feldern, zur Befehlszeilenschnittstelle und zur Skripterstellung finden Sie in den folgenden Artikeln:

Befehlszeilenschnittstelle (CLI)

Verwendung der Befehlszeilenschnittstelle (CLI) in NinjaOne.

Dokumentation und benutzerdefinierte Felder

Scripting

FAQ

Nächste Schritte