Belangrijkste punten
- Met Microsoft Graph PowerShell kunt u uitgebreide rapporten over Microsoft 365-groepen genereren, inclusief groepsnamen, groepstypen en zichtbaarheid.
- Door Exchange Online PowerShell te combineren met gegevens uit Graph, rapporteert u nauwkeurig over eigenaarschap en lidmaatschap van groepen.
- Met de Microsoft Graph Reports API volgt u groepsactiviteit en spoort u inactieve of verweesde groepen op over periodes van 7, 30 of 90 dagen.
- U kunt rapportage over Microsoft 365 automatiseren met app-only-authenticatie, geplande PowerShell-taken en CSV- of JSON-exports voor consistente opvolging.
- Multi-tenant rapporten over Microsoft 365 standaardiseert u met gescripte verbindingsloops, logs met tijdstempels en uniforme rapportage over alle organisaties heen.
Rapportage over Microsoft 365-groepen helpt beheerders om eigenaarschap, lidmaatschap, zichtbaarheid en gebruik te volgen in Teams, SharePoint, Planner en Outlook.
Oude rapportagemethoden bieden simpelweg niet de automatisering en diepgang die moderne beheerders nodig hebben. Daarom stappen steeds meer organisaties over op tools zoals Graph PowerShell en de Graph Reports-endpoints om rapporten te genereren.
Deze platformen automatiseren repetitieve taken, zoals het verzamelen van lidmaatschapsgegevens en leveren bovendien veel rijkere datasets.
In deze gids laten we zien hoe u rapportage over Microsoft 365-groepen met PowerShell en Graph Reports automatiseert.
Rapporten over Microsoft 365-groepen automatiseren met PowerShell
PowerShell en Microsoft Graph zijn de twee onmisbare tools om schaalbare en veilige rapportage over Microsoft 365-groepen op te zetten.
Vereisten
- De modules Microsoft Graph PowerShell SDK en Exchange Online
- Een Azure-appregistratie met de API-scopes Reports.Read.All en Group.Read.All
- App-only- of gedelegeerde referenties, veilig opgeslagen in een Key Vault of een versleuteld JSON-bestand
- Beheerdersrechten voor toegang tot de rapportage van de Microsoft 365-tenant en Exchange Online
Methode 1: volledige groepsinventarisatie met Microsoft Graph PowerShell
Use case: deze methode brengt een veilige verbinding tot stand met Microsoft Graph, waarmee u uw Microsoft 365-gegevens kunt opvragen. Ideaal voor een volledige inventarisatie van alle groepen in uw tenant, inclusief Teams-groepen en dynamische groepen
A. Modules installeren en importeren
Install-Module Microsoft.Graph -Scope CurrentUser
Import-Module Microsoft.Graph
Connect-MgGraph -Scopes "Group.Read.All","Reports.Read.All"
Hiermee installeert u de SDK veilig en maakt u verbinding met de juiste machtigingen.
B. Gebruik Get-MgGroup om alle Microsoft 365-groepen te inventariseren
Get-MgGroup -All | Select DisplayName,GroupTypes,Visibility,CreatedDateTime |
Export-Csv "C:\Reports\GroupInventory.csv" -NoTypeInformation
Tip: filter de resultaten op groepstype of naamgevingsconventie om Teams-groepen of dynamische groepen te isoleren.
Methode 2: lidmaatschap en eigenaarschap ophalen via Exchange Online
Use case: met deze methode haalt u gegevens over lidmaatschap en eigenaarschap rechtstreeks uit Exchange Online. Dat is vooral handig voor beheerders die e-mailbeveiligingsgroepen of distributielijsten in Microsoft 365 beheren.
A. Verbinding maken met Exchange Online:
Connect-ExchangeOnline -UserPrincipalName [email protected]
Get-UnifiedGroup | Select DisplayName,PrimarySmtpAddress,AccessType |
Export-Csv "C:\Reports\UnifiedGroups.csv" -NoTypeInformation
B. Groepsleden of eigenaren weergeven:
Get-UnifiedGroupLinks -Identity "<GroupName>" -LinkType Members |
Select Name,PrimarySmtpAddress
C. Groepseigenaren weergeven:
Get-UnifiedGroupLinks -Identity "<GroupName>" -LinkType Owners
Select Name,PrimarySmtpAddress
Exporteer de resultaten voor beoordeling of auditdocumentatie.
Methode 3: groepsbetrokkenheid analyseren met de Microsoft Graph Reports API
Use case: met deze methode analyseert u groepsactiviteit en krijgt u inzicht in de lifecycle.
A. Roep de Graph Reports API aan voor groepsactiviteit
$uri = "https://graph.microsoft.com/v1.0/reports/getOffice365GroupsActivityDetail(period='D30')"
Invoke-MgGraphRequest -Method GET -Uri $uri |
ConvertFrom-Csv | Export-Csv "C:\Reports\GroupActivity_D30.csv" -NoTypeInformation
Vergelijk de activiteitsaantallen met de lidmaatschapsgegevens om te zien welke groepen inactief zijn, nauwelijks gebruikt worden of geen eigenaar hebben.
Methode 4: exports en planning automatiseren
Use case: met deze methode genereert u automatisch groepsrapporten voor compliance en managementrapportage.
- Beveilig uw app-referenties door ze op te slaan in een versleuteld JSON-bestand.
- Gebruik een geplande PowerShell-taak of een Azure Automation-runbook voor uitvoering in de cloud:
$timestamp = Get-Date -Format "yyyyMMdd_HHmm"Get-MgGroup -All | Export-Csv "C:\Reports\Groups_$timestamp.csv" -NoTypeInformation
- Schakel logging in voor elke uitvoering en zorg dat die de belangrijkste details bevat, zoals tijdstempels, tenantnaam, aantal records en de status geslaagd of mislukt.
- Eventueel kunt u de geëxporteerde CSV-bestanden invoeren in Power BI of in een compliancerapportpakket.
Beste praktijken voor rapporten over Microsoft 365-groepen met PowerShell en Graph Reports
| Praktijk | Doel | Opgeleverde waarde |
| Graph-cmdlets voor inventarisatie | Zorgt voor aansluiting op moderne Microsoft Graph API’s bij het ophalen van groeps- en directorygegevens | Levert nauwkeurige, betrouwbare en volledig ondersteunde inventarisresultaten |
| Exchange Online voor lidmaatschapsgegevens | Versterkt de governance door inzicht te geven in groepseigenaarschap en toegangsrechten | Stelt beheerders in staat vast te stellen wie elke groep bezit en wie waartoe toegang heeft |
| Graph Reports API voor activiteitsinzichten | Geeft zicht op de lifecycle van groepen door gebruik en betrokkenheid te volgen | Maakt het eenvoudiger om inactieve, overbodige of eigenaarloze groepen te herkennen |
| App-only-authenticatie | Verbetert de beveiliging doordat interactieve aanmeldingen overbodig worden | Biedt veilige, tokengebaseerde authenticatie die beheerderstoegang beschermt |
| Geplande exports | Standaardiseert het verzamelen van gegevens via automatisering | Zorgt voor herhaalbare rapportage en doorlopend bewijsmateriaal voor compliance-audits |
Valideren en veelvoorkomende problemen oplossen
Als uw script fouten geeft of onvolledige gegevens oplevert, gebruik dan de onderstaande checklist om veelvoorkomende problemen op te sporen en te verhelpen.
- Lege resultaten: controleer de logginginstellingen van de tenant en ga na of de Graph API-machtigingen correct zijn toegewezen.
- Toegang geweigerd: zorg dat er expliciet beheerderstoestemming is verleend voor alle vereiste API-scopes in de Azure-appregistratie.
- Rate limits: pas vertragings- of retry-logica toe bij grotere tenants om verzoeken af te remmen en de rate limits van de Graph API niet te overschrijden.
- Scriptfouten: plaats queryblokken in een Try/Catch om uitzonderingen correct af te handelen en de fout te loggen voor latere analyse.
- Verlopen tokens: stel notificaties in om het verlopen van tokens te bewaken en roteer uw app-secrets regelmatig. Zo blijven uw geautomatiseerde rapporten gewoon draaien.
Automatisering bij rapportage over Microsoft 365-groepen
Automatisering kan voor MSP’s het verschil maken. Een dagelijks geplande taak die via app-only-authenticatie verbinding maakt met Microsoft Graph helpt u bijvoorbeeld om:
- Groepslijsten en activiteitsgegevens op te halen uit meerdere klanttenants.
- Gegevens samen te voegen in één CSV-rapport, compleet met tijdstempels.
- Rapporten automatisch per e-mail naar de aangewezen beheerders te sturen.
Deze aanpak beperkt het handwerk voor uw team, zodat zij zich op belangrijkere taken kunnen richten.
Rapportage over Microsoft 365-groepen vereenvoudigen met NinjaOne
NinjaOne maakt rapportage over Microsoft 365-groepen moeiteloos. Dankzij een krachtige scripting-engine kunt u PowerShell-implementaties automatiseren in alle klantomgevingen.
Met veilige opslag van referenties kunt u scripts bouwen die bruikbare inzichten opleveren, automatisch CSV-rapporten genereren en die rechtstreeks aan de klantdocumentatie koppelen zonder in te leveren op beveiliging.
Begin een gratis trial van de #1 endpoint management software op G2
Geen creditcard vereist. Krijg volledige toegang tot alle functies.
Slimmere rapporten over Microsoft 365-groepen met PowerShell
Moderne PowerShell-rapportage voor Microsoft 365-groepen maakt gebruik van graph-gebaseerde cmdlets en API’s en levert daarmee een precisie en automatisering die oude rapportagemethoden niet kunnen evenaren.
Door inventarisatie-, lidmaatschaps- en activiteitsgegevens in één rapport samen te brengen, krijgt u cruciaal inzicht in elke klanttenant of bedrijfsonderdeel dat u beheert. Belangrijker nog: zo blijft uw rapportageproces schaalbaar en toekomstbestendig.
Gerelateerde onderwerpen:
- Hoe u de Microsoft Graph API gebruikt om compliancerapporten op te halen uit meerdere tenants
- Zo maakt u een back-up van Microsoft 365 Exchange Online
- Het handboek voor beheerders over SharePoint-groepsmachtigingen: instellen, beheren en beste praktijken
- De Microsoft Graph API gebruiken met Windows PowerShell om Microsoft 365-klanten te monitoren en te beheren
- Zo genereert u MSP-vriendelijke compliancerapporten vanuit Microsoft Secure Score
