Erweiterte Anwendungsmöglichkeiten für benutzerdefinierte Felder in NinjaOne (Teil 1)

An image of a man interacting with a window for the blog NinjaOne Custom Fields

Benutzerdefinierte Felder Blog-Banner

NinjaOne veröffentlichte im Jahr 2021 die Funktion ‘Benutzerdefinierte Felder’, die unserer Plattform ein neues Maß an Flexibilität, Anpassbarkeit und Automatisierungsmöglichkeiten verleiht. Bei benutzerdefinierten Feldern handelt es sich um eine Experten-Funktion, die erst eingerichtet werden muss, aber sobald Sie damit beginnen, eröffnen sich Ihnen nahezu unbegrenzte Möglichkeiten.

Im ersten Teil dieses Leitfadens demonstrieren wir Ihnen zwei wirkungsvolle Praxisbeispiele für den Einsatz benutzerdefinierter Felder in NinjaOne:

Ein kurzer Überblick zu benutzerdefinierten Feldern in NinjaOne

Rollen für benutzerdefinierte Felder

In NinjaOne gibt es benutzerdefinierte Felder in zwei Kategorien – globale benutzerdefinierte Felder, die für alle Geräte unabhängig von ihrem Typ gelten, und rollenbasierte benutzerdefinierte Felder, die nur bestimmten Gerätetypen zugeordnet werden.

Ein globales benutzerdefiniertes Feld kann beispielsweise eine Art universeller Asset-ID-Nummer verwenden, die Sie allen Geräten zuordnen. Rollenbasierte benutzerdefinierte Felder können Sie zum Beispiel verwenden, um allen Workstations und Laptops einen Geräteverantwortlichen zuzuordnen, nicht jedoch den Servern.

Benutzerdefinierte Feldtypen

NinjaOne bietet über zwanzig benutzerdefinierte Feldtypen – von Text über ganze Zahlen bis hin zu Dropdown-Menü’s und Device-Mapping. Wir stellen auch UI-Elemente zur Verfügung, um benutzerdefinierte Felder benutzerfreundlicher zu gestalten.

Zugang

Jedes benutzerdefinierte Feld kann individuell auf Techniker- und Skriptzugriffe angepasst werden, so dass Sie kontrollieren können, wer Zugriff auf welche Daten erlangt.

1. Praxisbeispiel: Beinahe uneingeschränkte Monitoring-Möglichkeiten

Sobald Sie den NinjaOne-Agenten installiert haben, stellen wir Hunderte von Datenpunkten zu jedem überwachten Endpunkt zur Verfügung – von Hardware-Spezifikationen über installierte Software bis hin zur CPU-Auslastung. Dennoch sind die spezifischen Datenpunkte und Überwachungsanforderungen eines jeden Unternehmens einzigartig.

Mit benutzerdefinierten Feldern von NinjaOne können Sie nahezu jeden Datenpunkt von einem Endpunkt erfassen, speichern und überwachen. So stellen Sie sicher, dass Ihnen die Informationen vorliegen, die Sie für Ihre Entscheidungsfindung benötigen. Ein paar Beispiele von unseren Partnern:

  • Identifizieren und speichern Sie den aktuellen Energieplan
  • Dokumentieren Sie existierende lokale Administratorkonten
  • Erhalten Sie eine Liste der geplanten Aufgaben für ein Gerät
  • Überwachen Sie die CPU-Temperatur
  • Überwachen Sie den Batteriezustand
So funktioniert‘s

Lassen Sie uns ein Beispiel für die Einrichtung eines benutzerdefinierten Felds und eines Skripts zur Überwachung des Batteriestands durchgehen.

Um mittels benutzerdefinierter Felder einen benutzerdefinierten Überwachungsmonitor einzurichten, benötigen Sie:

  1. Ein benutzerdefiniertes Feld
  2. Ein Skript zum Sammeln und Speichern der Daten
  3. Eine benutzerdefinierte Bedingung, um eine Alarmierung einzurichten
Konfiguration des benutzerdefinierten Feldes

Das benutzerdefinierte Feld wird zum Speichern von Daten verwendet, die von einem Skript zurückgegeben werden.

1)  Erzeugen Sie ein neues benutzerdefiniertes Feld. Da wir den Akkustand von Laptops überwachen werden, erstellen wir ein rollenbasiertes benutzerdefiniertes Feld.

2) Im nächste Schritt erfolgt die Konfiguration des benutzerdefinierten Feldes. Da dieses Feld über ein Skript beschrieben werden soll, setzen wir den Technikerzugriff auf ‘Nur Lesen’ und den Skriptzugriff auf ‘Lesen/Schreiben’.

Hinweis: Wenn der Skriptzugriff nicht auf ‘Schreiben’ oder ‘Lesen/Schreiben’ eingestellt ist, können Sie nicht von einem Skript aus in dieses Feld hineinschreiben lassen.

3) Nun müssen wir das benutzerdefinierte Rollenfeld einer Geräterolle zuweisen. Navigieren Sie zu ‘Rollen’ und wählen Sie den/die Rollentyp(en) aus, auf den/die Sie dieses Feld anwenden möchten. In unserem Fall wird dieses benutzerdefinierte Rollenfeld der Rolle ‘Windows Laptop’ zugewiesen.

Einrichtung des Überwachungsmonitors

Bedingungen in NinjaOne werden zur Überwachung von Zustandsänderungen auf einem Endpunkt verwendet. NinjaOne bietet die Möglichkeit zur Überwachung benutzerdefinierter Felder. Wir werden einen Monitor einrichten, um zu prüfen, ob der Batteriestand herabgesetzt oder sehr niedrig ist.

  1. Navigieren Sie in der Richtlinie Ihrer Wahl zu ‘Bedingungen’ und klicken Sie auf ‘Eine Bedingung hinzufügen’
  2. Wählen Sie als Bedingungstyp ‘Benutzerdefinierte Felder’ aus
  3. Wählen Sie unter ‘Benutzerdefinierter Feldwert muss beliebige Bedingungen erfüllen’ die Option ‘Hinzufügen’ und suchen Sie nach ‘Batteriezustand’
  4. Klicken Sie auf ‘Enthält’ und wählen Sie ‘Herabgesetzt’
  5. Wiederholen Sie die Schritte 3 und 4, aber ändern Sie ‘Herabgesetzt’ zu ‘Warung’
  6. Legen Sie den Schweregrad, die Priorität, den Benachrichtigungskanal und die Ticketing-Einstellungen fest und klicken Sie auf ‘Hinzufügen’.

Bedingung1 - Vier erweiterte Anwendungsmöglichkeiten für benutzerdefinierte Felder in NinjaOne

Wenn die Bedingung ausgelöst wird, sieht es in etwa so aus:

Erstellung eines Skripts zum Abrufen von Daten

Nun müssen wir ein Skript schreiben, das Daten vom Endpunkt abruft und diese in unserem benutzerdefinierten Feld ablegt. Wir werden das Skript (das Sie hier finden können, wenn Sie bei Ninja angemeldet sind) anpassen.

$Battery = Get-CimInstance -ClassName win32_battery

Switch ($Battery.Availability) {
   1  { $Availability = "Other" ;break}
   2  { $Availability =  "Not using battery" ;break}
   3  { $Availability = "Running or Full Power";break}
   4  {$Availability =  "Warning" ;break}
   5  { $Availability = "In Test";break}
   6  { $Availability = "Not Applicable";break}
   7  { $Availability = "Power Off";break}
   8  { $Availability = "Off Line";break}
   9  { $Availability = "Off Duty";break}
   10  {$Availability =  "Degraded";break}
   11  {$Availability =  "Not Installed";break}
   12  {$Availability =  "Install Error";break}
   13  { $Availability = "Power Save - Unknown";break}
   14  { $Availability = "Power Save - Low Power Mode" ;break}
   15  { $Availability = "Power Save - Standby";break}
   16  { $Availability = "Power Cycle";break}
   17  { $Availability = "Power Save - Warning";break}
  }
    
$BatteryOutString = "Status: $($Battery.Status)", 
                    "Battery Name: $($Battery.name)", 
                    "Charge Remaining: $($Battery.EstimatedChargeRemaining)", 
                    "Estimated runtime: $($Battery.EstimatedRunTime)", 
                    "Availability: $Availability" 
                    | Format-Table | Out-String 

Ninja-Property-Set batteryState $BatteryOutString

Dieses Skript ruft Batterieinformationen ab, formatiert sie und schreibt dann in das benutzerdefinierte Feld ‘batteryStatus’.

Das einzige Ninja-spezifische Element in diesem Powershell-Skript ist die letzte Zeile:

Ninja-Property-Set batteryState $BatteryOutString

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 Value

In diesem Fall setzen wir das Feld batteryState auf den Wert, der in der Variablen $BatteryOutString gespeichert ist.

Das Hinzufügen dieses Skripts zu NinjaOne ist einfach.

  1. Navigieren Sie zu ‘Konfiguration’ -> ‘Scripting’
  2. Klicken Sie auf ‘Neues Skript hinzufügen’
  3. Kopieren Sie den obigen Code in die IDE
    • Wenn Ihr benutzerdefiniertes Feld nicht ‘batteryState’ heißt, aktualisieren Sie den Feldnamen neben Ninja-Property-Set
  4. Setzen Sie die Parameter des Skripts auf
    • Name: Set Battery Status
    • Sprache: PowerShell
    • Betriebssystem: Windows
    • Architektur: Alle
  5. Speichern Sie das Skript
Alles zusammenfügen

Nun, da Sie Ihr benutzerdefiniertes Feld, die Bedingung und das Skript vorbereitet haben, müssen wir alles zusammenfügen, damit wir diesen automatisierten Überwachungsmonitor in Betrieb nehmen können.

Öffnen Sie die Richtlinie, der Sie Ihre Bedingung zuvor hinzugefügt haben, und navigieren Sie zu ‘Geplante Skripte’.

Klicken Sie auf ‘Ein geplantes Skript hinzufügen’.

Klicken Sie auf ‘Skript hinzufügen’

Wählen Sie das oben erstellte Skript ‘Set Battery Status’.

Sie können dieses Skript in beliebigen Intervallen ausführen lassen, so wie Sie es für nötig halten. Für eine stündliche Ausführung wählen Sie in der Dropdown-Liste ‘Zeitplan’ und setzen Sie den Wert für die Option ‘Erfolgt jede(n)’ auf eine Stunde. Wählen Sie dann Speichern.

Das Skript ‘Set Battery Status’ liest nun jede Stunde Daten von allen Endpunkten, die von dieser Richtlinie verwaltet werden, und schreibt sie in unser benutzerdefiniertes Feld. Wenn der Rückgabewert an einem dieser Endpunkte ‘warnung’ oder ‚herabgesetzt’ enthält, erhalten wir eine Alarmierung und können entsprechende Maßnahmen in die Wege leiten.

Der gleiche Prozess kann zur Überwachung fast aller Datenpunkte verwendet werden, die von einem Endpunkt abgefragt werden können.

2. Praxisbeispiel: Erweiterte Skript-Automatisierung

NinjaOne bietet Ihnen verschiedene Möglichkeiten, Aufgaben über alle verwalteten Endpunkte hinweg zu automatisieren – von einfach bis komplex.

Die vier wichtigsten Methoden zum Starten von Automatisierungen in NinjaOne lauten:

  1. Geplante Skripte: Automatisierungen, die auf einem regelmäßigen Zeitplan basierend für alle Endpunkte in einer Richtlinie ausgeführt werden
  2. Ausgelöste Bedingungen: Automatisierungen, die durch Ereignisse, Zustandsänderungen oder Leistungsdaten von einem Endpunkt aus in Gang gesetzt werden
  3. Geplante Aufgaben: Automatisierungen, die auf einem regelmäßigen Zeitplan basierend für alle ausgewählten Endpunkte ausgeführt werden
  4. Ad-hoc-Skripte: Automatisierungen, die manuell für einen einzelnen oder mehrere Endpunkte durchgeführt werden

Mit all diesen Methoden lassen sich eine Reihe von Skripten basierend auf bestimmten Zeitpunkten oder Ereignissen initialisieren. Für sich allein genommen können diese Automatisierungsmethoden sehr leistungsfähig sein und einen großen Nutzen bringen, allerdings sind sie nicht besonders dynamisch.

Für dynamischere Automatisierungen müssen wir zwei Konzepte einführen:

  • Skriptausgabebedingungen
  • Benutzerdefinierte Felder

Beide Funktionen in NinjaOne ermöglichen dynamisch verkettete Automatisierungen, die auf den Ergebnissen einer vorausgegangenen Skriptausgabe basieren. Der Hauptunterschied besteht darin, dass Skriptausgabebedingungen keine Werte addieren oder für eine spätere Analyse abspeichern sondern nur auf ein einziges Skriptergebnis reagieren können.

Zählung fehlgeschlagener Anmeldungen und Benachrichtigung

Die in NinjaOne verfügbare Bedingung ‘Windows-Ereignis-ID’ ermöglicht es Ihnen, einen Benachrichtigung auszulösen, ein Ticket zu erstellen oder ein Skript auszuführen, sobald eine bestimmte Ereignis-ID erkannt wird. Dies ist äußerst nützlich, um Ereignisse wie die Erstellung eines Administratorenkontos, Änderungen an der Windows-Firewall oder einen Fehler beim Windows-Server-Backup zu erkennen, indem einzelne Ereignisse als auslösende Bedingung nutzbar gemacht werden.

Wenn wir eine große Anzahl von Ereignissen für eine Warnung benötigen, um Maßnahmen ergreifen zu können, brauchen wir benutzerdefinierte Felder. Eine einzelne fehlgeschlagene Anmeldung ist zum Beispiel kaum zu beanstanden. Zehn fehlgeschlagene Anmeldeversuche in der letzten Stunde könnten dagegen ein Zeichen dafür sein, dass etwas nicht stimmt. Erstellen wir also eine Automatisierung, die die fehlgeschlagenen Anmeldungen der letzten Stunde zählt und Alarm schlägt, sobald der Schwellenwert von 10 fehlgeschlagenen Anmeldungen überschritten wird.

Konfiguration des benutzerdefinierten Feldes

Wir beginnen mit der Erstellung eines benutzerdefinierten Feldes, um fehlgeschlagene Anmeldeversuche abzuspeichern. Für diese Übung erstellen wir ein globales benutzerdefiniertes Feld, da wir fehlgeschlagene Anmeldungen über alle Gerätetypen hinweg erkennen möchten.

  • Feld-Bezeichnung: Failed Login Attempts
  • Feldname: failedLoginAttempts
  • Feldtyp: Ganze Zahl
  • Skripte: Lesen / Schreiben

1. Feld erstellen - Vier erweiterte Anwendungsmöglichkeiten für benutzerdefinierte Felder in NinjaOne

Wir werden ein zweites benutzerdefiniertes Feld konfigurieren, um die Sicherheits-ID des letzten Anmeldeversuchs zu erhalten.

  • Feld-Bezeichnung: Failed Account Login User Name
  • Feldname: failedAccountLoginUserName
  • Feldtyp: Text
  • Skripte: Lesen / Schreiben
Schreiben Sie das Monitoring-Skript

Als Nächstes werden wir ein Skript schreiben, das fehlgeschlagene Anmeldungen erkennt. Dies ist recht einfach zu bewerkstelligen – wir werden einfach das Ereignisprotokoll abfragen und die Anzahl der fehlgeschlagenen Anmeldeversuche zählen. Anschließend wird der zurückgegebene Wert in das Feld failedLoginAttempts geschrieben. Wir geben auch den Benutzernamen in das Feld failedAccountLoginUserName zurück.

$failedLogins = ((Get-EventLog -LogName Security -After (Get-Date).AddDays(-7) -InstanceID 4625) | Select @{Name="UserName";Expression={$_.ReplacementStrings[5]}} | Group-Object -Propert UserName).count

$Login = ((Get-EventLog -LogName Security -After (Get-Date).AddDays(-7) -InstanceID 4625) | Select @{Name="UserName";Expression={$_.ReplacementStrings[5]}} | Group-Object -Propert UserName).name

Ninja-Property-Set failedLoginAttempts $failedLogins
Ninja-Property-Set failedAccountLoginUserName $Login

Das Hinzufügen dieses Skripts zu NinjaOne ist leicht und unproblematisch.

  1. Navigieren Sie zu ‘Konfiguration’ -> ‘Scripting’
  2. Klicken Sie auf ‘Neues Skript hinzufügen’
  3. Kopieren Sie den obigen Code in die IDE
    • Wenn Ihr benutzerdefiniertes Feld nicht ‘failedLoginAttempts’ heißt, aktualisieren Sie den Feldnamen neben Ninja-Property-Set
  4. Setzen Sie die Parameter des Skripts auf
    • Name: Count Failed Login Attempts
    • Sprache: PowerShell
    • Betriebssystem: Windows
    • Architektur: Alle
  5. Speichern Sie das Skript

Als Nächstes müssen wir dieses Skript so einrichten, dass es in regelmäßigen Abständen ausgeführt wird.

  1. Navigieren Sie in der Richtlinie Ihrer Wahl zu ‘Geplante Skripte’ und klicken Sie auf ‘Ein geplantes Skript hinzufügen’
  2. Klicken Sie auf ‘Skript hinzufügen’ und wählen Sie das Skript ‘Count Failed Login Attempts’
  3. Geben Sie dem Skript einen Namen und eine Beschreibung
  4. Stellen Sie den Zeitplan so ein, dass es jede Stunde ausgeführt wird
Schreiben Sie das Antwortskript, mit den entsprechenden Maßnahmen

Wenn wir eine hohe Anzahl von fehlgeschlagenen Anmeldeversuchen feststellen können, sollten wir dieses Problem beheben, indem wir das Konto vorübergehend sperren.  Wir ziehen den Benutzernamen aus dem Feld failedAccountLoginUserName und deaktivieren den Zugriff dieses Benutzers mit Powershell.

$User = Ninja-Property-Get failedAccountLoginUserName

Disable-LocalUser -Name $User
Konfigurieren Sie die Bedingung
  1. Navigieren Sie in der Richtlinie Ihrer Wahl zu ‘Bedingungen’ und klicken Sie auf ‘Eine Bedingung hinzufügen’
  2. Wählen Sie als Bedingungstyp ‘Benutzerdefinierte Felder’ aus
  3. Wählen Sie unter ‘Benutzerdefinierter Feldwert muss beliebige Bedingungen erfüllen’ die Option ‘Hinzufügen’ und wählen Sie für ‘Failed Login Attempts’ als Operator ‘größer als oder gleich‘ mit einem Wert von ’10’.
  4. Klicken Sie auf ‘Anwenden’Bedingung2 - Vier erweiterte Anwendungsmöglichkeiten für benutzerdefinierte Felder in NinjaOne
  5. Wir geben der Bedingung den Namen ‘High Failed Login Attempts’
  6. Legen Sie den Schweregrad, die Priorität und die Intervalle zum Zurücksetzen fest
  7. Legen Sie fest, ob Benachrichtigungen und Tickets erstellt werden sollen
  8. Klicken Sie auf ‘Hinzufügen’
  9. Wenn wir die Deaktivierung des lokalen Benutzerkontos automatisieren möchten, können wir das Skript ‘Disable Local User‘ als Automatisierung zu dieser Bedingung hinzufügen

Bedingung3 - Vier erweiterte Anwendungsmöglichkeiten für benutzerdefinierte Felder in NinjaOne
In Kürze wird auch der zweite Teil dieser Serie auf Deutsch zur Verfügung stehen. Die Übersetzung zur hier verlinkten englischen Version finden Sie dann über das Sprachmenü unserer Internetseite:

https://www.ninjaone.com/de/blog/self-service-tools-fuer-endbenutzer-mit-ninjaone/

Erhalten Sie weitere Informationen

Für den Aufbau eines leistungsfähigen IT-Teams ist eine zentralisierte Lösung unerlässlich, die als Kerntool für die Servicebereitstellung dient. NinjaOne ermöglicht es IT-Teams, alle Geräte unabhängig vom Standort zu überwachen, zu verwalten, zu sichern und zu unterstützen, ohne dass eine komplexe lokale Infrastruktur erforderlich ist.

Entdecken Sie mehr über NinjaOne Endpoint-Management, nehmen Sie an einer Live-Tour teil oder starten Sie Ihre kostenlose Testversion unserer NinjaOne Plattform.

Das könnte Sie auch interessieren

Sind Sie bereit, ein IT-Ninja zu werden?

Erfahren Sie, wie Sie mit NinjaOne Ihren IT-Betrieb vereinfachen können.
×

Sehen Sie NinjaOne in Aktion!

Mit dem Absenden dieses Formulars akzeptiere ich die Datenschutzerklärung von NinjaOne.

NinjaOne Allgemeine Geschäftsbedingungen für Skripte

Indem Sie unten auf die Schaltfläche “Ich akzeptiere” klicken, erklären Sie Ihr Einverständnis mit den folgenden rechtlichen Bedingungen sowie mit unseren Nutzungsbedingungen:

  • Eigentumsrechte: NinjaOne besitzt und wird weiterhin alle Rechte, Titel und Interessen an dem Skript (einschließlich des Urheberrechts) behalten. NinjaOne gewährt Ihnen eine eingeschränkte Lizenz zur Nutzung des Skripts in Übereinstimmung mit diesen rechtlichen Bedingungen.
  • Einschränkung der Nutzung: Sie dürfen das Skript nur für Ihre legitimen persönlichen oder internen Geschäftszwecke verwenden und es nicht an Dritte weitergeben.
  • Verbot der Wiederveröffentlichung: Sie sind unter keinen Umständen berechtigt, das Skript in einer Skriptbibliothek, die einem anderen Softwareanbieter gehört oder von diesem kontrolliert wird, erneut zu veröffentlichen.
  • Gewährleistungsausschluss: Das Skript wird “wie gesehen” und “wie verfügbar” bereitgestellt, ohne jegliche Garantie. NinjaOne gibt keine Versprechen oder Garantien, dass das Skript frei von Fehlern ist oder dass es Ihre speziellen Bedürfnisse oder Erwartungen erfüllt.
  • Risikoübernahme: Die Verwendung des Skripts erfolgt auf eigene Gefahr. Sie erkennen an, dass die Nutzung des Skripts mit bestimmten Risiken verbunden ist, und Sie verstehen und übernehmen jedes dieser Risiken.
  • Verzicht und Freigabe: Sie machen NinjaOne nicht für nachteilige oder unbeabsichtigte Folgen verantwortlich, die sich aus Ihrer Nutzung des Skripts ergeben, und Sie verzichten auf alle gesetzlichen oder billigkeitsrechtlichen Rechte oder Rechtsmittel, die Sie gegen NinjaOne im Zusammenhang mit Ihrer Nutzung des Skripts haben könnten.
  • EULA: Wenn Sie ein NinjaOne-Kunde sind, unterliegt Ihre Nutzung des Skripts dem für Sie geltenden Endbenutzer-Lizenzvertrag (EULA).