Belangrijkste punten
- Automatiseer het ophalen van M365-licenties via RMM: voer Graph-gestuurde PowerShell-scripts volgens een schema (wekelijks/maandelijks) uit vanuit uw RMM om een snapshot van gebruikers- en licentietoewijzingen naar CSV weg te schrijven voor audits.
- Centraliseer scripts in NinjaOne: voeg scripts toe aan de Library, selecteer doelapparaten en plan uitvoeringen in om gebruiksgegevens consistent vast te leggen zonder handmatig werk.
- Koppel agentsignalen: gebruik de software-inventaris en procesgegevens van uw RMM om SaaS-activiteit af te leiden, ongebruikte apps en licenties op te sporen en kandidaten voor terugname te markeren.
- Bouw rapportages over langere periodes: bewaar gedateerde snapshots (bijvoorbeeld LicenseUsage-YYYY-MM-DD.csv) en vergelijk de verschillen in de loop van de tijd om adoptietrends en inactieve accounts voor licentieterugname zichtbaar te maken.
- Zet notificaties en rapportage in de praktijk in: gebruik geplande rapportages en notificaties om belanghebbenden te waarschuwen wanneer licenties gedurende een vastgestelde periode ongebruikt blijven en om terugkerende gebruiksoverzichten te leveren.
De kosten van SaaS-licenties groeien recht evenredig mee met uw organisatie en naarmate omgevingen zich over steeds meer tools vertakken wordt bijhouden lastig. Beheerders kunnen RMM-platformen inzetten om een helder overzicht van gebruiksgegevens te krijgen, adoptietrends te volgen en ongebruikte licenties op te sporen. In deze gids leest u hoe u met scripting en automatisering een proactieve, efficiënte en controleerbare manier van SaaS-licentiebeheer bijhouden opzet.
Automatiseer het bijhouden van licentiegebruik en optimaliseer uw SaaS-kosten.
→ Meld u aan voor een gratis trial van 14 dagen van NinjaOne RMM.
Eigen RMM-scripts om het bijhouden van SaaS-licenties te automatiseren
Met een doeltreffende aanpak van softwarelicentiebeheer kunnen organisaties onderbenutte SaaS-licenties opsporen en opnieuw toewijzen, wat de kosten en de budgetbeheersing ten goede komt. Vanuit managementoogpunt helpt helder zicht op licenties beheerders om gebruikstrends te analyseren en beslissingen over verlenging of opzegging te onderbouwen. Het automatiseren van SaaS-licentiebeheer met RMM-tools zorgt voor consistente handhaving en zichtbaarheid, bespaart tijd, vermindert handmatig werk en drukt de kosten.
Vereisten:
- RMM-platform met mogelijkheden voor scripting, rapportage en automatisering
- API-referenties voor SaaS-platformen
- Beheerdersrechten
- Ondersteuning voor PowerShell, Bash en CMD op het endpoint
Aanbevolen implementatiestrategieën:
| Kies een methode | 💻 Beste voor individuele gebruikers |
💻💻💻 Beste voor grote organisaties |
| Methode 1: PowerShell-scripts om Microsoft 365 te bevragen voor rapportages over licentiegebruik | ✓ | |
| Methode 2: RMM-agentgegevens monitoren en koppelen aan SaaS-signalen | ✓ | |
| Methode 3: rapportages over SaaS-gebruik over langere periodes genereren | ✓ |
Let op: deze gids beschrijft PowerShell-, batch- en bash-scripts die u kunt uitrollen op RMM-platformen die deze talen ondersteunen. Voor de eenvoud en consistentie gebruiken we NinjaOne RMM als het platform in deze gids.
Eigen scripts toevoegen aan het NinjaOne RMM-portaal:
NinjaOne ondersteunt PowerShell, batch en bash-scripts en is daarmee geschikt voor het uitvoeren van de scripts in deze gids. Zo voegt u eigen automatiseringsscripts toe aan de scriptbibliotheek van NinjaOne:
- Open het NinjaOne RMM-portaal en ga naar:
Administration > Library > Automation.
- Klik binnen Automation op Add en selecteer New Script.
- Vul de benodigde velden en parameters voor uw eigen script in.
- Voer het gewenste script in om het als automatiseringsscript op te slaan.
- Controleer of de geselecteerde taal overeenkomt met de taal van het script.
- Na het opslaan kunt u met de ingebouwde tools van NinjaOne de doelapparaten voor automatisering selecteren door het selectievakje ernaast aan te vinken.
Methode 1: PowerShell-scripts om Microsoft 365 te bevragen voor rapportages over licentiegebruik
Use case: beheerders kunnen PowerShell-scripts gebruiken om SaaS-licentieaudits te automatiseren via een RMM-platform.
Vereiste: PowerShell versie 5.1 of hoger.
A. Verbinding maken met Microsoft 365 om licentieovereenkomsten op te halen:
Het volgende PowerShell-script verbindt beheerders met de Microsoft Graph API met de rechten om gebruikers- en licentiegegevens te lezen. Dit script haalt alle gebruikers op met minstens één toegewezen licentie en is daarmee ideaal om een inventaris van de licentieverdeling op te stellen.
Connect-MgGraph -Scopes "User.Read.All","Directory.Read.All"
Get-MgUser -All | Where-Object {$_.AssignedLicenses.Count -gt 0} | Select DisplayName, UserPrincipalName, AssignedLicenses
B. Gegevens over licentiegebruik exporteren:
Dit script exporteert alle gebruikersgegevens naar een CSV-bestand en is daarmee ideaal om licentiegebruik te documenteren en vast te leggen. Via een RMM kunnen beheerders de uitvoering van het script inplannen om regelmatig licentierapportages te genereren.
Connect-MgGraph -Scopes "User.Read.All","Directory.Read.All"
New-Item -ItemType Directory -Path "C:\Reports" -Force | Out-Null
Get-MgUser | Export-Csv -Path "C:\Reports\LicenseUsage.csv" -NoTypeInformation
TIP: u kunt C:\Reports vervangen door elk pad dat u als exportlocatie wilt aanwijzen.
Methode 2: RMM-agentgegevens monitoren en koppelen aan SaaS-signalen
Use cases: beheerders kunnen de diensten van hun RMM-platform benutten om SaaS-appactiviteit op beheerde endpoints af te leiden.
SaaS-appprocessen detecteren om licenties effectief bij te houden:
Beheerders kunnen rapportages over de software-inventaris uit een RMM-platform gebruiken, waardoor scripting en handmatige inventarisatie overbodig worden. NinjaOne laat bijvoorbeeld zien hoe software wordt gebruikt, welke updates er zijn en welke licenties er lopen, zodat een omgeving software efficiënt op schaal kan beheren en toewijzen.
Een goede software-inventaris maakt inzichtelijk wanneer apps zijn geïnstalleerd of verwijderd en geeft inzicht in ongebruikte licenties die opnieuw kunnen worden toegewezen.
Geplande rapportage over de software-inventaris
RMM’s zoals NinjaOne kunnen uitgebreide gegevens verzamelen over software-installaties en -verwijderingen op meerdere apparaten. Ze helpen ook om ongeautoriseerde en niet-gelicentieerde software op te sporen, wat ze ideaal maakt voor moeiteloze licentiecompliance.
Beheerders kunnen deze inzichten bundelen in geplande rapportages, wat een helderder beeld van de software-inventaris oplevert voor proactief IT-assetmanagement en planning.
Nog niet bekend met RMM-platformen? Lees de RMM-FAQ van NinjaOne voor veelgestelde vragen en korte antwoorden.
Methode 3: rapportages over SaaS-gebruik over langere periodes genereren
Use cases: zet PowerShell-scripts via RMM-platformen in om over een langere periode inzicht te krijgen in het gebruik van SaaS-licenties in uw omgevingen. Beheerders kunnen de gegenereerde rapportages vervolgens vergelijken om trends in licentiegebruik te ontdekken.
Vereiste:
- Apparaten die aan Microsoft 365 of Azure AD zijn gekoppeld
- Beheerdersrol
- De Microsoft Graph PowerShell-module geïnstalleerd
Let op: het onderstaande voorbeeld volgt Microsoft 365-gebruikers binnen een organisatie en slaat dit op als wekelijkse rapportage. U kunt het script hieronder echter aanpassen aan uw eigen parameters.
A. Script om periodiek snapshots van gebruiksgegevens te maken:
Het volgende script haalt alle gebruikersaccounts uit Microsoft 365 op, inclusief gebruikersnamen, e-mailadressen, accountstatus en toegewezen licenties. Vervolgens exporteert het script dit naar C:\SaaSReports als CSV-bestand met een label dat overeenkomt met de aanmaakdatum.
$date = Get-Date -Format "yyyy-MM-dd"
$path = "C:\SaaSReports"
if (!(Test-Path $path)) { mkdir $path | Out-Null }
Get-MgUser | Export-Csv "$path\LicenseUsage-$date.csv" -NoTypeInformation
B. Voorbeeldscript om eerdere rapportages te vergelijken:
Zodra er genoeg gegevens over licentiegebruik zijn verzameld, kunnen beheerders met scripts verschillende rapportages vergelijken om het licentiegebruik over de tijd in kaart te brengen. Bovendien helpt dit om inactieve accounts op te sporen voor licentieterugname, wat een toename of afname van het aantal licenties in een omgeving onderbouwt.
Compare-Object `
-ReferenceObject (Import-Csv "C:\SaaSReports\LicenseUsage-2025-08-01.csv") `
-DifferenceObject (Import-Csv "C:\SaaSReports\LicenseUsage-2025-08-08.csv") `
-Property UserPrincipalName
Waar u op moet letten
| Risico’s | Mogelijke gevolgen | Oplossingen |
| Scripts uitrollen zonder voldoende te testen | Niet elke omgeving is hetzelfde ingericht; scripts kunnen zich per organisatie anders gedragen. | Test scripts lokaal in een gecontroleerde omgeving om hun werking te verifiëren vóór de uitrol. |
| Onjuiste scriptsyntaxis en fouten | Onjuiste scriptsyntaxis en typefouten kunnen tot fouten leiden, waardoor scripts mislukken. | Controleer scripts nauwkeurig op syntaxis, vooral variabelen, paden en cmdlets.
Zorg dat de vereiste PowerShell-modules en uw doelmappen bestaan voordat u bestanden wegschrijft. |
| Platform komt niet overeen | Cmdlets zoals Get-MgUser en Microsoft Graph-modules werken niet op macOS- en Linux-apparaten. | Controleer of de logica van uw script compatibel is met het besturingssysteem en de CLI die u gebruikt. |
Problemen met rapportages over SaaS-licentiegebruik oplossen
Probleem 1: ontbrekende licentiegegevens
Een script dat de rapportage over licentiegebruik opvraagt levert soms onvolledige licentietoewijzingen en gebruikerslijsten op. Veelvoorkomende oorzaken zijn verlopen API-tokens of ontbrekende permission scopes. Een tijdelijke oplossing is om de verbinding met Microsoft Graph opnieuw te initialiseren met het volgende PowerShell-script:
Connect-MgGraph -Scopes "User.Read.All","Directory.Read.All"
Naast het juiste token en de juiste scopes zijn ook voldoende beheerdersrechten nodig om licentiegegevens in te zien. Open ter controle het Microsoft 365-beheercentrum, ga naar het gebruikersaccount dat het script uitvoert en open vervolgens toegewezen rollen. Daar moet minimaal Reports Reader of User Administrator staan.
Probleem 2: scripts worden niet uitgevoerd via RMM
Controleer of de PowerShell op het doelapparaat het script blokkeert via de functie execution policy door het volgende in te voeren:
powershell.exe -ExecutionPolicy Bypass -File "C:\Path\To\YourScript.ps1"
LET OP: vervang C:\Path\To\YourScript.ps1 door het daadwerkelijke pad van uw script.
Controleer daarnaast of u scripts uitvoert als USER of SYSTEM met het volgende:
Write-Output "Running as: $env:USERNAME"
Voor de monitoring van SaaS-licenties geeft uitvoering als USER toegang tot gebruikersspecifieke gegevens en andere variabelen die aan een ingelogde gebruiker zijn gekoppeld.
Probleem 3: onvolledige endpointlogs
Configureer de GPO zodat auditbeleid op de betreffende endpoints is ingeschakeld. Open hiervoor gpmc.msc en ga naar Computerconfiguratie > Windows-instellingen > Beveiligingsinstellingen > Geavanceerd auditbeleid. Zorg dat Aanmelden controleren, Afmelden controleren, Speciale aanmelding controleren en Andere aanmeld-/afmeldgebeurtenissen controleren allemaal zijn ingeschakeld binnen een GPO die aan uw OU is gekoppeld.
Quick-start guide
De RMM van NinjaOne biedt monitoringmogelijkheden om het SaaS-licentiegebruik van klanten over langere tijd bij te houden. NinjaOne biedt krachtige functies voor licentiebeheer via het partnerportaal van SaaS backup:
1. Gebruik van seats bijhouden
- Toont welk percentage van de betaalde seats wordt gebruikt voor back-up
- Levert gedetailleerde rapportages over het gebruik van seats
- Houdt het aantal actieve, gedeactiveerde en totale accounts bij
2. Rapportage over beschermingsdekking
- Toont het percentage accounts met een back-up ten opzichte van het totale aantal accounts
- Helpt partners om volledige bescherming binnen organisaties te waarborgen
3. Rapportagedashboard
- Visualiseert gegevens over licentie- en back-upgebruik
- Maakt het mogelijk door te klikken naar gedetailleerde informatie
- Biedt export naar CSV voor offline analyse
Aandachtspunten bij het gebruik van RMM voor het bijhouden van SaaS-licenties
Naast het maken van rapportages over licentiegebruik bieden RMM-platformen extra functies om uw licentiebeheer en monitoring zo efficiënt mogelijk te maken. Hieronder staan enkele belangrijke aandachtspunten bij het inzetten van RMM-automatisering om SaaS-licenties bij te houden.
Inactieve SaaS-licenties opsporen met rapportages over licentiegebruik
RMM-platformen helpen ongebruikte licenties op te sporen om ze vrij te geven of aan andere gebruikers toe te wijzen. Omdat SaaS-licenties meestal via abonnementen worden betaald, kosten onderbenutte licenties na verloop van tijd geld. Door inactieve licenties snel op te sporen en terug te nemen, kunnen organisaties hun SaaS-kosten op lange termijn verlagen.
Gegevensbewaring als basis voor trendanalyse
Beheerders kunnen RMM-platformen inzetten om periodiek rapportages over SaaS-gebruik over langere periodes te genereren, wekelijks of maandelijks. Snapshots van SaaS-gebruik 6 tot 12 maanden bewaren verbetert de trendanalyse binnen een omgeving. Langere bewaartermijnen geven dieper inzicht in gebruikspatronen van licenties en onderbouwen zo licentiebeslissingen.
Beveiligingsoverwegingen
Hoewel RMM’s indrukwekkende monitoringmogelijkheden bieden, moeten beheerders voorkomen dat ze te veel gevoelige gegevens verzamelen die de privacy van de eindgebruiker schenden. Te veel persoonsgegevens verzamelen, zoals browsergeschiedenis, kan bijvoorbeeld de compliance met de General Data Protection Regulation (GDPR) doorbreken.
Omgaan met API-limieten
API’s kunnen binnen een bepaald tijdsbestek, variërend van minuten tot een dag, maar een beperkte hoeveelheid gebruiksgegevens verzamelen. Als u deze limieten overschrijdt, kunnen scripts mislukken, waardoor rapportages over licentiegebruik onvolledig blijven. Gebruik als oplossing batchquery’s of plan taken buiten piekuren in om de doorvoer te maximaliseren en bulk-API-query’s te versnellen.
NinjaOne-diensten voor het bijhouden van SaaS-licenties en gebruiksrapportages
Beheerders kunnen de volgende NinjaOne-diensten inzetten om het bijhouden en inventariseren van SaaS-licenties eenvoudiger te maken:
| NinjaOne-dienst | Definitie | Hoe het helpt bij het bijhouden van SaaS-licenties |
| Scripts plannen | NinjaOne ondersteunt taakplanning voor geautomatiseerde scriptuitvoering. | Plan scriptuitrol in om regelmatig gegevens over licentiegebruik en activiteit op endpoints te verzamelen. |
| Notificaties | Waarschuwt beheerders direct zodra een endpoint aan een specifieke voorwaarde voldoet. | Stel notificaties in voor automatische detectie wanneer SaaS-licenties na een bepaalde periode ongebruikt blijven. |
| Aangepaste rapportages | Met deze functie maakt u aanpasbare rapportages op basis van sjablonen en versnelt u het opstellen ervan via geplande levering. | Genereer automatisch terugkerende rapportages over licentiegebruik voor M65, Zoom, Adobe en andere SaaS-applicaties, zodat bijhouden en monitoring eenvoudig wordt. |
| Assetinventaris | Biedt een gedetailleerd beeld van de geïnstalleerde software op endpoints, allemaal binnen een enkel dashboard. | Een volledig beeld van IT-activa helpt bij een strategische licentietoewijzing onder eindgebruikers en versterkt het kostenbeheer. |
| Cross-platformondersteuning | Stroomlijnt de monitoring en het beheer van endpoints met verschillende besturingssystemen, zodat u geen meerdere afzonderlijke platformen nodig hebt. | Cross-platform monitoring en scripting van endpoints maken het bijhouden van SaaS-licenties eenvoudiger in gemengde omgevingen. |
| PSA-integratie | PSA-software volgt bedrijfsprocessen, inclusief assets zoals de toewijzing en kosten van SaaS-licenties. | De zelfstandige PSA-oplossing van NinjaOne en de integratie met diverse PSA-systemen bieden brede mogelijkheden om licenties bij te houden. |
Krijg volledig zicht op uw omgeving en uw SaaS-licenties.
Gebruik RMM-platformen om het bijhouden van SaaS-licenties te stroomlijnen
Het bijhouden van SaaS-licentiegebruik helpt MSP’s en interne IT-teams de kosten van overbodige abonnementen te drukken. Beheerders kunnen met RMM’s ook scripts inplannen om audits te automatiseren, zodat ze onderbenutte licenties opsporen en verspillende toewijzingen beperken. Met rapportages over langere periodes worden trends zichtbaar die met data zijn onderbouwd, wat strategieën voor licentietoewijzing zoals verlenging of opzegging rechtvaardigt.
Snelstartworkflow voor het bijhouden van licenties
Voor RMM-beheerders verloopt een geslaagde uitrol van deze strategie via een helder, herhaalbaar proces:
- Bepaal de scope: breng het doel-SaaS-platform (bijvoorbeeld M365, Zoom) en de specifieke licentieniveaus (SKU’s) in kaart die u wilt volgen.
- Beveilig referenties: genereer de benodigde API-sleutels en -tokens en bewaar ze in de beveiligde kluis van uw RMM.
- Ontwikkel en test het script: maak het PowerShell- of REST-script lokaal en test de uitvoer en de rechten.
- Uitrol via RMM: upload het definitieve script naar de scriptbibliotheek van uw RMM en stel het zo in dat het referenties veilig uit de kluis ophaalt.
- Plan de automatisering: stel uw RMM in om het script wekelijks of maandelijks uit te voeren, zodat het snapshots met tijdstempel genereert.
- Rapporteer en neem terug: gebruik de functie voor aangepaste rapportages van uw RMM om het Compare-Object-script uit te voeren en neem proactief licenties terug die binnen uw vastgestelde periode geen enkele aanmeldactiviteit laten zien.
Gerelateerde onderwerpen: