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

In dieser Dokumentation wird die Verwendung der Komponente „ninjarmm-cli“ unter den Betriebssystemen Microsoft Windows, Apple macOS und Linux erläutert.

Umgebung

  • NinjaOne Endpunkt-Management
  • NinjaOne Documentation

Beschreibung

Die Komponente „ninjarmm-cli“ ist eine ausführbare Datei, mit der Sie über die Befehlszeilenschnittstelle (CLI), das Terminal oder benutzerdefinierte Skripte auf bestimmte benutzerdefinierte Felder und Daten der Dokumentation zugreifen und mit diesen interagieren können.

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

Wichtige Hinweise

Vorher sollten Sie Folgendes beachten, bevor Sie ninjarmm-cli verwenden:

  • Sichere Felder sind für Dokumentationsfelder schreibgeschützt.
  • Sie können Dokumentationsdaten über die CLI oder benutzerdefinierte Skripte lesen oder schreiben. Sie können eine Liste der Vorlagen, eine Liste der Dokumente nach Vorlagenname oder Identifikationsnummer sowie den Wert jedes Feldes in einem Dokument generieren.
    • Die CLI oder benutzerdefinierten 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 sind. Da sich die Datei „ninjarmm-cli.exe“ in einem geschützten Ordner befindet, auf den normale Benutzer keinen Zugriff haben, sollten Sie jedes Skript, das diese Funktionalität nutzt, als System ausführen oder die Berechtigungen entsprechend anpassen.
  • Für Linux-Geräte müssen Sie im Terminal „./“ vor „ninjarmm-cli“ setzen, um den Befehl korrekt auszuführen.
  • Wenn Sie auf 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“ oder „WriteFile“ zu erzwingen. Dadurch kann jedoch möglicherweise die Unterstützung für Unicode-Ausgaben verloren gehen, da diese bei einigen Windows-Versionen mit dem „stdout“-Kanal nicht korrekt funktioniert. Beachten Sie das folgende Beispiel für diesen Befehl:
 ninjarmm-cli --direct-out get [Feldname]

Zugang zu sicheren Feldern über Automatisierungen

Sichere Felder dürfen maximal 200 Zeichen umfassen.

Jede Automatisierung, die Sie von der Automatisierungsbibliothek ausführen, kann auf sichere Felder zugreifen, darunter:

  • Skriptbedingungen
  • Zusammengesetzte Skriptbedingungen
  • Nach Richtlinien geplante Aufgaben
  • Global geplante Aufgaben
  • „Vor der Ausführung“-Aktionen bei Sicherungen, Patches, der Installation der Anwendung und ähnlichen Aufgaben
  • Nach-Aktionen bei Sicherungen, Patches, der Installation der Anwendung und ähnlichen Aufgaben
  • Automatisierungsaktionen bei bestimmten Bedingungen
  • Automatisierung ausführen

Einige wichtige Hinweise zu sicheren Feldern:

  • NinjaOne gewährt nur während des Ausführens der Automatisierung Zugang zu sicheren benutzerdefinierten Feldern.
  • Das Web-Terminal oder das lokale Terminal kann nicht auf sichere benutzerdefinierte Felder zugreifen.
  • Nur Befehle, die auf einem lokalen Gerät ausgeführt und von NinjaOne initiiert werden, können auf benutzerdefinierte Felder zugreifen, einschließlich GET- und SET-Operationen, benutzerdefinierte gesicherte Felder und gesicherte Dokumentationsfelder. Gesicherte Dokumentationsfelder verwenden jedoch ausschließlich SET-Operationen über die CLI.

Interaktion mit benutzerdefinierten Feldern über die Windows-CLI oder das Terminal

Der Agent entpackt diese ausführbare Datei automatisch in die folgenden Ordner:

  • Windows: C:Programm-DatenNinjaRMMAgentninjarmm-cli.exe
  • macOS: /Applications/NinjaRMMAgent/Programm-Daten/ninjarmm-cli
  • Linux: /opt/NinjaRMMAgent/Programm-Daten/ninjarmm-cli

Für Windows wird die folgende spezielle Umgebungsvariable auf Systemebene verwendet:

  • Windows: %NINJARMMCLI%fürC:Programm-DatenNinjaRMMAgentninjarmm-cli.exe
  • Linux: $NINJA_DATA_PATH/ninjarmm-cli einstellen $fieldname $variable

Die NinjaRMM-CLI sieht ähnlich aus wie im folgenden Windows-Beispiel:

c:ProgramDataNinjaRMMAgentninjarmm-cli.exe help

ninjarmm-cli – CLI-Tool zum Zugang zu und zur Verwaltung der benutzerdefinierten Felder des NinjaRMM-Agenten.
Verwendung:
  help – diesen Text anzeigen

Globale Felder und Rollenfelder:

get <ATTRIBUTNAME> – Wert des Attributs mit dem angegebenen Namen abrufen

set <ATTRIBUTNAME> <ATTRIBUTWERT und durch Kommas getrennte Werteliste> – Wert für das angegebene Attribut festlegen
   --stdin – optionaler Modifikator zur Verwendung von über eine Pipe übergebenen Daten. Beispiel: dir | %NINJARMMCLI% set --stdin myfield

options <ATTRIBUTNAME> – Liste der gültigen Werte für den Attributnamen abrufen (nützlich für Drop-down- und Mehrfachauswahl-Attribute)

Dokumentation:

templates – Liste der Vorlagen abrufen, die Dokumente und Attribute enthalten
   --ids, --names – optionale Modifikatoren

documents „<VORLAGEN-ID/Name>“ – Ruft eine Liste der Dokumente für die Vorlage anhand der ID oder des Namens ab (Anführungszeichen erforderlich)
   --ids, --names – optionale Modifikatoren

get „<VORLAGEN-ID/Name>“ „<DOKUMENTNAME>“ <ATTRIBUTNAME> – Ruft ein Attribut aus einem Dokument anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens ab (Anführungszeichen erforderlich)

get "<NAME einer einzelnen Vorlage>" <ATTRIBUTNAME> – Ruft ein Attribut aus einem einzelnen Dokument anhand des Vorlagennamens ab (Anführungszeichen erforderlich)

org-set "<VORLAGEN-ID/Name>" "<DOKUMENTNAME>" <ATTRIBUTNAME> "<ATTRIBUTWERT und eine durch Kommas getrennte Liste von Werten>" – Setzt das Attribut für das angegebene Dokument/Attribut anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens (Anführungszeichen erforderlich)

org-set "<NAME einer einzelnen Vorlage>" <ATTRIBUTNAME> "<ATTRIBUTWERT und durch Kommas getrennte Werte>" – Attribut für ein einzelnes Dokument/Attribut anhand des Vorlagennamens einstellen (Anführungszeichen erforderlich)

org-clear „<VORLAGEN-ID/Name>“ „<DOKUMENTNAME>“ <ATTRIBUTNAME> – löscht den Wert des Dokuments anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens (Anführungszeichen erforderlich, wird als NULL dargestellt)

org-clear „<NAME einer einzelnen Vorlage>“ <ATTRIBUTNAME> – löscht den Wert eines einzelnen Dokuments anhand des Vorlagennamens (Anführungszeichen erforderlich, wird als NULL dargestellt)

org-options "<VORLAGEN-ID/Name>" "<DOKUMENTNAME>" <ATTRIBUTNAME> – Liste der gültigen Werte für den Dokumentattributnamen nach dem Dokumentnamen und der Vorlagen-ID/des Vorlagennamens abrufen (gilt für Drop-down- und Mehrfachauswahl-Attribute)

org-options "<NAME einer einzelnen Vorlage>" <ATTRIBUTNAME> – Ruft eine Liste der gültigen Werte für einen einzelnen Dokumentattributnamen anhand des Vorlagennamens ab (gilt für Drop-down- und Mehrfachauswahl-Attribute)

Ausgabeformat:

Exit-Codes: 0 – Erfolg, 1 – Fehler

Bei Erfolg: Beendet die Ausführung mit 0 und gibt den Wert aus

Bei einem Fehler: Beendet die Ausführung mit 1 und gibt die Fehlerbeschreibung aus

Zum Auslesen des Exit-Codes: Win: „echo %errorlevel%“, Unix: „echo $?“

Attributtypen:

  Kontrollkästchen – Boolescher Typ, zulässige Werte: 0, 1, true, false

  Numerisch – Ganzzahltyp, Wertebereich von -2147483648 bis 2147483647, unterstützt erweiterte Eingabefilter-Einstellungen.

  Decimal – Gleitkommatyp, Wertebereich von -9999999,999999 bis 9999999,999999, unterstützt erweiterte Eingabefiltereinstellungen.

  TextMultiLine, Text – reguläre Zeichenkette

  TextEmail – reguläre Zeichenkette, sollte dem E-Mail-Format gemäß RFC 5322 entsprechen

  TextIpAddress – reguläre Zeichenkette, sollte dem IPv4- oder IPv6-Format entsprechen, unterstützt erweiterte Einstellungen für den Eingabefilter

  TextPhone – reguläre Zeichenkette, sollte dem E.164-Telefonnummernformat entsprechen

  TextEncrypted – reguläre verschlüsselte Zeichenkette, unterstützt erweiterte Eingabefiltereinstellungen (nur schreibbar für die Dokumentation)

  DateTime – Ganzzahl in Sekunden seit Beginn der Unix-Epoche oder im ISO-Format „yyyy-MM-ddTHH:mm:ss“ ohne Zeitzone (UTC)

  Date – Ganzzahlige Sekunden seit Beginn der Unix-Epoche oder im ISO-Format „yyyy-MM-dd“

  Time – Ganzzahlige Sekunden oder im ISO-Format „HH:mm:ss“

  MultiSelect – Liste eindeutiger Optionen (siehe Befehl <OPTIONS>)

  MultiSelectNode, MultiSelectClient, MultiSelectClientLocation – (schreibgeschützt über die CLI) organisationsbezogene Daten

  Drop-down – eine eindeutige Option (siehe Befehl <OPTIONS>)

  Drop-downNode, Drop-downClient, Drop-downClientLocation – (schreibgeschützt über die CLI) organisationsbezogene Daten

  Anhang – (schreibgeschützt über die CLI) JSON-Objekt mit Informationen zur Datei.

  WYSIWYG – (schreibgeschützt über die CLI) JSON-Objekt mit HTML- und TEXT-Inhalten

NinjaOne-Powershell-Modul

Wenn Sie den NinjaOne-Agenten installieren, stellt NinjaOne ein benutzerdefiniertes NinjaOne-PowerShell-Modul bereit und lädt es, um mit benutzerdefinierten Feldern zu interagieren. Sie können auf Windows-Geräten über dieses PowerShell-Modul auf die ninjarmm-cli zugreifen, indem Sie einfach die Funktionsnamen innerhalb von 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 einen Feldwert eines benutzerdefinierten Ninja-Feldes ab und konvertiert ihn basierend auf dem angegebenen Feldnamen und -typ.

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 dem angegebenen Typ (z. B. „Datum“, „DateTime“, „Kontrollkästchen“, „Dropdown“ usw.) wandelt die Funktion den Rohwert in ein entsprechendes PowerShell-Objekt um. Falls der Eigenschaftstyp zusätzliche Optionen wie Dropdown-Listen oder Felder mit Mehrfachauswahl erfordert, ruft die Funktion diese Optionen ab und gibt einen benutzerfreundlichen Wert zurück.

Zu den unterstützten Typen gehören: „Anhang“, „Kontrollkästchen“, „Datum“, „DateTime“, „Dezimal“, „Geräte-Dropdown“, „Geräteselect“, „Dropdown“, „Email“, „Integer“, „IP Address“, „MultiLine“, „MultiSelect“, „Organization Dropdown“, „Organization Location Dropdown“, „Organization Location MultiSelect“, „Organization MultiSelect“, „Phone“, „Secure“, „Text“, „Time“, „WYSIWYG“ und „URL“.

Die Syntax lautet wie folgt: Get-NinjaProperty [-Name] <STRING[]> [[-Typ] <STRING>] [[-Dokumentname] <STRING>] [<COMMONPARAMETERS>]

Beispiele

Das Abrufen einer Dropdown-Liste für ein benutzerdefiniertes Feld ohne Angabe des Typs gibt den GUID-Wert der ausgewählten Dropdown-Option zurück.

powershell1-upscaled.png
Abbildung 1: Kein Typ für ein Feld angegeben (zum Vergrößern anklicken)

Wird ein benutzerdefiniertes Feld-Dropdown unter Angabe des Benutzerdefinierten Feldtyps (Drop-down) abgerufen, gibt der Befehl den benutzerfreundlichen Wert zurück, der in der Plattform angezeigt wird, anstatt des GUID-Werts.

powershell2-upscaled.png
Abbildung 2: Typdes Feldes angegeben (zum Vergrößern anklicken)

Set-NinjaProperty

Der Befehl „Set-NinjaProperty“ ist eine Weiterentwicklung des ursprünglichen Befehls „Ninja-Property-Set “. Die Funktion „Set-NinjaProperty“ legt ein benutzerdefiniertes Feld basierend auf den angegebenen Parametern fest. Wird ein Feldtyp angegeben, versucht sie, den bereitgestellten Wert in einen von diesem bestimmten Feld unterstützten Wert zu konvertieren. Wird beispielsweise ein „DateTime“-Objekt übergeben und der Typ „Date“ angegeben, konvertiert er das Datumsobjekt in einen Unix-Epochen-Zeitstempel und stellt das Feld auf diesen Wert ein.

Außerdem können Drop-down- und Mehrfachauswahlfelder anhand von Feldnamen anstelle ihrer GUIDs eingestellt werden.

Zu den unterstützten Typen gehören: Kontrollkästchen, Datum, Datum/Uhrzeit, DateTime, Dezimal, Dropdown, E-Mail, Integer, IP-Adresse, MultiLine, MultiSelect, Phone, Secure, Text, Time, URL und WYSIWYG.

Beispiele

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

powershell3-upscaled.png
Abbildung 3: Kein Typ des Feldes angegeben (zum Vergrößern anklicken)

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

powershell4-upscaled.png
Abbildung 4: Feldtyp angegeben (zum Vergrößern anklicken)

Beide Befehle, „Get-NinjaProperty“ und „Set-NinjaProperty“, bieten Voll-Unicode-Support, sodass Sie über diese Befehle Emojis festlegen und abrufen können.

Weitere Details und Beispiele zu beiden Befehlen erhalten Sie, indem Sie PowerShell auf einem Gerät mit installiertem NinjaOne-Agent öffnen und Folgendes eingeben:

Get-Help Get-NinjaProperty

ODER

Get-Help Set-NinjaProperty

Alle ursprünglichen NinjaOne-Powershell-Befehle funktionieren weiterhin wie ursprünglich vorgesehen. Diese Befehle sind:

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

Befehle zur Dokumentation

Ninja-Property-Docs-Vorlagen
Ninja-Property-Docs-Namen $TemplateId
Ninja-Property-Docs-Namen "$TemplateName"
Ninja-Property-Docs-Get $TemplateId "$DocumentName" $AttributeName
Ninja-Property-Docs-Set $Vorlagen-ID "$Dokumentname" $Attributname "Wert"
Ninja-Property-Docs-Get-Single "Vorlagenname" "Feldname"
Ninja-Property-Docs-Set-Single "Vorlagenname" "Feldname" "Neuer Wert"
Ninja-Property-Docs-Clear
Ninja-Property-Docs-Options
Ninja-Property-Docs-Clear-Single – Wert eines einzelnen Dokuments anhand des Vorlagennamens löschen (Anführungszeichen erforderlich, wird als NULL dargestellt)
Ninja-Property-Docs-Options-Single – Liste der gültigen Werte für ein einzelnes Dokumentattribut anhand des Vorlagennamens abrufen (gilt für Drop-down- und Mehrfachauswahl-Attribute)

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

Die Beispiele in diesem Abschnitt zeigen, wie Befehle und Batch-Skripte für bestimmte Arten von benutzerdefinierten Feldern verwendet werden. Sie beschreiben Aufrufe des ninjarmm-cli ohne vollständigen Pfad, Sie können jedoch den vollständigen Pfad entsprechend Ihrer Plattform angeben, wie zuvor in diesem Artikel beschrieben. Es gibt keine Unterschiede zwischen den Aufrufen des CLI-Dienstprogramms auf verschiedenen Plattformen.

Zeitstempel

Die Zeit wird wie folgt berechnet:

  • Das System verwendet den 1. Januar 1970 bei 00:00:00 UTC als Unix-Epoche.
  • Der Datumswert entspricht der Anzahl der Sekunden seit dem 1. Januar 1970 um 00:00:00 UTC.Sie können ein Tool zur Umwandlung von Zeitstempeln verwenden, um diesen Wert in ein für Menschen lesbares Datum umzuwandeln.
  • Wenn Sie den Wert im ISO-Format einstellen, wird er in Sekunden seit dem 1. Januar 1970 in UTC umgerechnet.

Die Beispiele in diesem Abschnitt zeigen, wie Sie Powershell-Befehle oder -Skripte für bestimmte Arten von benutzerdefinierten Feldern verwenden können.

Auswählen Sie ein Thema, um fortzufahren:

Kontrollkästchen

Für das Kontrollkästchen-Feld muss der festgelegte Wert entweder „true“ (1) oder „false“ (0) sein.

Abrufen:

# Wert für das Kontrollkästchen-Feld erfassen
> ninjarmm-cli get globalcheckbox
0

Einstellen:

# Einen booleschen Wert für das Kontrollkästchen-Feld festlegen
> ninjarmm-cli set globalcheckbox 0
0
> ninjarmm-cli set globalcheckbox 1
1
> ninjarmm-cli set globalcheckbox true
1
> ninjarmm-cli set globalcheckbox false
0

Datum

Für das Datumsfeld muss der festgelegte Wert in Sekunden oder im ISO-Format (International Organization for Standardization) (JJJJ-MM-TT in UTC) angegeben werden.

Abrufen:

# Wert für das Feld „Datum“ erfassen
> ninjarmm-cli get globaldate
456

Einstellen:

# Wert für das Datumsfeld einstellen
> ninjarmm-cli set globaldate 1626875470000

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

Datum/Uhrzeit

Für das Feld für Datum/Uhrzeit muss der festgelegte Wert in Sekunden oder im ISO-Format (JJJJ-MM-TT oder hh:mm:ss in UTC) angegeben werden.

Abrufen:

# Wert für das Feld für Datum und Uhrzeit erfassen
> ninjarmm-cli get globaldatetime
1626875470000

Einstellen:

# Wert für das Feld für Datum/Uhrzeit einstellen
> ninjarmm-cli set globaldatetime 1626875470000
1626875470000

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

Dezimal

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

Abrufen:

# Wert für das Dezimalfeld erfassen
> ninjarmm-cli get globaldecimal
123,456

Einstellen:

# Wert für das Dezimalfeld einstellen
> 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 # auf maximale Genauigkeit gekürzt; es ist besser, keinen kürzeren Wert zu verwenden, um Probleme bei der Datentypkonvertierung zu vermeiden

> ninjarmm-cli set typedecimal 1234567890,1234567890
1234567890,123457

Dropdown

Für das Dropdown-Feld muss der festgelegte Wert exakt mit einer gültigen Option übereinstimmen, entweder unter Verwendung der GUID (Globally Unique Identifier) oder des Feldnamens, wie er bei der Ausführung des Befehls „options“ angezeigt wird.

Optionen:

# Liste der Optionen für das Dropdown-Feld auflisten
> ninjarmm-cli options globaldropdown
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Option1
f1ba449c-fd34-49df-b878-af3877180d17=Option3

Die GUID nach dem Optionsnamen ermitteln:

# Suchen Sie die GUID der Option nach ihrem Namen für das Dropdown-Feld
> ninjarmm-cli options globaldropdown | grep „Option 1“ | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Abrufen:

# Wert für das Dropdown-Feld erfassen
> ninjarmm-cli get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981a

Einstellen:

# Wert für das Dropdown-Feld einstellen
> ninjarmm-cli set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

E-Mail

Abrufen:

# Gespeicherten Wert abrufen
> ninjarmm-cli get typeemail
[email protected]

Einstellen:

# Werte korrigieren
> ninjarmm-cli set typeemail [email protected]
[email protected]

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

# Falsche Werte festlegen
> ninjarmm-cli set typeemail [email protected]
Fehler: Falsches Wertformat oder falscher Typ...

Ganze Zahl

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

Abrufen:

# Wert für Ganzzahlfeld erfassen
> ninjarmm-cli get globalinteger
456

Einstellen:

# Wert für das Feld der Ganzen Zahl einstellen
> ninjarmm-cli set globalinteger 123

IP-Adresse

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

Abrufen:

# Gespeicherten Wert abrufen
> ninjarmm-cli get typeipaddress
192.168.1.100

Einstellen:

# Richtige Werte einstellen
> ninjarmm-cli set typeipaddress 255.255.255.255
255.255.255.255

> ninjarmm-cli set typeipaddress 0.0.0.0
0.0.0.0

# Falsche Werte einstellen
> ninjarmm-cli set typeipaddress 192.168.1.
Fehler: Falsches Wertformat / falscher Typ ...

> ninjarmm-cli set typeipaddress 255.255.255.256
Fehler: Falsches Wertformat / falscher Typ ...

> ninjarmm-cli set typeipaddress 0.-1.0.0
Fehler: Falsches Wertformat / falscher Typ ...

Mehrzeilig

Abrufen:

# Mehrzeiliges Feld abrufen
> ninjarmm-cli get globalmultiline
sampletext1

Einstellen:

# Textfeld einstellen
> ninjarmm-cli set globalmultiline sampletext2

Einstellen (alternativ):

# Textfeld mit über die Pipe übergebenen Daten einstellen
> 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 den Buchstaben „n“) verwenden. Der Text muss aufgrund von CLI- oder Terminal-Beschränkungen als einzelne Textzeile in die Befehlszeile eingegeben werden und ist auf 10.000 Zeichen begrenzt. Sie können auch Leerzeichen einfügen, indem Sie die gesamte Zeichenfolge in Anführungszeichen setzen. Wenn Sie diese Steuerzeichen verwenden, werden die Daten wie folgt angezeigt:

Ninja-Property-Set multiline „Zeile mit Leerzeichen'nZeile2'nZeile3'nEndwert“

multiline
Zeile mit Leerzeichen
Zeile2
Zeile3
finalval

Die Standardsyntax des Befehls „Set“ reicht für die meisten Fälle aus. Bei der Standardsyntax bezieht das Tool „ninjarmm-cli“ die Daten aus den Befehlszeilenargumenten. Manchmal reicht dies jedoch nicht aus, und Sie müssen die Daten aus dem stdin-Kanal (Standardeingabe) beziehen.

Beispielsweise, wenn Sie Daten in das mehrzeilige Textfeld eingeben müssen oder wenn Sie die Ausgabe aus einer Datei abrufen und im Feld speichern möchten. Oder um zu verhindern, dass Tabulatoren oder Leerzeichen in der formatierten Ausgabe anderer Anwendungen unterbrochen werden.

Zu diesem Zweck bietet das CLI-Tool eine alternative Syntax mit dem Parameter „--stdin“ an. Wenn Sie dieses Argument verwenden, sollten Sie die Daten daher mithilfe von Unix-Pipes als Eingabe über den stdin-Kanal bereitstellen. Beispiel: dir | ninjarmm-cli set --stdin [mein Feldname] oder cat /proc/cpuinfo | grep vendor_id | ninjarmm-cli set --stdin [ein anderer Feldname]. Die über die Pipe übermittelten Daten werden im Zielfeld gespeichert, sofern sie alle Bedingungen des Feldtyps erfüllen.

Mehrfachauswahl

Optionen:

# Optionen für Felder mit Mehrfachauswahl auflisten
> ninjarmm-cli options globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Option1
f1ba449c-fd34-49df-b878-af3877180d17=Option3

Die GUID nach dem Optionsnamen abrufen:

# GUID der Option nach dem Optionsnamen für das Feld der Mehrfachauswahl ermitteln
> ninjarmm-cli options globalmultiselect | grep "Option 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Einstellen:

# Mehrere Werte für das Mehrfachauswahlfeld festlegen, durch Kommas getrennt
> ninjarmm-cli set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008,74a6ffda-708e-435a-86e3-40b67c4f981a

Abrufen:

# Werte für ein Feld der Mehrfachauswahl erfassen
> ninjarmm-cli get globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Telefonnummer

Abrufen:

# Gespeicherten Wert abrufen
ninjarmm-cli get typephone
+1234567890

Einstellen:

# korrekte Werte einstellen
> ninjarmm-cli set typephone +77013273916
+77013273916

> ninjarmm-cli set typephone 123456789012344567
123456789012344567

> ninjarmm-cli set typephone +123456789012344567
+123456789012344567

# Falsche Werte einstellen
> ninjarmm-cli set typephone 14953273916qwerty
Fehler: Falsches Wertformat / falscher Typ ...

> ninjarmm-cli set typephone 1234567890123445678 # zu lang
Fehler: Falsches Wertformat / falscher Werttyp ...

> ninjarmm-cli set typephone ++123456789012344567
Fehler: Falsches Wertformat / falscher Werttyp ...

Password

Um zu verhindern, dass Werte sicherer Felder in der Skriptausgabe für Windows-Geräte angezeigt werden, sollte das Skript die Anweisungen @echo off und @echo on um den Code herum enthalten, der %NINJARMMCLI% set [Name des sicheren Feldes] [gesicherter Wert] aufruft. Standardmäßig gibt Windows alle Befehle wieder, die Benutzer eingeben oder ausführen.

Um zu verhindern, dass Feldwerte sicherer Felder in der Skriptausgabe für Unix-Geräte (macOS oder Linux) angezeigt werden, sollte das Skript vor der Ausführung kein „set -x“ enthalten. Durch diesen Verzicht wird die Anzeige ausgeführter Befehle verhindert, die sichere Werte enthalten.

Befehl: 

# sicheres Feld abrufen
> ninjarmm-cli get globalsecure
sampletext1

Einstellen:

# sicheres Feld einstellen
> ninjarmm-cli set globalsecure sampletext2

Text

Abrufen:

# Textfeld abrufen
> ninjarmm-cli get globaltext
Beispieltext1

Einstellen:

# Textfeld einstellen
> ninjarmm-cli set globaltext sampletext2

Zeit

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

Abrufen:

# Wert für das Zeitfeld erfassen
> ninjarmm-cli get globaldatetime
120

Einstellen:

# Wert für das Zeitfeld einstellen
> ninjarmm-cli set globaldatetime 3600
3600

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

URL

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

Abrufen:

# URL-Feld abrufen
> ninjarmm-cli get url
https://www.google.com

Einstellen:

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

Dokumentationsfelder

Abrufen:

# Vorlagenliste abrufen
> ninjarmm-cli templates
1=Vorlage 1
2=Vorlage 2

# Liste der Dokumente nach ID der Vorlage abrufen
> ninjarmm-cli documents 2
16=Vorlage 2

# Liste der Dokumente nach Namen der Vorlage abrufen
> ninjarmm-cli documents "Vorlage 2"
16=Vorlage 2

# Feldwert von einem Dokument abrufen
> ninjarmm-cli get „Vorlage 2“ „Vorlage 2“ Feldname
Dies ist der Feldwert

Einstellen:

# Attribut für das angegebene Dokument/Attribut anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens einstellen (Anführungszeichen erforderlich)
> ninjarmm-cli org-set "Vorlage 2" "ExampleDoc" ExampleTextField "SampleText1"

# Attribut für ein einzelnes Dokument/Attribut anhand des Namens der Vorlage einstellen (Anführungszeichen erforderlich)
> ninjarmm-cli org-set „Vorlage 2“ ExampleTextField „SampleText1“

# Wert eines Dokuments anhand des Dokumentnamens und der Vorlagen-ID/-Namens löschen (Anführungszeichen erforderlich, wird als NULL dargestellt)
> ninjarmm-cli org-clear "template 2" "ExampleDoc" ExampleTextField

# Wert eines einzelnen Dokuments anhand des Vorlagennamens löschen (Anführungszeichen erforderlich, wird als NULL dargestellt)
> ninjarmm-cli org-clear "template 2" ExampleTextField

Optionen:

# Liste der gültigen Werte für ein Dokumentattribut anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens abrufen (gilt für Drop-down- und Mehrfachauswahl-Attribute)
> ninjarmm-cli org-options „Vorlage 2“ „ExampleDoc“ ExampleTextField

# Liste der gültigen Werte für ein einzelnes Dokumentattribut anhand des Vorlagennamens abrufen (gilt für Drop-down- und Mehrfachauswahl-Attribute)
> ninjarmm-cli org-options "template 2" ExampleTextField

Interaktion mit benutzerdefinierten Feldern über Powershell-Befehle oder benutzerdefinierte Skripte

Die Beispiele in diesem Abschnitt zeigen, wie PowerShell-Befehle oder Skripte für bestimmte Arten von benutzerdefinierten Feldern verwendet werden. Über die folgenden Links gelangen Sie zu den Skripten, die Sie sich ansehen möchten:

Kontrollkästchen

Für das Kontrollkästchen-Feld muss der festgelegte Wert entweder „true“ (1) oder „false“ (0) sein.

Abrufen:

# Wert für das Kontrollkästchen-Feld erfassen
> Ninja-Property-Get globalcheckbox
0

Einstellen:

# Einen booleschen Wert für das Kontrollkästchen-Feld einstellen
> Ninja-Property-Set globalcheckbox 0
0
> Ninja-Property-Set globalcheckbox 1
1
> Ninja-Property-Set globalcheckbox true
1
> Ninja-Property-Set globalcheckbox false
0

Datum

Für das Datumsfeld muss der festgelegte Wert in Sekunden oder im ISO-Format (JJJJ-MM-TT in UTC) angegeben werden.

Abrufen:

# Wert für das Datumsfeld erfassen
> Ninja-Property-Get globaldate
456

Einstellen:

# Wert für das Datumsfeld einstellen
> Ninja-Property-Set globaldate 1626875470000

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

Datum/Uhrzeit

Abrufen:

# Wert für Datums- und Zeitfeld abrufen
> Ninja-Property-Get globaldatetime
1626875470000

Einstellen:

# Wert für Datums-/Zeitfeld einstellen
> Ninja-Property-Set globaldatetime 1626875470000
1626875470000

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

Dezimal

Abrufen:

# Wert für Dezimalfeld erfassen
> Ninja-Property-Get globaldecimal
123,456

Einstellen:

# Wert in Dezimalfeld einstellen
> 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 # auf maximale Genauigkeit gekürzt; es ist besser, keine höhere Genauigkeit zu verwenden, um Probleme bei der Datentypkonvertierung zu vermeiden

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

Dropdown

Optionen:

# Liste der Optionen für das Dropdown-Feld
> Ninja-Property-Options globaldropdown
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Option1
f1ba449c-fd34-49df-b878-af3877180d17=Option3

Option-GUID nach dem Optionsnamen abrufen:

# Die Options-GUID nach dem Optionsnamen für das Dropdown-Feld ermitteln
> Ninja-Property-Get globaldropdown | grep "Option1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Abrufen:

# Wert für Dropdown-Feld erfassen
> Ninja-Property-Get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981a

Einstellen:

# Wert für das Dropdown-Feld einstellen
> Ninja-Property-Set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

E-Mail

Abrufen:

# Gespeicherten Wert abrufen
> Ninja-Property-Get typeemail
[email protected]

Einstellen:

# Werte korrigieren
> Ninja-Property-Set typeemail [email protected]
[email protected]

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

# Falsche Werte festlegen
> Ninja-Property-Set typeemail [email protected]
Fehler: Falsches Wertformat / falscher Typ ...

Ganze Zahl

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

Abrufen:

# Wert für Ganzzahlfeld erfassen
> Ninja-Property-Get globalinteger
456

Einstellen:

# Wert für das Feld „Ganze Zahl“ einstellen
> Ninja-Property-Set globalinteger 123

IP-Adresse

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

Abrufen:

# Gespeicherten Wert abrufen
> Ninja-Property-Get typeipaddress
192.168.1.100

Einstellen:

# Korrekte Werte einstellen
> Ninja-Property-Set typeipaddress 255.255.255.255
255.255.255.255

> Ninja-Property-Set typeipaddress 0.0.0.0
0.0.0.0

# Falsche Werte einstellen
> Ninja-Property-Set typeipaddress 192.168.1.
Fehler: Falsches Wertformat / falscher Werttyp ...

> Ninja-Property-Set typeipaddress 255.255.255.256
Fehler: Falsches Wertformat / falscher Werttyp ...

> Ninja-Property-Set typeipaddress 0.-1.0.0
Fehler: Falsches Wertformat / falscher Werttyp ...

Mehrzeilig

Aufgrund von Beschränkungen der CLI oder des Terminals muss der Text in der Befehlszeile als einzelne Zeile eingegeben werden und ist auf 10.000 Zeichen begrenzt.

Abrufen:

# Abfrage eines Textfelds
> Ninja-Property-Get globaltext
Beispieltext1

Einstellen:

# Textfeld einstellen
>Ninja-Property-Set globaltext sampletext2

Mehrfachauswahl

Optionen:

# Optionen für Mehrfachauswahlfeld auflisten
> Ninja-Property-Options globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Option1
f1ba449c-fd34-49df-b878-af3877180d17=Option3

Option-GUID nach dem Optionsnamen abrufen:

# Option-GUID anhand des Optionsnamens für das Feld der Mehrfachauswahl ermitteln
> Ninja-Property-Options globalmultiselect | grep „Option 1“ | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40ba67c4f981a

Einstellen:

# Mehrere Werte für das Mehrfachauswahlfeld festlegen, durch Kommas getrennt
> Ninja-Property-Set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008, 
74a6ffda-708e-435a-86e3-40b67c4f981a

Abrufen:

# Werte für ein Mehrfachauswahlfeld erfassen
> Ninja-Property-Get globalmultiselect
333f541e-747e-4a1e-a1e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Telefonnummer

Abrufen:

# Gespeicherten Wert abrufen
Ninja-Property-Get typephone
+1234567890

Einstellen:

# korrekte Werte einstellen
> Ninja-Property-Set typephone +77013273916
+77013273916

> Ninja-Property-Set typephone 123456789012344567
123456789012344567

> Ninja-Property-Set typephone 123456789012344567
123456789012344567

> Ninja-Property-Set typephone +123456789012344567
+123456789012344567

# Falsche Werte eingestellt
> Ninja-Property-Set typephone 14953273916qwerty
Fehler: Falsches Wertformat / falscher Werttyp ...

> Ninja-Property-Set typephone 14953273916qwerty
Fehler: Falsches Wertformat / falscher Werttyp ...

> Ninja-Property-Set typephone 1234567890123445678 # zu lang
Fehler: Falsches Wertformat / falscher Werttyp ...

> Ninja-Property-Set typephone ++123456789012344567
Fehler: Falsches Wertformat / falscher Werttyp ...

Password

Abrufen:

# sicheres Feld abrufen
> Ninja-Property-Get globalsecure
sampletext1

Einstellen:

# sicheres Feld einstellen
>Ninja-Property-Set globalsecure sampletext2

Text

Abrufen:

# Textfeld abrufen
> Ninja-Property-Get globaltext
Beispieltext1

Einstellen:

# Textfeld einstellen
>Ninja-Property-Set globaltext Beispieltext2

Zeit

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

Abrufen:

# Wert für das Zeitfeld erfassen
> Ninja-Property-Get globaldatetime
120

Einstellen:

# Wert für das Feld „Zeit“ einstellen
> Ninja-Property-Set globaldatetime 3600
3600

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

URL

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

Abrufen:

# URL-Feld abrufen
> Ninja-Property-Get url
https://www.google.com

Einstellen:

# URL-Feld einstellen
> Ninja-Property-Set url https://www.google.com

Dokumentationsfelder

Abrufen:

# Vorlagenliste abrufen
> Ninja-Property-Docs-Templates
1=Vorlage 1
2=Vorlage 2

# Dokumentliste nach Vorlagen-ID abrufen
> Ninja-Property-Docs-Names 2
16=Vorlage 2

# Dokumentliste nach Vorlagennamen abrufen
> Ninja-Property-Docs-Names „Vorlage 2“
16=Vorlage 2

# Feldwert aus Dokument abrufen
> Ninja-Property-Docs-Get „Vorlage 2“ „Vorlage 2“ Feldname
Dies ist der Feldwert

Einstellen:

# Attribut für das angegebene Dokument/Attribut anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens einstellen (Anführungszeichen erforderlich)
> Ninja-Property-Docs-Set 2 „ExampleDoc“ ExampleTextField

# Attribut für ein einzelnes Dokument/Attribut anhand des Vorlagennamens einstellen (Anführungszeichen erforderlich)
> Ninja-Property-Docs-Set-Single „Vorlage 2“ ExampleTextField „sampletext1“

# Wert eines Dokuments anhand des Dokumentnamens und der Vorlagen-ID/-Name löschen (Anführungszeichen erforderlich, wird als NULL dargestellt)
> Ninja-Property-Docs-Clear „Vorlage 2“ „ExampleDoc“ ExampleTextField

# Wert eines einzelnen Dokuments anhand des Vorlagennamens löschen (Anführungszeichen erforderlich, wird als NULL dargestellt)
> Ninja-Property-Docs-Clear-Single „Vorlage 2“ ExampleTextField

Optionen:

# Liste der gültigen Werte für ein Dokumentattribut anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens abrufen (gilt für Drop-down- und Mehrfachauswahl-Attribute)
> Ninja-Property-Docs-Options „template 2“ „ExampleDoc“ ExampleTextField

# Liste der gültigen Werte für einen einzelnen Dokumentattributnamen anhand des Vorlagennamens abrufen (gilt für Drop-down- und Mehrfachauswahl-Attribute)
> Ninja-Property-Docs-Options-Single „template 2“ ExampleTextField

Zusätzliche Ressourcen

Mehr über Dokumentation, benutzerdefinierte Felder, die CLI und Skripting erfahren Sie in den folgenden Artikeln:

Befehlszeilenschnittstelle (CLI)

Die Befehlszeilenschnittstelle (CLI) wird in NinjaOne verwendet.

Dokumentation und benutzerdefinierte Felder

Scripting

FAQ

Nächste Schritte