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
- Zugriff auf gesicherte Felder über Automatisierungen
- Interaktion mit benutzerdefinierten Feldern über die Windows-CLI oder das Terminal
- NinjaOne PowerShell-Modul
- Interaktion mit benutzerdefinierten Feldern über Windows-CLI-Befehle, benutzerdefinierte Batch-Skripte, ShellScript unter UNIX oder benutzerdefinierte ShellScript-Skripte
- Interaktion mit benutzerdefinierten Feldern über PowerShell-Befehle oder benutzerdefinierte Skripte
- Weitere Ressourcen
Wichtige Hinweise
Bevor Sie ninjarmm-cli verwenden, sollten Sie Folgendes beachten:
- Sichere Felder sind für Dokumentationsfelder schreibgeschützt.
- Eine vollständige Übersicht über die unterstützten Felder finden Sie unter „Unterstützte Felder und Funktionen der Befehlszeilenschnittstelle (CLI)“.
- 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.- PowerShell-Versionen 1 und 2 werden nicht unterstützt.
- Informationen dazu, welche Felder den Zugriff über die CLI und benutzerdefinierte Skripte unterstützen, finden Sie unter „Command Line Interface (CLI) – Unterstützte Felder und Funktionen“.
- 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“-Kanalnicht korrekt funktioniert. Beachten Sie das folgende Beispiel für diesen Befehl:
ninjarmm-cli --direct-out get [Feldname]Zugriff auf sichere Felder über Automatisierungen
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-InhaltenNinjaOne 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.
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.
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.
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.
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-NinjaPropertyOder
Get-Help Set-NinjaPropertyAlle 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 $AttributeNameDokumentationsbefehle
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
- Datum
- Datum/Uhrzeit
- Dezimal
- Dropdown
- Ganzzahl
- IP-Adresse
- Mehrzeilig
- Mehrfachauswahl
- Telefonnummer
- Sicher
- Text
- Zeit
- URL
- Dokumentationsfelder
Kontrollkästchen
Abrufen:
# Wert für das Kontrollkästchen-Feld abrufen
> ninjarmm-cli get globalcheckbox
0Setzen:
# 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
0Datum
Abrufen:
# Wert für das Feld „Datum“ abrufen
> ninjarmm-cli get globaldate
456Setzen:
# Wert für das Datumsfeld festlegen
> ninjarmm-cli set globaldate 1626875470000
> ninjarmm-cli set testdate 2021-10-15
1634256000Datum/Uhrzeit
Abrufen:
# Wert für das Datums-/Zeitfeld abrufen
> ninjarmm-cli get globaldatetime
1626875470000Setzen:
# Wert für Datums-/Zeitfeld setzen
> ninjarmm-cli set globaldatetime 1626875470000
1626875470000
> ninjarmm-cli set testdatetime 2021-10-15T00:00:00
1634256000Dezimal
Abrufen:
# Wert für das Dezimalfeld abrufen
> ninjarmm-cli get globaldecimal
123,456Setzen:
# 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.123457Dropdown
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=Option3Rufen 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-40b67c4f981aAbrufen:
# Wert für Dropdown-Feld abrufen
> ninjarmm-cli get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981aSetzen:
# Wert für das Dropdown-Feld festlegen
> ninjarmm-cli set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17Abrufen:
# 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
Abrufen:
# Wert für Integer-Feld abrufen
> ninjarmm-cli get globalinteger
456Set:
# Wert für Integer-Feld setzen
> ninjarmm-cli set globalinteger 123IP-Adresse
Abrufen:
# gespeicherten Wert abrufen
> ninjarmm-cli get typeipaddress
192.168.1.100Setzen:
# 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
sampletext1Setzen:
# Textfeld setzen
> ninjarmm-cli set globalmultiline sampletext2
Setzen (alternativ):
# Textfeld mit über die Pipe übergebenen Daten setzen
> ls -alh | ninjarmm-cli set globalmultilineNinjaOne 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
finalvalDie 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=Option3Rufen 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-40b67c4f981aFestlegen:
# mehrere Werte für das Mehrfachauswahlfeld festlegen, durch Kommas getrennt
> ninjarmm-cli set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008,74a6ffda-708e-435a-86e3-40b67c4f981aAbrufen:
# Werte für das Mehrfachauswahlfeld abrufen
> ninjarmm-cli get globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981aTelefonnummer
Abrufen:
# gespeicherten Wert abrufen
ninjarmm-cli get typephone
+1234567890Eingeben:
# 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
sampletext1Set:
# sicheres Feld setzen
> ninjarmm-cli set globalsecure sampletext2Text
Abrufen:
# Textfeld abrufen
> ninjarmm-cli get globaltext
Beispieltext1Setzen:
# Textfeld setzen
> ninjarmm-cli set globaltext sampletext2Zeit
Abrufen:
# Wert für das Zeitfeld abrufen
> ninjarmm-cli get globaldatetime
120Setzen:
# Wert für das Zeitfeld setzen
> ninjarmm-cli set globaldatetime 3600
3600
> ninjarmm-cli set testdatetime 00:00:00
0URL
Das URL -Feld ist auf 200 Zeichen begrenzt und muss mit https:// beginnen.
Abrufen:
# URL-Feld abrufen
> ninjarmm-cli get url
https://www.google.comSetzen:
# URL-Feld setzen
> ninjarmm-cli set url https://www.ninjarmm.comDokumentationsfelder
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 FeldwertSet:
# 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" ExampleTextFieldOptionen:
# 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" ExampleTextFieldInteraktion 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:
- Checkbox
- Datum
- Datum/Uhrzeit
- Dezimal
- Dropdown
- Ganzzahl
- IP-Adresse
- Mehrzeilig
- Mehrfachauswahl
- Telefonnummer
- Sicher
- Text
- Zeit
- URL
- Dokumentationsfelder
Kontrollkästchen
Get:
# Wert für das Kontrollkästchen-Feld abrufen
> Ninja-Property-Get globalcheckbox
0Setzen:
# 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
0Datum
Abrufen:
# Wert für das Datumsfeld abrufen
> Ninja-Property-Get globaldate
456Setzen:
# Wert für das Datumsfeld setzen
> Ninja-Property-Set globaldate 1626875470000
> Ninja-Property-Set testdate 2021-10-15
1634256000Datum/Uhrzeit
Abrufen:
# Wert für Datums- und Zeitfeld abrufen
> Ninja-Property-Get globaldatetime
1626875470000Setzen:
# Wert für Datums-/Zeitfeld setzen
> Ninja-Property-Set globaldatetime 1626875470000
1626875470000
> Ninja-Property-Set testdatetime 2021-10-15T00:00:00
1634256000Dezimal
Abrufen:
# Wert für Dezimalfeld abrufen
> Ninja-Property-Get globaldecimal
123,456Setzen:
# 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,123457Dropdown
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=Option3Option-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-40b67c4f981aAbrufen:
# Wert für Dropdown-Feld abrufen
> Ninja-Property-Get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981aSetzen:
# Wert für das Dropdown-Feld setzen
> Ninja-Property-Set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17Abrufen:
# 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
456Setzen:
# Wert für Integer-Feld setzen
> Ninja-Property-Set globalinteger 123IP-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.100Setzen:
# 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
sampletext1Setzen:
# Textfeld setzen
>Ninja-Property-Set globaltext sampletext2Mehrfachauswahl
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=Option3Option-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-40ba67c4f981aFestlegen:
# Mehrere Werte für das Mehrfachauswahlfeld festlegen, durch Kommas getrennt
> Ninja-Property-Set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008,
74a6ffda-708e-435a-86e3-40b67c4f981aGet:
# Werte für Mehrfachauswahlfeld abrufen
> Ninja-Property-Get globalmultiselect
333f541e-747e-4a1e-a1e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981aTelefonnummer
Abrufen:
# gespeicherten Wert abrufen
Ninja-Property-Get typephone
+1234567890Setzen:
# 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
sampletext1Setzen:
# sicheres Feld setzen
>Ninja-Property-Set globalsecure sampletext2Text
Abrufen:
# Textfeld abrufen
> Ninja-Property-Get globaltext
Beispieltext1Setzen:
# Textfeld setzen
>Ninja-Property-Set globaltext sampletext2Zeit
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
120Setzen:
# Wert für Zeitfeld setzen
> Ninja-Property-Set globaldatetime 3600
3600
> Ninja-Property-Set testdatetime 00:00:00
0URL
Das URL -Feld ist auf 200 Zeichen begrenzt und muss mit „https://“ beginnen.
Abrufen:
# URL-Feld abrufen
> Ninja-Property-Get url
https://www.google.comSetzen:
# URL-Feld setzen
>Ninja-Property-Set url https://www.google.comDokumentationsfelder
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 FeldwertSet:
# 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" ExampleTextFieldOptionen:
# 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" ExampleTextFieldWeitere 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
- Benutzerdefinierte Felder in NinjaOne: Ressourcenkatalog.
- Erste Schritte mit benutzerdefinierten Feldern in NinjaOne.
- NinjaOne-Dokumentation: Apps und Dienste.
Skripting