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 erläutert die Verwendung der Komponente „ninjarmm-cli“ unter den Betriebssystemen Microsoft Windows, Apple macOS und Linux.

Umgebung

  • NinjaOne Endpoint Management
  • NinjaOne-Dokumentation

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 Dokumentationsdaten zugreifen und mit diesen interagieren können.

Wählen Sie eine Kategorie aus, 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 über die CLI oder benutzerdefinierte Skripte lesen oder schreiben. Sie können eine Liste von Vorlagen, eine Liste der Dokumente nach Vorlagenname oder Identifikationsnummer sowie den Wert jedes Feldes in einem Dokument generieren.
    • Die 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 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 ändern.
  • Bei Linux-Geräten müssen Sie im Terminal vor „ninjarmm-cli“ ein „./“ einfügen, um den Befehl korrekt auszuführen.
  • 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 kann jedoch die Unicode-Ausgabeversion verloren gehen, die auf 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]

Zugriff auf sichere Felder über Automatisierungen

Sichere Felder dürfen nicht länger als 200 Zeichen sein.

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

  • Skriptbedingungen
  • Skript-Verbundbedingungen
  • Richtlinien-geplante Aufgaben
  • Globale geplante Aufgaben
  • „Vorher ausführen“-Aktionen bei Backups, Patches, der Installation der Anwendung und ähnlichen Aufgaben
  • Nach-Aktionen bei Sicherung, Patching, 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 der Ausführung der Automatisierung Zugriff auf sichere benutzerdefinierte Felder.
  • 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 sichere Felder und sichere Dokumentationsfelder. Sichere Dokumentationsfelder verwenden jedoch nur 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:ProgramDataNinjaRMMAgentninjarmm-cli.exe
  • macOS: /Applications/NinjaRMMAgent/programdata/ninjarmm-cli
  • Linux: /opt/NinjaRMMAgent/programdata/ninjarmm-cli

Verwenden Sie unter Windows die folgende spezielle Umgebungsvariable auf Systemebene:

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

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

c:ProgramDataNinjaRMMAgentninjarmm-cli.exe help

ninjarmm-cli – CLI-Tool zum Zugriff auf und zur Verwaltung von benutzerdefinierten Feldern 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 (gilt für Dropdown- und Mehrfachauswahl-Attribute)

Dokumentationsfelder:

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 nach ID oder Name 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 durch Kommas getrennte Werteliste>" – 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 setzen (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 "<einzelner Vorlagenname>" <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 anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens abrufen (gilt für Dropdown- und Mehrfachauswahl-Attribute)

org-options "<einzelner Vorlagenname>" <Attributname> – Ruft eine Liste der gültigen Werte für einen einzelnen Dokumentattributnamen anhand des Vorlagennamens ab (gilt für Dropdown- und Mehrfachauswahl-Attribute)

Ausgabeformat:

Exit-Codes: 0 – Erfolg, 1 – Fehler

Bei Erfolg: Beendet mit 0 und gibt den Wert aus

Bei Fehler: Beendet mit 1 und gibt die Fehlerbeschreibung aus

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

Attributtypen:

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

  Numeric – 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 Zeichenfolge

  TextEmail – reguläre Zeichenfolge, sollte dem E-Mail-Format nach RFC 5322 entsprechen

  TextIpAddress – reguläre Zeichenfolge, sollte dem IPv4- oder IPv6-Format entsprechen, unterstützt erweiterte Eingabefiltereinstellungen

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

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

  DateTime – Ganzzahlige Sekunden seit Beginn der Unix-Epoche oder 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 CLI) organisationsbezogene Daten

  Dropdown – eine eindeutige Option (siehe Befehl <options>)

  DropdownNode, DropdownClient, DropdownClientLocation – (schreibgeschützt über CLI) organisationsbezogene Daten

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

  WYSIWYG – (schreibgeschützt über 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 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 unten aufgeführt.

Get-NinjaProperty 

Der Befehl Get-NinjaProperty ist eine Weiterentwicklung des ursprünglichen Befehls Ninja-Property-Get. Die Funktion Get-NinjaProperty ruft einen Wert 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 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 Dropdown-Menüs oder Mehrfachauswahlfelder erfordert, ruft die Funktion diese Optionen ab und gibt einen benutzerfreundlichen Wert zurück.

Zu den unterstützten Typen gehören: „Attachment“, „Checkbox“, „Date“, „DateTime“, „Decimal“, „Device Dropdown“, „Device MultiSelect“, „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[]> [[-Type] <String>] [[-DocumentName] <String>] [<CommonParameters>]

Beispiele

Das Abrufen eines benutzerdefinierten Feld-Dropdowns ohne Angabe des Typs gibt den GUID-Wert der ausgewählten Dropdown-Option zurück.

Abbildung 1: Kein Feldtyp angegeben (zum Vergrößern anklicken)

Das Abrufen einer Dropdown-Liste für ein benutzerdefiniertes Feld unter Angabe des Feldtyps (Dropdown) führt dazu, dass der Befehl den benutzerfreundlichen Wert zurückgibt, der in der Plattform angezeigt wird, anstatt des GUID-Werts.

Abbildung 2: Feldtyp 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. Wenn ein Feldtyp angegeben wird, versucht sie, den angegebenen Wert in einen von diesem bestimmten Feld unterstützten Wert zu konvertieren. Wenn beispielsweise ein DateTime-Objekt übergeben und der Typ „Date“ angegeben wird, konvertiert er das Datumsobjekt in einen Unix-Epochen-Zeitstempel und setzt das Feld mit diesem Wert.

Er kann auch Dropdown- und Mehrfachauswahlfelder anhand von Feldnamen anstelle ihrer GUIDs setzen.

Zu den unterstützten Typen gehören: Checkbox, Date, Date oder Date Time, DateTime, Decimal, Dropdown, Email, Integer, IP Address, MultiLine, MultiSelect, Phone, Secure, Text, Time, URL und WYSIWYG.

Beispiele

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

Abbildung 3: Kein Feldtyp angegeben (zum Vergrößern anklicken)

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

Abbildung 4: Feldtyp angegeben (zum Vergrößern anklicken)

Beide Befehle, „Get-NinjaProperty“ und „Set-NinjaProperty“, bieten vollständige Unicode-Unterstützung, sodass Sie über diese Befehle Emojis festlegen und abrufen können.

Sie können auf weitere Details und Beispiele für beide Befehle zugreifen, 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 lauten:

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

Dokumentationsbefehle

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 – Wert eines einzelnen Dokuments nach Vorlagennamen löschen (Anführungszeichen erforderlich, wird als NULL dargestellt)
Ninja-Property-Docs-Options-Single – Liste der gültigen Werte für ein einzelnes Dokumentattribut nach Vorlagennamen abrufen (gilt für Dropdown- und Mehrfachauswahl-Attribute)

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

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, aber Sie können den vollständigen Pfad entsprechend Ihrer Plattform angeben, wie zuvor in diesem Artikel beschrieben. Es gibt keine Unterschiede zwischen Aufrufen des CLI-Dienstprogramms auf verschiedenen Plattformen.

Zeitstempel

Die Zeit wird wie folgt berechnet:

  • Das System verwendet den 1. Januar 1970 um 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 festlegen, wird er in Sekunden seit dem 01.01.1970 in UTC umgerechnet.

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

Wählen Sie ein Thema aus, 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 abrufen
> ninjarmm-cli get globalcheckbox
0

Setzen:

# Einen booleschen Wert für das Checkbox-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 im Sekundenformat oder im ISO-Format (International Organization for Standardization) (JJJJ-MM-TT in UTC) angegeben werden.

Abrufen:

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

Setzen:

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

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

Datum/Uhrzeit

Für das Datums-/Zeitfeld 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 Datums-/Zeitfeld abrufen
> ninjarmm-cli get globaldatetime
1626875470000

Setzen:

# Wert für Datums-/Zeitfeld setzen
> 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 abrufen
> ninjarmm-cli get globaldecimal
123,456

Setzen:

# Wert für Dezimalfeld setzen
> 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 Ausführung des Befehls „options“ angezeigt wird.

Optionen:

# 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

Rufen Sie die GUID anhand des Optionsnamens ab:

# Finden Sie die Options-GUID anhand des Optionsnamens 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 Dropdown-Feld abrufen
> ninjarmm-cli get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981a

Setzen:

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

E-Mail

Abrufen:

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

Setzen:

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

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

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

Ganzzahl

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 Integer-Feld abrufen
> ninjarmm-cli get globalinteger
456

Set:

# Wert für Integer-Feld setzen
> 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

Setzen:

# korrekte Werte setzen
> 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 setzen
> 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:

# Feld „multi-line“ abrufen
> ninjarmm-cli get globalmultiline
sampletext1

Setzen:

# Textfeld setzen
> ninjarmm-cli set globalmultiline sampletext2

Setzen (alternativ):

# Textfeld mit über die Pipe übergebenen Daten setzen
> 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-Einschrä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. Wenn Sie dieses Argument verwenden, sollten Sie die Daten als Eingabe über den stdin-Kanal unter Verwendung von Unix-Pipes 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 das Feld 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

Rufen Sie die GUID anhand des Optionsnamens ab:

# Finde die Options-GUID anhand des Optionsnamens für das Mehrfachauswahlfeld
> ninjarmm-cli options globalmultiselect | grep "Option 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Festlegen:

# 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 das Mehrfachauswahlfeld abrufen
> ninjarmm-cli get globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Telefonnummer

Abrufen:

# gespeicherten Wert abrufen
ninjarmm-cli get typephone
+1234567890

Eingeben:

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

> ninjarmm-cli set typephone 123456789012344567
123456789012344567

> ninjarmm-cli set typephone +123456789012344567
+123456789012344567

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

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

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

Sicher

Um zu verhindern, dass Werte sicherer Felder in der Skriptausgabe für Windows-Geräte angezeigt werden, sollte das Skript @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 Werte 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. Diese Auslassung verhindert die Ausgabe von ausgeführten Befehlen, die sichere Werte enthalten.

Get: 

# sicheres Feld abrufen
> ninjarmm-cli get globalsecure
sampletext1

Set:

# sicheres Feld setzen
> ninjarmm-cli set globalsecure sampletext2

Text

Abrufen:

# Textfeld abrufen
> ninjarmm-cli get globaltext
Beispieltext1

Setzen:

# Textfeld setzen
> 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 abrufen
> ninjarmm-cli get globaldatetime
120

Setzen:

# Wert für das Zeitfeld setzen
> 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

Setzen:

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

Dokumentationsfelder

Abrufen:

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

# Dokumentenliste nach Vorlagen-ID abrufen
> ninjarmm-cli documents 2
16=Vorlage 2

# Dokumentenliste nach Vorlagennamen abrufen
> ninjarmm-cli documents "Vorlage 2"
16=Vorlage 2

# Feldwert aus Dokument abrufen
> ninjarmm-cli get "template 2" "template 2" fieldname
Dies ist der Feldwert

Set:

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

# Attribut für ein einzelnes Dokument/Attribut anhand des Vorlagennamens setzen (Anführungszeichen erforderlich)
> ninjarmm-cli org-set "template 2" ExampleTextField "SampleText1"

# Wert eines Dokuments anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens 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 Dropdown- und Mehrfachauswahl-Attribute)
> ninjarmm-cli org-options "template 2" "ExampleDoc" ExampleTextField

# Liste der gültigen Werte für einen einzelnen Dokumentattributnamen nach Vorlagennamen abrufen (gilt für Dropdown- 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. Verwenden Sie die folgenden Links, um auf die Skripte zuzugreifen, 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.

Get:

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

Setzen:

# Einen booleschen Wert für das Checkbox-Feld setzen
> 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 eingestellte Wert in Sekunden oder im ISO-Format (JJJJ-MM-TT in UTC) angegeben werden.

Abrufen:

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

Setzen:

# Wert für das Datumsfeld setzen
> 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

Setzen:

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

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

Dezimal

Abrufen:

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

Setzen:

# Wert für Dezimalfeld setzen
> 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 anhand des Optionsnamens abrufen:

# Finde die Options-GUID anhand des Optionsnamens für das Dropdown-Feld
> Ninja-Property-Get globaldropdown | grep "Option1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Abrufen:

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

Setzen:

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

E-Mail

Abrufen:

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

Set:

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

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

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

Ganzzahl

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 Integer-Feld abrufen
> Ninja-Property-Get globalinteger
456

Setzen:

# Wert für Integer-Feld setzen
> 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

Setzen:

# korrekte Werte setzen
> 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 setzen
> Ninja-Property-Set typeipaddress 192.168.1.
Fehler: Falsches Wertformat / falscher Typ ...

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

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

Mehrzeilig

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

Get:

# get text field
> Ninja-Property-Get globaltext
sampletext1

Setzen:

# Textfeld setzen
>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 anhand des Optionsnamens abrufen:

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

Festlegen:

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

Get:

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

Telefonnummer

Abrufen:

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

Setzen:

# korrekte Werte setzen
> 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 setzen
> 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 ...

Sicher

Abrufen:

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

Setzen:

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

Text

Abrufen:

# Textfeld abrufen
> Ninja-Property-Get globaltext
Beispieltext1

Setzen:

# Textfeld setzen
>Ninja-Property-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 Zeitfeld abrufen
> Ninja-Property-Get globaldatetime
120

Setzen:

# Wert für Zeitfeld setzen
> 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

Setzen:

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

Dokumentationsfelder

Abrufen:

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

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

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

Set:

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

# Attribut für ein einzelnes Dokument/Attribut anhand des Vorlagennamens setzen (Anführungszeichen erforderlich)
> Ninja-Property-Docs-Set-Single "Vorlage 2" ExampleTextField "Beispieltext1"

# Wert des Dokuments anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens 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 Dropdown- und Mehrfachauswahl-Attribute)
> Ninja-Property-Docs-Options „template 2“ „ExampleDoc“ ExampleTextField

# Liste der gültigen Werte für einen einzelnen Dokumentattributnamen nach Vorlagennamen abrufen (gilt für Dropdown- und Mehrfachauswahl-Attribute)
> Ninja-Property-Docs-Options-Single "template 2" ExampleTextField

Weitere Ressourcen

Weitere Informationen zu Dokumentation, benutzerdefinierten Feldern, der CLI und Skripting finden Sie in den folgenden Artikeln:

Befehlszeilenschnittstelle (CLI)

Verwendung der Befehlszeilenschnittstelle (CLI) in NinjaOne.

Dokumentation und benutzerdefinierte Felder

Skripting

FAQ

Nächste Schritte