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.
Demo ansehen×
×

Sehen Sie NinjaOne in Aktion!

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

Testen Sie NinjaOne - unverbindlich & kostenfrei!

NinjaOne Terms & Conditions

By clicking the “I Accept” button below, you indicate your acceptance of the following legal terms as well as our Terms of Use:

  • Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms.
  • Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party.
  • Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library belonging to or under the control of any other software provider.
  • Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations.
  • Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks.
  • Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script.
  • EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).