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 die Verwendung der ninjarmm-cli-Komponente für die Betriebssysteme Microsoft Windows, Apple macOS und Linux.

Umgebung

  • NinjaOne Endpoint Management
  • NinjaOne-Dokumentation

Beschreibung

Die ninjarmm-cli-Komponente 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 schreibgeschützt für Dokumentationsfelder.
  • Sie können Dokumentationsdaten in die CLI oder benutzerdefinierte Skripte lesen oder schreiben. Sie können eine Liste von Vorlagen, eine Liste der Dokumente nach Vorlagenname oder Identifikationsnummer und 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 wurden. Da sich die Datei ninjarmm-cli.exe in einem geschützten Ordner befindet, auf den normale Benutzer keinen Zugriff haben, sollten Sie alle Skripte, die diese Funktion verwenden, als System ausführen oder die Berechtigungen entsprechend ändern.
  • Bei Linux-Geräten müssen Sie ./ vor ninjarmm-cli im Terminal hinzufügen, damit der Befehl korrekt ausgeführt wird.
  • Wenn Sie die Ausgabe des Befehls ninjarmm-cli get in einer Variablen speichern möchten, 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-Ausgabunterstützung verloren gehen, die 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]

Zugriff auf sichere Felder über Automatisierungen

Sichere Felder dürfen nicht mehr als 200 Zeichen umfassen.

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

  • Skriptbedingungen
  • Skript-Verbundbedingungen
  • Geplante Aufgaben gemäß Richtlinie
  • Globale geplante Aufgaben
  • Ausführung vor Aktionen zum Sichern, Patchen, Installieren der Anwendung und ähnlichen Aufgaben
  • Ausführung nach Aktionen zu 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 Webterminal oder lokale Terminal kann nicht auf sichere benutzerdefinierte Felder zugreifen.
  • Nur Befehle, die auf einem lokalen Gerät ausgeführt werden 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 für 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 für den Zugriff auf und die 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 Pipedaten. 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 „<Vorlage-ID/Name>“ – Liste der Dokumente für die Vorlage nach ID oder Name abrufen (Anführungszeichen erforderlich)
   --ids, --names – optionale Modifikatoren

get „<Vorlage-ID/Name>“ „<Dokumentname>“ <Attributname> – Attribut aus Dokument nach Dokumentname und Vorlage-ID/Name abrufen (Anführungszeichen erforderlich)

get „<Name einer einzelnen Vorlage>“ <Attributname> – Attribut aus einem einzelnen Dokument anhand des Vorlagennamens abrufen (Anführungszeichen erforderlich)

org-set „<Vorlage-ID/Name>“ „<Dokumentname>“ <Attributname> „<Attributwert und durch Kommas getrennte Werteliste>“ – Attribut für das angegebene Dokument/Attribut anhand des Dokumentnamens und der Vorlage-ID/des Vorlagennamens festlegen (Anführungszeichen erforderlich)

org-set „<Einzelvorlagenname>“ <Attributname> „<Attributwert und durch Kommas getrennte Werteliste>“ – Attribut für ein einzelnes Dokument/Attribut anhand des Vorlagennamens festlegen (Anführungszeichen erforderlich)

org-clear "<Vorlage-ID/Name>" "<Dokumentname>" <Attributname> – Wert des Dokuments nach Dokumentname und Vorlage-ID/Name löschen (Anführungszeichen erforderlich, wird als NULL dargestellt)

org-clear "<Einzelvorlagenname>" <Attributname> – Wert eines einzelnen Dokuments nach Vorlagenname löschen (Anführungszeichen erforderlich, wird als NULL dargestellt)

org-options "<Vorlage-ID/Name>" "<Dokumentname>" <Attributname> – Liste der gültigen Werte für Dokumentattributnamen nach Dokumentname und Vorlagen-ID/Name abrufen (gilt für Dropdown- und Mehrfachauswahlattribute)

org-options „<Name einer einzelnen Vorlage>“ <Attributname> – Ruft eine Liste der gültigen Werte für einen einzelnen Dokumentattributnamen nach Vorlagennamen ab (gilt für Dropdown- und Mehrfachauswahlattribute).

Ausgabeformat:

Exit-Codes: 0 – Erfolgreich, 1 – Fehler

Bei Erfolg: Beenden mit 0 und Wert ausgeben.

Bei Fehler: Beenden mit 1 und Fehlerbeschreibung ausgeben.

Ausgangscode lesen: Win: 'echo %errorlevel%', Unix: 'echo $?'

Attributtypen:

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

  Numerisch – Ganzzahliger Typ, Wertebereich von -2147483648 bis 2147483647, unterstützt erweiterte Eingabefiltereinstellungen.

  Dezimal – Float-Typ, 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 gemäß 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 zum Schreiben für die 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 ISO-Format „yyyy-MM-dd”

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

  MultiSelect – Liste eindeutiger Optionen (Befehl <options> anzeigen)

  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-Inhalt

NinjaOne PowerShell-Modul

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

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 geeignetes 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: Anhang, Kontrollkästchen, Datum, Datum/Uhrzeit, Dezimalzahl, Gerät-Dropdown, Gerät-Mehrfachauswahl, Dropdown, E-Mail, Ganzzahl, IP-Adresse, Mehrzeilig, Mehrfachauswahl, Organisation-Dropdown, Organisationsstandort-Dropdown, Organisationsstandort-Mehrfachauswahl, Organisations-Mehrfachauswahl, Telefon, Sicher, Text, Uhrzeit, WYSIWYG und URL.

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

Beispiele

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

powershell1-upscaled.png
Abbildung 1: Kein Feldtyp angegeben (zum Vergrößern anklicken)

Das Abrufen eines benutzerdefinierten Feld-Dropdown-Menüs unter Angabe des benutzerdefinierten Feldtyps (Dropdown) führt dazu, dass der Befehl anstelle des GUID-Werts den benutzerfreundlichen Wert zurückgibt, der innerhalb der Plattform angezeigt wird.

powershell2-upscaled.png
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 Wert zu konvertieren, der von diesem bestimmten Feld unterstützt wird. Wenn beispielsweise ein DateTime-Objekt angegeben und der Typ „Date“ festgelegt ist, konvertiert sie das Datumsobjekt in einen Unix-Epochen-Zeitstempel und legt das Feld mit diesem Wert fest.

Es kann auch Dropdown- und Mehrfachauswahlfelder anhand von Feldnamen anstelle ihrer GUIDs festlegen.

Zu den unterstützten Typen gehören: Kontrollkästchen, Datum, Datum oder Datum/Uhrzeit, DateTime, Dezimalzahl, Dropdown, E-Mail, Ganzzahl, IP-Adresse, Mehrzeilig, Mehrfachauswahl, Telefon, Sicher, Text, Uhrzeit, URL und WYSIWYG.

Beispiele

Um ein benutzerdefiniertes Dropdown-Feld ohne Angabe des Feldtyps festzulegen, ist der eindeutige GUID-Wert für die gewünschte Dropdown-Option erforderlich.

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

Wenn Sie ein benutzerdefiniertes Dropdown-Feld festlegen und dabei den Feldtyp als Dropdown 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 vollständige Unicode-Unterstützung, sodass Sie über diese Befehle Emojis festlegen und abrufen können.

Weitere Details und Beispiele für beide Befehle finden 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 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, dargestellt als NULL)
Ninja-Property-Docs-Options-Single – Liste der gültigen Werte für den Namen eines einzelnen Dokumentattributs nach Vorlagennamen abrufen (gilt für Dropdown- und Mehrfachauswahlattribute)

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 der ninjarmm-cli ohne vollständigen Pfad, aber Sie können den vollständigen Pfad basierend auf 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 bezieht sich auf den 1. Januar 1970 um 00:00:00 UTC als Unix-Epoche.
  • Der Datumswert ist die Anzahl der Sekunden seit dem 1. Januar 1970 um 00:00:00 UTC.Sie können ein Zeitstempel-Konvertierungstool verwenden, um diesen Wert für ein für Menschen lesbares Datum zu erhalten.
  • Wenn Sie den Wert im ISO-Format festlegen, wird er in Sekunden seit dem 1. Januar 1970 in UTC umgewandelt.

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

Wählen Sie ein Thema aus, um fortzufahren:

Kontrollkästchen

Für das Kontrollkästchenfeld muss der eingestellte Wert entweder „true” (1) oder „false” (0) sein.

Abrufen:

# Wert für das Kontrollkästchenfeld abrufen
> ninjarmm-cli get globalcheckbox
0

Setzen:

# Setzen eines booleschen Werts für das Kontrollkästchenfeld
> 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 eingestellte Wert im Sekunden- oder ISO-Format (International Organization for Standardization) angegeben werden (JJJJ-MM-TT in UTC).

Abrufen:

# Wert für das Datumsfeld abrufen
> ninjarmm-cli get globaldate
456

Setzen:

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

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

Datum/Uhrzeit

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

Abrufen:

# Wert für das Feld „Datum/Uhrzeit” abrufen
> ninjarmm-cli get globaldatetime
1626875470000

Set:

# Wert für Datums-/Zeitfeld festlegen
> 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 Dezimalfeld abrufen
> ninjarmm-cli get globaldecimal
123.456

Setzen:

# Wert für Dezimalfeld festlegen
> 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, besser keinen kürzeren Wert verwenden, um Probleme bei der Datentypkonvertierung zu vermeiden

> ninjarmm-cli set typedecimal 1234567890.1234567890
1234567890.123457

Dropdown

Für das Dropdown-Feld muss der eingestellte Wert genau mit einer gültigen Option übereinstimmen, entweder unter Verwendung der GUID (Globally Unique Identifier) oder des Feldnamens, wie er beim Ausführen des Befehls „options“ aufgeführt ist.

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

GUID anhand des Optionsnamens abrufen:

# Finden Sie die Option-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 Dropdown-Feld festlegen
> ninjarmm-cli set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

E-Mail

Abrufen:

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

Set:

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

Ganzzahl

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

Abrufen:

# Wert für Integer-Feld abrufen
> ninjarmm-cli get globalinteger
456

Setzen:

# Wert für Integer-Feld festlegen
> ninjarmm-cli set globalinteger 123

IP-Adresse

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

Abrufen:

# Gespeicherten Wert abrufen
> ninjarmm-cli get typeipaddress
192.168.1.100

Festlegen:

# korrekte Werte festlegen
> 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 festlegen
> ninjarmm-cli set typeipaddress 192.168.1.
Fehler: Falsches Wertformat/falscher Wertetyp ...

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

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

Mehrere Zeilen

Abrufen:

# Mehrzeiliges Feld abrufen
> ninjarmm-cli get globalmultiline
sampletext1

Setzen:

# Textfeld festlegen
> ninjarmm-cli set globalmultiline sampletext2

Festlegen (alternativ):

# Textfeld mit gepipeten Daten festlegen
> ls -alh | ninjarmm-cli set globalmultiline

NinjaOne unterstützt die Verwendung einer einzelnen mehrzeiligen Zeichenfolge, wenn Sie das Steuerzeichen `n (die Taste „Backtick” oder „Backspark” plus Buchstabe „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 mehrzeilig „Zeile mit Leerzeichen'nZeile2'nZeile3'nfinalval”

multiline
Zeile mit Leerzeichen
Zeile2
Zeile3
finalval

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. Manchmal reicht dies jedoch nicht aus, und Sie müssen die Daten aus dem stdin-Kanal (Standardeingabe) abrufen.

Dies ist beispielsweise der Fall, wenn Sie Daten in das mehrzeilige Textfeld eingeben oder die Ausgabe aus der 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 [anderer Feldname]. Die über die Pipe übertragenen Daten werden im Zielfeld gespeichert, wenn sie alle Bedingungen für den Feldtyp erfüllen.

Mehrfachauswahl

Optionen:

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

GUID anhand des Optionsnamens abrufen:

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

Festlegen:

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

Abrufen:

# Werte für 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

Festlegen:

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

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

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

Sicher

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 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 sichere Feldwerte in der Skriptausgabe für Unix-Geräte (macOS oder Linux) angezeigt werden, sollte das Skript vor der Ausführung nicht set -x enthalten. Durch diese Auslassung wird die Ausgabe von ausgeführten Befehlen verhindert, die sichere Werte enthalten.

Abrufen: 

# sicheres Feld abrufen
> ninjarmm-cli get globalsecure
sampletext1

Set:

# sicheres Feld festlegen
> ninjarmm-cli set globalsecure sampletext2

Text

Abrufen:

# Textfeld abrufen
> ninjarmm-cli get globaltext
sampletext1

Festlegen:

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

Festlegen:

# Wert für Zeitfeld festlegen
> 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 festlegen
> ninjarmm-cli set url https://www.ninjarmm.com

Dokumentationsfelder

Abrufen:

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

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

# Dokumentliste nach Vorlagennamen abrufen
> ninjarmm-cli documents „Vorlage 2”
16=Vorlage 2

# Feldwert aus Dokument abrufen
> ninjarmm-cli get „Vorlage 2” „Vorlage 2” Feldname
Dies ist der Feldwert

Festlegen:

# Attribut für das angegebene Dokument/Attribut anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens festlegen (Anführungszeichen erforderlich)
> ninjarmm-cli org-set „Vorlage 2” „Beispieldokument” BeispielTextfeld „BeispielText1”

# Attribut für einzelnes Dokument/Attribut anhand des Vorlagennamens festlegen (Anführungszeichen erforderlich)
> ninjarmm-cli org-set „Vorlage 2” BeispielTextfeld „BeispielText1”

# Wert des Dokuments anhand des Dokumentnamens und der Vorlagen-ID/des Vorlagennamens löschen (Anführungszeichen erforderlich, dargestellt als NULL)
> ninjarmm-cli org-clear „Vorlage 2” „Beispieldokument” BeispielTextfeld

# Wert eines einzelnen Dokuments anhand des Vorlagennamens löschen (Anführungszeichen erforderlich, dargestellt als NULL)
> ninjarmm-cli org-clear „Vorlage 2” BeispielTextfeld

Optionen:

# Liste der gültigen Werte für Dokumentattributnamen nach Dokumentname und Vorlagen-ID/Name abrufen (gilt für Dropdown- und Mehrfachauswahlattribute)
> ninjarmm-cli org-options „Vorlage 2” „Beispieldokument” BeispielTextfeld

# Liste der gültigen Werte für einen einzelnen Dokumentattributnamen nach Vorlagennamen abrufen (gilt für Dropdown- und Mehrfachauswahlattribute)
> 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ästchenfeld muss der eingestellte Wert entweder „true” (1) oder „false” (0) sein.

Abrufen:

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

Setzen:

# Setze einen booleschen Wert für das Kontrollkästchenfeld.
> 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 Datumsfeld abrufen
> Ninja-Property-Get globaldate
456

Setzen:

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

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

Datum/Uhrzeit

Abrufen:

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

Setzen:

# Wert für Datums-/Zeitfeld festlegen
> 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

Set:

# Wert für Dezimalfeld festlegen
> 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, besser keine höhere Genauigkeit 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:

# Finden Sie 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

Set:

# Wert für Dropdown-Feld festlegen
> 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 festlegen
> Ninja-Property-Set typeemail [email protected]
Fehler: Falsches Wertformat/falscher Wertetyp ...

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

Set:

# Wert für Integer-Feld festlegen
> Ninja-Property-Set globalinteger 123

IP-Adresse

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

Abrufen:

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

Setzen:

# richtige Werte festlegen
> 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 festlegen
> Ninja-Property-Set typeipaddress 192.168.1.
Fehler: Falsches Wertformat/falscher Wertetyp ...

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

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

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.

Abrufen:

# Textfeld abrufen
> 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 suchen
> Ninja-Property-Options globalmultiselect | grep „Option 1” | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40ba67c4f981a

Festlegen:

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

Abrufen:

# 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 festlegen
> 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 festlegen
> Ninja-Property-Set typephone 14953273916qwerty
Fehler: Falsches Wertformat/falscher Wertetyp ...

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

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

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

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

Set:

# Textfeld festlegen
>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

Festlegen:

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

Festlegen:

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

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

# Wert des Dokuments nach Dokumentenname und Vorlagen-ID/Name löschen (Anführungszeichen erforderlich, dargestellt als NULL)
> Ninja-Property-Docs-Clear „template 2” „ExampleDoc” ExampleTextField

# Wert eines einzelnen Dokuments nach Vorlagenname löschen (Anführungszeichen erforderlich, dargestellt als NULL)
> Ninja-Property-Docs-Clear-Single „template 2” ExampleTextField

Optionen:

# Liste der gültigen Werte für Dokumentattributnamen nach Dokumentname und Vorlagen-ID/Name abrufen (gilt für Dropdown- und Mehrfachauswahlattribute)
> Ninja-Property-Docs-Options „Vorlage 2” „Beispieldokument” BeispielTextfeld

# Liste der gültigen Werte für einen einzelnen Dokumentattributnamen nach Vorlagennamen abrufen (tatsächlich für Dropdown- und Mehrfachauswahlattribute)
> Ninja-Property-Docs-Options-Single „Vorlage 2” BeispielTextfeld

Weitere Ressourcen

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

Befehlszeilenschnittstelle (CLI)

Verwendung der Befehlszeilenschnittstelle (CLI) in NinjaOne.

Dokumentation und benutzerdefinierte Felder

Skripting

FAQ

Nächste Schritte