In diesem Dokument erklären wir, wie Sie vom Betriebssystem aus mit erweiterten benutzerdefinierten Feldern interagieren können. Dies ist ein leistungsstarkes Tool für IT-Administratoren, um nahezu alles mit NinjaOne zu überwachen und zu steuern.
Welche Tools NinjaOne hierfür anbietet und einige Beispiele.
Wie erfolgt die Interaktion zwischen dem Betriebssystem und den benutzerdefinierten Feldern von NinjaOne?
Es gibt zwei Möglichkeiten: NinjaRMM-Cli und PowerShell.
1. NinjaRMM-Cli ist ein Befehlszeilentool, das auf der Betriebssystemseite zusammen mit der nativen Skriptsprache des Betriebssystems (Batch, Bash, ShellScript, PowerShell) verwendet werden kann. Dieses Tool verfügt über spezifische Befehle zur Interaktion mit den benutzerdefinierten Feldern.
Das NinjaRMM-Cli-Tool wird auf einem Endpunkt installiert, wenn der NinjaOne-Agent auf einem Windows-, Mac- oder Linux-Endpunkt installiert wird.
Je nach Betriebssystem kann der Pfad zu dieser ausführbaren Datei in den folgenden Ordnern zu finden sein.
- Windows: C:\ProgramDataNinjaRMMAgentninjarmm-cli.exe.
- Mac: /Programme/NinjaRMMAgent/programdata/ninjarmm-cli.
- Linux: /opt/NinjaRMMAgent/programdata/ninjarmm-cli.
NinjaRMM-Cli get ist der Befehl, der verwendet wird, um den Wert eines benutzerdefinierten Feldes abzurufen oder zu lesen.
NinjaRMM-Cli set ist der Befehl, der verwendet wird, um einen Wert einem benutzerdefinierten Feld zuzuweisen.
Die Syntax lautet: ninjarmm-cli set value (set muss in Kleinbuchstaben geschrieben werden).
2. PowerShell, dieses Tool war früher nur für Windows verfügbar, ist jetzt aber auch für Mac und Linux erhältlich.
Die Befehle für die Interaktion zwischen dem Betriebssystem und NinjaOne über PowerShell sind die Befehle Ninja-Property-Get und Ninja-Property-Set.
Ninja-Property-Get ist der PowerShell-Befehl von NinjaOne, um den Wert eines benutzerdefinierten Feldes abzurufen oder zu lesen. Die Syntax lautet: Ninja-Property-Get fieldName.
Ninja-Property-Set ist der PowerShell-Befehl von NinjaOne, um ein benutzerdefiniertes Feld auf einen bestimmten Wert zu setzen. Die Syntax lautet: Ninja-Property-Set fieldName Wert
Am Ende dieses Dokuments finden Sie einen Link zu einer umfassenderen Dokumentation über die Verwendung der NinjaRMM-Cli und der PowerShell-Interaktion mit NinjaOne.
Strategien für benutzerdefinierte Felder
Wir zeigen zwei Beispiele, wie man benutzerdefinierte Felder verwendet, beide haben dasselbe Ziel: Bestimmen, ob ein Gerät einer Domäne beigetreten ist oder nicht. Ein Beispiel verwendet NinjaRMM-Cli, das andere PowerShell. Wir werden ein benutzerdefiniertes Feld vom Typ Checkbox mit dem Namen „domainjoined“ erstellen, das für beide Beispiele dient. Der Unterschied liegt in den Automatisierungen.
1. Erstellen Sie ein benutzerdefiniertes Feld vom Typ „Rolle“ mit dem Namen „domainjoined“ und ordnen Sie es Windows-Laptops, Windows-Desktops und Windows-Servern zu.
a) Gehen Sie zu Verwaltung, dann Geräte, dann zu Rollenspezifischen benutzerdefinierten Feldern.
b) Klicken Sie auf Hinzufügen, wählen Sie dann Feld aus. Ein Dialogfeld wird angezeigt.
c) Füllen Sie das Label und den Namen aus. Label ist „Domain Joined“, Name ist „domainjoined“.
d) Wählen Sie den Feldtyp „Checkbox“.
e) Klicken Sie auf Erstellen.
f) Weisen Sie den Technikern Lesezugriff, den Automatisierungen Lese-/Schreibzugriff und den API-Berechtigungen Lese-/Schreibzugriff zu.
g) Füllen Sie optional die Beschreibung, ToolTip-Text und Fußzeilentext aus. Sie können auch festlegen, ob dieses benutzerdefinierte Feld erforderlich ist.
h) Klicken Sie auf Speichern. Siehe unten das Screenshot des Dialogfeldes „Rollenbenutzerdefiniertes Feld erstellen“.
i) Gehen Sie zu Verwaltung, dann Geräte, dann zu Rollen.
j) Bewegen Sie den Mauszeiger über die Geräte-Rolle „Windows Server“, der Bearbeiten-Button erscheint rechts, klicken Sie darauf. Ein Dialogfeld wird angezeigt.
k) Klicken Sie auf Hinzufügen. Wählen Sie Feld aus.
l) Wählen Sie aus dem Dropdown-Menü das benutzerdefinierte Feld „Domain Joined“ aus.
m) Klicken Sie auf Speichern.
n) Wiederholen Sie den Vorgang für die Rollen „Windows Desktops“ und „Windows Laptops“.
2. Erstellen Sie eine PowerShell-Automatisierung mit dem Namen ChkIfDomainJoinedPS.
a) Gehen Sie zu Verwaltung, dann zur Bibliothek, dann zu Automatisierung.
b) Klicken Sie auf Hinzufügen, wählen Sie dann Neues Skript aus. Das Dialogfeld zum Erstellen eines Skripts wird angezeigt.
c) Füllen Sie das Namensfeld mit folgendem Namen aus: ChkIfDomainJoinedPS.
d) Optional: Füllen Sie das Beschreibungsfeld aus.
e) Wählen Sie unter Kategorie die gewünschte Kategorie aus.
f) Wählen Sie unter Sprache PowerShell aus.
g) Wählen Sie unter Betriebssystem Windows aus.
h) Wählen Sie unter Architektur „Alle“ aus.
i) Lassen Sie die Felder für Skriptvariablen und Parameter leer.
j) Fügen Sie auf der linken Seite den folgenden Code ein.
if ((gwmi win32_computersystem).partofdomain -eq $true) {
Ninja-Property-Set fieldName 1
} sonst {
Ninja-Property-Set fieldName 0
}
k) Klicken Sie auf Speichern. Geben Sie Ihre MFA-Methode Antwort ein und schließen Sie dann.
3. Erstellen Sie eine Batch-Automatisierung mit dem Namen ChkIfDomainJoinedBatch.
a) Gehen Sie zu Verwaltung, dann zur Bibliothek, dann zu Automatisierung.
b) Klicken Sie auf Hinzufügen, wählen Sie dann Neues Skript aus. Das Dialogfeld zum Erstellen eines Skripts wird angezeigt.
c) Füllen Sie das Namensfeld mit folgendem Namen aus: ChkIfDomainJoinedBatch.
d) Optional: Füllen Sie das Beschreibungsfeld aus.
e) Wählen Sie unter Kategorie die gewünschte Kategorie aus.
f) Wählen Sie unter Sprache Batch aus.
g) Wählen Sie unter Betriebssystem Windows aus.
h) Wählen Sie unter Architektur „Alle“ aus.
i) Lassen Sie die Felder für Skriptvariablen und Parameter leer.
j) Fügen Sie auf der linken Seite den folgenden Code ein:
@echo off
for /F “tokens=1*” %%G in (‘SYSTEMINFO ^| FIND /I “Domain:”‘) do set “sDomain=%%~H”
IF “%sDomain%”==”WORKGROUP” (
C:ProgramDataNinjaRMMAgentNinjaRMM-Cli set domainjoined 0
) ELSE (
C:ProgramDataNinjaRMMAgentNinjaRMM-Cli set domainjoined 1
)
k) Klicken Sie auf Speichern. Geben Sie Ihre MFA-Methode Antwort ein und schließen Sie dann.
Gehen Sie nun zum Geräte-Dashboard und wählen Sie einen beliebigen Windows-Desktop, Windows-Laptop oder Windows-Server aus. Überprüfen Sie den Status des benutzerdefinierten Feldes ‘Domain Joined’, es sollte ‘Kein Wert’ anzeigen. Führen Sie das Skript ChkIfDomainJoinedPS aus.
Wählen Sie dann einen anderen Windows-Desktop, Windows-Laptop oder Windows-Server und wiederholen Sie das vorherige Verfahren, aber führen Sie diesmal das Skript ChkIfDomainJoinedBatch aus.
Nach einigen Sekunden können Sie das benutzerdefinierte Feld ‘Domain Joined’ auf beiden Geräten überprüfen, und der Status des benutzerdefinierten Feldes wird entsprechend aktualisiert.
Sie können weitergehen, indem Sie eine geplante Aufgabe erstellen und diese regelmäßig auf allen Ihren Windows-Geräten ausführen, um den Status aktuell zu halten.