NinjaOne heeft in 2021 de functionaliteit voor aangepaste velden geïntroduceerd en daarmee een nieuw niveau van flexibiliteit, aanpassingsvermogen en automatiseringsmogelijkheden aan ons platform toegevoegd. Aangepaste velden zijn een geavanceerde functie die installatie vereist om te gebruiken, maar eenmaal bezig is de kracht en flexibiliteit van deze functie bijna grenzeloos.
In deel één van deze handleiding behandelen we twee krachtige gebruikssituaties voor aangepaste velden in NinjaOne:
Een kort overzicht van aangepaste velden in NinjaOne
Aangepaste veldrollen
De aangepaste velden van NinjaOne bestaan in twee categorieën: globale aangepaste velden, die van toepassing zijn op alle apparaten, ongeacht hun type, en rolgebaseerde aangepaste velden, die alleen van toepassing zijn op specifieke apparaattypes.
Een globaal aangepast veld kan een soort universeel activa-ID-nummer gebruiken dat u toepast op alle apparaten. U kunt bijvoorbeeld rolgebaseerde aangepaste velden gebruiken om een apparaateigenaar toe te wijzen voor werkstations en laptops, maar niet voor servers.
Aangepaste veldtypen
NinjaOne biedt meer dan twintig aangepaste veldtypes. Van tekst, tot volledige getallen, tot drop-downs, tot velden voor apparaattoewijzing. We leveren ook UI-elementen om aangepaste velden gebruiksvriendelijker te maken.
Toegang
Elk aangepast veld kan worden aangepast voor toegang door technici en scripts, zodat u precies kunt bepalen wie toegang heeft tot welke gegevens.
Use Case #1: Monitor bijna alles
Zodra u de NinjaOne agent installeert, leveren we honderden gegevenspunten over elk gemonitord eindpunt: van hardwarespecificaties tot geïnstalleerde software tot CPU-gebruik. Toch zijn de specifieke gegevenspunten en monitoringbehoeften van elk bedrijf uniek.
Met de aangepaste velden van NinjaOne kunt u bijna elk gegevenspunt van een eindpunt verzamelen, opslaan en bewaken, zodat u over de informatie beschikt die u nodig heeft om beslissingen te nemen. Een paar voorbeelden die we bij onze partners hebben gezien:
- Het huidige powerplan identificeren en opslaan
- Bestaande lokale beheerdersaccounts documenteren
- Een lijst met geplande taken op een apparaat ophalen
- CPU-temperatuur bewaken
- De batterijstatus bewaken
Hoe het te doen?
Laten we een voorbeeld bekijken van het instellen van een aangepast veld en script om de batterijstatus te controleren.
Om een aangepaste monitor met aangepaste velden te maken, heeft u het volgende nodig:
- Een aangepast veld
- Een script om de gegevens te verzamelen en op te slaan
- Een aangepaste voorwaarde om een waarschuwing te maken
Het aangepaste veld instellen
Het aangepaste veld wordt gebruikt om gegevens op te slaan die door een script worden geretourneerd.
1) Een nieuw aangepast veld toevoegen. Omdat we de batterijstatus van laptops gaan controleren, maken we een aangepast veld voor de rol. 2) De volgende stap is het configureren van het aangepaste veld. Omdat we dit veld via een script willen schrijven, stellen we de toegang voor de technicus in op ‘Alleen lezen’ en stellen we de toegang voor het script in op ‘Lezen / Schrijven’.
Opmerking: als scripttoegang niet is ingesteld op ‘Schrijven’ of ‘Lezen / Schrijven’, kunt u vanuit een script niet naar dit veld schrijven. 3) We moeten nu het aangepaste veld Rol toewijzen aan een Device Role. Navigeer dan naar “Rollen” en selecteer het (de) roltype(s) waarop u dit veld wilt toepassen. In dit geval wijzen we dit aangepaste veld toe aan de rol Windows Laptop.
De monitor instellen
Condities in NinjaOne worden gebruikt om te controleren op statusveranderingen in een eindpunt. NinjaOne biedt de mogelijkheid om aangepaste velden te monitoren. We stellen een monitor in om te controleren op waarschuwingen of verslechterde batterijstatus.
- Navigeer in het beleid van uw keuze naar voorwaarden en klik op ‘Een voorwaarde toevoegen’
- Selecteer voorwaardetype ‘Aangepaste velden’
- Selecteer onder ‘Aangepaste veldwaarde moet voldoen aan voorwaarden’ ‘Toevoegen’ en zoek naar ‘Accustatus’
- Stel de selector in op ‘Bevat’ en voeg ‘Gedegradeerd’ toe
- Herhaal stap 3 en 4, maar verander ‘Gedegradeerd’ in ‘Waarschuwing’
- Stel de instellingen voor ernst, prioriteit, meldingskanaal en ticketing in volgens uw voorkeuren en klik op ‘Toevoegen’.
Als de voorwaarde wordt geactiveerd, ziet het er ongeveer zo uit:
Een script maken om gegevens op te halen
We moeten een script schrijven dat gegevens van het eindpunt haalt en opslaat in ons aangepaste veld. We passen het script aan dat u hier kunt vinden (u moet ingelogd zijn op Ninja om het te kunnen zien).
$Battery = Get-CimInstance -ClassName win32_batterij 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
Dit script haalt batterijgegevens op, formatteert ze en schrijft ze vervolgens naar het aangepaste veld ‘batteryStatus’.
Het enige Ninja-specifieke deel van dit Powershell-script is de laatste regel:
Ninja-Property-Set batteryState $BatteryOutString
Ninja-Property-Set is het NinjaOne Powershell commando om een aangepast veld op een specifieke waarde in te stellen. De syntaxis is:
Ninja-Property-Set fieldName Value
In dit geval stellen we het veld batteryState in op de waarde die is opgeslagen in de variabele $BatteryOutString. Dit script toevoegen aan NinjaOne is eenvoudig.
- Navigeer naar ‘Configuratie’ -> ‘Scripting’
- klik op ‘Een nieuw script toevoegen’
- Kopieer de bovenstaande code in de IDE
- Als uw aangepaste veld niet ‘batteryState’ heet, pas dan de veldnaam aan naast Ninja-Property-Set
- Stel de parameters van het script in op
- Naam: Set Battery Status
- Taal: PowerShell
- Besturingssysteem: Windows
- Architectuur: All
- Het script opslaan
Alles samenvoegen
Nu u uw aangepaste veld, voorwaarde en script heeft, moeten we het allemaal samenvoegen zodat we deze monitor kunnen automatiseren.
Open het beleid waaraan u eerder in deze handleiding uw voorwaarde heeft toegevoegd en navigeer naar ‘Scheduled Scripts’.
Klik op ‘Een gepland script toevoegen’.
Klik op ‘Add Script’ (Script toevoegen)
Selecteer het script ‘Set Battery Status’ (Batterijstatus instellen) dat we hierboven hebben gemaakt.
U kunt dit script zo vaak uitvoeren als u nodig acht. Om elk uur te draaien, selecteert u ‘Elke’ in de vervolgkeuzelijst ‘Planning’ en stelt u ‘Komt elk uur voor’ in op één uur. Druk dan op opslaan.
Het set battery status script zal nu elk uur gegevens ophalen van alle eindpunten die door dit beleid worden beheerd en naar ons aangepaste veld schrijven. Als de retourwaarde op een van deze eindpunten ‘warning’ of ‘degraded’ bevat, krijgen we een waarschuwing zodat we kunnen bijsturen.
Ditzelfde proces kan worden gebruikt om bijna elk gegevenspunt te controleren dat van een eindpunt kan worden gehaald.
Use Case #2: Geavanceerde Scriptautomatisering
NinjaOne biedt u verschillende manieren om taken op al uw beheerde eindpunten te automatiseren, variërend van eenvoudig tot complex. De vier belangrijkste methoden voor het starten van automatiseringen in NinjaOne zijn:
- Geplande scripts: Automatiseringen die volgens een vast schema worden uitgevoerd op alle eindpunten in een beleid
- Geactiveerde omstandigheden: Automatiseringen die worden geactiveerd door gebeurtenissen, statuswijzigingen of prestatiegedrag op een eindpunt
- Geplande taken: Automatiseringen die volgens een vast schema worden uitgevoerd op alle geselecteerde eindpunten
- Ad-hoc scripts: Automatiseringen die handmatig worden uitgevoerd tegen één of meerdere eindpunten
Met al deze methoden kunt u een reeks scripts implementeren op basis van een enkele tijd- of gebeurtenisgebaseerde trigger. Op zichzelf kunnen deze automatiseringsmethoden heel krachtig zijn en veel waarde bieden, maar ze zijn niet heel dynamisch.
Voor meer dynamische automatiseringen moeten we twee concepten toevoegen:
- Script resultaat voorwaarden
- Aangepaste velden
Beide functies in NinjaOne maken dynamische ketting-automatiseringen mogelijk op basis van de resultaten van een eerste scriptimplementatie. Het belangrijkste verschil is dat scriptresultaatvoorwaarden geen waarden opslaan voor latere analyse en alleen kunnen reageren op een enkel scriptresultaat.
Tellen en waarschuwen bij mislukte aanmeldingen
Met de ingebouwde Windows Event ID-conditie van NinjaOne kunt u een waarschuwing activeren, een ticket aanmaken of een script laten uitvoeren wanneer een specifieke event-ID wordt gedetecteerd. Dit is zeer handig om gebeurtenissen te detecteren zoals het aanmaken van een beheerdersaccount, wijzigingen die worden aangebracht aan de Windows firewall of het identificeren van iets als een Windows Server Backup fout waarbij enkelvoudige gebeurtenissen actie ondernemen.
Als we een groot aantal gebeurtenissen nodig hebben om een waarschuwing bruikbaar te maken, hebben we aangepaste velden nodig. Het is bijvoorbeeld onwaarschijnlijk dat een enkele mislukte aanmelding aanleiding geeft tot actie. Tien mislukte inlogpogingen in het afgelopen uur kunnen daarentegen een teken zijn dat er iets mis is. Laten we dus een automatisering maken die mislukte aanmeldingen over de afgelopen periode van een uur telt en waarschuwt als de drempel van 10 mislukte aanmeldingen wordt overschreden.
Het aangepaste veld instellen
We beginnen met het maken van een aangepast veld om onze mislukte aanmeldingspogingen op te slaan. Voor deze oefening maken we een globaal aangepast veld omdat we mislukte aanmeldingen op verschillende apparaattypes zullen detecteren.
- Veldlabel: Mislukte aanmeldpogingen
- Veldnaam: mislukteLoginAttempts
- Veldtype: Integer
- Scripts: Lezen / Schrijven
We stellen een tweede aangepast veld in om de beveiligings-ID van de meest recente aanmeldpoging op te halen.
- Veldlabel: Inloggen op account mislukt Gebruikersnaam
- Veldnaam: failedAccountLoginUserName
- Veldtype: Tekst
- Scripts: Lezen / Schrijven
Het bewakingsscript schrijven
Vervolgens schrijven we een script om mislukte aanmeldingen te detecteren. Dit is vrij eenvoudig om te gebeurtenissenlogboek: we raadplegen simpelweg het gebeurtenissenlogboek en tellen het aantal mislukte aanmeldpogingen. We schrijven de geretourneerde waarde dan naar het veld failedLoginAttempts. We sturen ook de gebruikersnaam terug naar het veld failedAccountLoginUserName.
$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
Dit script toevoegen aan NinjaOne is eenvoudig en gemakkelijk.
- Navigeer naar ‘Configuratie’ -> ‘Scripting’
- klik op ‘Een nieuw script toevoegen’
- Kopieer de bovenstaande code in de IDE
- Als uw aangepaste veld niet ‘failedLoginAttempts’ heet, werk dan de veldnaam bij naast Ninja-Property-Set
- Stel de parameters van het script in op
- Naam: Aantal mislukte aanmeldpogingen
- Taal: PowerShell
- Besturingssysteem: Windows
- Architectuur: Alles
- Het script opslaan
Vervolgens moeten we dit script zo instellen dat het periodiek wordt uitgevoerd.
- Navigeer in het beleid van uw keuze naar Geplande scripts en klik op Een gepland script toevoegen
- Klik op Script toevoegen en selecteer het script Aantal mislukte aanmeldpogingen
- Geef het script een naam en beschrijving
- Stel het schema zo in dat het elk uur wordt uitgevoerd
Het saneringsscript schrijven
Als we een groot aantal mislukte aanmeldpogingen kunnen ontdekken, kunnen we dit probleem oplossen door de account tijdelijk te vergrendelen. We halen de gebruikersnaam uit het veld failedAccountLoginUserName en schakelen die gebruiker uit met Powershell.
$User = Ninja-Property-Get failedAccountLoginUserName Disable-LocalUser -Name $User
De voorwaarde instellen
- Navigeer in het beleid van uw keuze naar voorwaarden en klik op ‘Een voorwaarde toevoegen’
- Selecteer voorwaardetype ‘Aangepaste velden’
- Selecteer onder ‘Aangepaste veldwaarde moet voldoen aan voorwaarden’ ‘Toevoegen’ en zoek naar ‘Mislukte aanmeldpogingen’. Voor een operator gebruikt u ‘groter dan of gelijk aan’ en stelt u de waarde in op 10.
- Klik op ‘Toepassen’
- We geven de voorwaarde de naam ‘Hoog aantal mislukte aanmeldpogingen’
- De ernst, prioriteit en resetintervallen instellen
- Stel in of u meldingen en tickets wilt aanmaken
- Klik op ‘Toevoegen’
- Als we het uitschakelen van de gebruiker met de lokale account willen automatiseren, kunnen we het Disable Local User script als automatisering aan deze voorwaarde toevoegen
Ga hieronder verder naar deel twee en drie van de serie:
- https://www.ninjaone.com/nl/rmm/selfservice-it-portaal-voor-eindgebruikers/
- https://www.ninjaone.com/blog/asset-lifecycle-management-using-ninjaone/
Waarom NinjaOne?
Bent u het zat om RMM’s te bekijken en teleurgesteld te raken? Probeer zelf aangepaste velden in Ninja en zie waarom NinjaOne anders is. Start uw gratis demo.