/
/

Zo maakt u op schaal rapporten over mailboxgroottes met PowerShell

door Team Ninja
How to Get Mailbox Size Reports with PowerShell at Scale blog banner image

Directe samenvatting

Deze blogpost van NinjaOne biedt een uitgebreide basislijst met CMD-commands en een deep dive duik in Windows-commands met meer dan 70 essentiële cmd-commands voor zowel beginners als gevorderden. Het legt praktische opdrachtpromptcommando’s uit voor file management, directory navigation, network troubleshooting, disk operations en automatisering met echte voorbeelden om de productiviteit te verbeteren. Of u nu fundamentele cmd-commands leert of geavanceerde Windows CLI-tools onder de knie krijgt, deze gids helpt u de Command Prompt effectiever te gebruiken.

Belangrijkste punten

  • Verzamel gezaghebbende mailboxgegevens: voer Get-MailboxStatistics uit in PowerShell om mailboxgrootte, aantallen items en gegevens over de laatste aanmelding rechtstreeks uit Exchange Online op te halen.
  • Neem quota- en archiefinformatie op: combineer mailboxstatistieken met Get-EXOMailbox om quotalimieten, archiefgebruik en de totale opslagomvang zichtbaar te maken.
  • Richt steekproeven op mapniveau op grote mailboxen: voer Get-MailboxFolderStatistics uit op te grote of risicovolle mailboxen om groeibronnen of retentieproblemen te vinden.
  • Normaliseer en exporteer consistent: zet groottes om naar GB, voeg metadata toe (tenant, tijdstempel, scriptversie) en exporteer naar CSV of JSON om trends eenvoudig te volgen.
  • Automatiseer op schaal met waarborgen: gebruik app-only-authenticatie, throttlingbeheer en retrylogica voor onbeheerde taken in grote of multi-tenant omgevingen.

Rapporten over mailboxgroottes helpen MSP’s bij capaciteitsplanning, de validatie van herstelacties en het tijdpad van onderzoeken in Exchange Online-omgevingen. PowerShell levert directe gegevens vanaf de server die de werkelijke mailboxgrootte, het aantal items en het archiefgebruik tonen, zonder dat u afhankelijk bent van de weergave in de client.

Deze gids laat zien hoe u Get-Mailboxstatistics en verwante Exchange Online-cmdlets gebruikt om op schaal nauwkeurige rapporten over de mailboxgrootte in Office 365 te maken met PowerShell voor MSP’s. U leest hoe u quotagegevens, archiefcontext en steekproeven op mapniveau opneemt en de resultaten vervolgens normaliseert voor automatisering, audits en maandelijkse QBR’s.

Stappen voor rapporten over mailboxgroottes met PowerShell op schaal

Rapportage over mailboxgroottes haalt statistieken en quotacontext rechtstreeks vanaf de server uit Exchange Online. Die rapporten ondersteunen ook migratieplanning, waarmee teams Exchange Online-mailboxen zonder uitvaltijd kunnen migreren.

📌 Vereisten:

  • U hebt de Exchange Online (EXO) PowerShell-module nodig en machtigingen om mailboxeigenschappen en -statistieken te lezen.
  • Hiervoor is veilige opslag van referenties of app-only-authenticatie voor onbeheerde uitvoeringen vereist.
  • U hebt een centraal pad nodig waar CSV, JavaScript Object Notation (JSON) en uitvoeringslogboeken consistent worden weggeschreven.
  • Daarnaast is een optionele lijst met doelmailboxen nodig voor steekproeven op mapniveau tijdens diepgaander onderzoek.

Stap 1: mailboxgroottes efficiënt inventariseren

Begin met het verzamelen van mailboxstatistieken uit Exchange Online om een schone rapportagebasis te leggen. Deze stap helpt u groottegegevens en mailboxtypen vast te leggen voor latere analyse van quota, archief en groei.

📌 Toepassingen:

  • Dit creëert een gezaghebbende basislijn met Get-MailboxStatistics voor audits, QBR’s of tenantmigraties.
  • Het onderscheidt gebruikers-, gedeelde en resourcemailboxen om quota- en capaciteitsplanning nauwkeurig te maken.

📌 Vereisten:

  • U hebt de Exchange Online PowerShell-module (EXO V3) geïnstalleerd nodig en toegang om opdrachten voor mailboxstatistieken uit te voeren.
  • Hiervoor zijn beheerdersreferenties of app-only-authenticatie nodig om veilig verbinding te maken met Exchange Online.

Stap voor stap:

  1. Maak verbinding met Exchange Online PowerShell.
  2. Voer Get-MailboxStatistics uit en selecteer alleen de benodigde velden zoals TotalItemSize, ItemCount, LastLogonTime en Database.
  3. Exporteer de resultaten als basislijn naar CSV- of JSON-formaat.
  4. Neem een kolom op voor het mailboxtype om gebruikers-, gedeelde en resourcemailboxen te scheiden.
  5. Bewaar de export op een centrale locatie zodat u latere uitvoeringen kunt vergelijken.

Stap 2: quota- en archiefcontext toevoegen

Verrijk het basisrapport door mailboxstatistieken te combineren met quota- en archiefgegevens. Zo krijgt u zicht op het opslaggebruik, mogelijke overschrijdingen en de werkelijke omvang van mailboxen in de tenant.

📌 Toepassingen:

  • Dit helpt gebruikers op te sporen die hun quotalimiet naderen of al hebben overschreden.
  • Het geeft volledig inzicht in de mailboxgroottes in Exchange Online doordat archiefmailboxgegevens naast de primaire opslag worden getoond.

📌 Vereisten:

  • U hebt aanvullende machtigingen nodig om mailboxeigenschappen op te vragen met de cmdlet Get-EXOMailbox.
  • Hiervoor is toegang nodig tot zowel mailboxstatistieken als eigenschapsgegevens om ze in PowerShell samen te voegen.

PowerShell-opdracht:

Get-EXOMailbox | 
Select-Object DisplayName, IssueWarningQuota, ProhibitSendQuota, ArchiveStatus

Hiermee haalt u quota- en archiefinformatie op uit Exchange Online-mailboxen om die te combineren met de uitvoer van Get-MailboxStatistics voor een volledige opslagrapportage.

Stap 3: optionele steekproeven op mapniveau voor meer diepgang

Steekproeven op mapniveau geven inzicht in groeipatronen van mailboxen en verklaren waarom bepaalde mailboxen meer opslag gebruiken dan verwacht.

📌 Toepassingen:

  • Analyseert welke mappen het meest bijdragen aan de groei van de mailboxgrootte, voor nauwkeurige rapportage en prognoses.
  • Ondersteunt onderzoek naar afwijkend opslaggebruik, opbouw in de map met herstelbare items of quotaoverschrijdingen.

📌 Vereisten:

  • U hebt uitgebreide rechten nodig om Get-MailboxFolderStatistics uit te voeren op de doelmailboxen.
  • Daarnaast is een basisexport nodig die de grootste of meest kritieke mailboxen aanwijst.

PowerShell-opdracht:

$largest = (Import-Csv .\MailboxSize_Baseline.csv |
Sort-Object TotalItemSize -Descending |
Select-Object -First 20 -ExpandProperty Mailbox)
$null = New-Item -ItemType Directory -Path .\FolderSamples -Force
foreach ($mbx in $largest) {
$top = Get-MailboxFolderStatistics -Identity $mbx -FolderScope All |
Select-Object FolderPath, ItemsInFolder, FolderSize |
Sort-Object ItemsInFolder -Descending |
Select-Object -First 10
$ri = Get-MailboxFolderStatistics -Identity $mbx -FolderScope RecoverableItems |
Select-Object FolderPath, ItemsInFolder, FolderSize
$top | Export-Csv ".\FolderSamples\$($mbx)_TopFolders.csv" -NoTypeInformation
$ri | Export-Csv ".\FolderSamples\$($mbx)_RecoverableItems.csv" -NoTypeInformation
}

Deze opdracht neemt steekproeven van mapstatistieken uit de grootste mailboxen en legt de grootste mappen en herstelbare items vast om groeibronnen en de impact van retentie aan te wijzen.

Stap 4: uitvoer normaliseren, labelen en opslaan

Het normaliseren van gegevens over mailboxgroottes levert consistente, vergelijkbare rapporten op over tenants en rapportagecycli heen.

📌 Toepassingen:

  • Dit zet gegevens over mailboxgroottes om naar gestandaardiseerde eenheden voor nauwkeurige trendanalyse.
  • Hiermee voegt u metadata toe voor audittracering en integratie met dashboards.

📌 Vereisten:

  • U hebt de eerdere CSV- of objectgegevens uit de vorige stappen nodig.
  • Daarnaast is toegang tot een PowerShell-omgeving nodig om CSV-/JSON-bestanden te bewerken en exporteren.

PowerShell-opdracht:

$report = Import-Csv .\MailboxSize_Joined.csv | ForEach-Object {
[pscustomobject]@{
DisplayName = $_.DisplayName
Mailbox = $_.Mailbox
MailboxType = $_.MailboxType
TotalItemSizeGB = [math]::Round(($_.TotalItemSize -replace '.*\((.*?)\sbytes\).*','$1')/1GB,2)
PercentQuotaUsed= $_.PercentQuotaUsed
AsOf = (Get-Date).ToString('yyyy-MM-dd')
TenantId = 'ContosoTenant'
ScriptVersion = 'v1.0'
}
}
$report | Export-Csv ".\MailboxSize_Normalized.csv" -NoTypeInformation
$report | ConvertTo-Json | Out-File ".\MailboxSize_Normalized.json"

Dit script zet mailboxgroottes om naar gigabytes, voegt labels toe voor datum, tenant en scriptversie en exporteert de gegevens naar CSV en JSON voor rapportage of dashboards.

Stap 5: automatiseren met waarborgen

Automatisering zorgt ervoor dat rapporten over mailboxgroottes consistent draaien zonder tussenkomst van een gebruiker, waardoor het risico op throttling en tijdelijke fouten in grote Office 365-tenants afneemt.

📌 Toepassingen:

  • Maakt onbeheerde rapportgeneratie mogelijk over meerdere tenants of omgevingen.
  • Levert betrouwbare monitoring van mailboxgroottes in Exchange Online met retrylogica en versiebeheer van deltarapporten.

📌 Vereisten:

  • U hebt app-only-authenticatie nodig, geconfigureerd in Azure AD voor niet-interactieve Exchange Online-sessies.
  • Daarnaast zijn een beveiligde scriptrepository en een taakplanner nodig voor nachtelijke of wekelijkse uitvoeringen.
Connect-ExchangeOnline -AppId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" `
-CertificateThumbprint "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" `
-Organization "contoso.onmicrosoft.com"
for ($i=0; $i -lt 3; $i++) {
try {
.\Get-MailboxSizeReport.ps1
break
} catch {
Start-Sleep -Seconds (30 * ($i + 1))
}
}
Compare-Object (Import-Csv .\MailboxSize_Previous.csv) (Import-Csv .\MailboxSize_Current.csv) |
Export-Csv .\MailboxSize_Delta.csv -NoTypeInformation

Deze PowerShell-stap maakt veilig verbinding, past retrylogica toe om throttling te voorkomen en genereert een deltavergelijkingsbestand waarmee u mailboxgroei en quotawijzigingen per rapportagecyclus volgt.

Stap 6: multi-tenant rollups voor MSP’s

Met rollups kunnen MSP’s resultaten uit meerdere tenants samenvoegen tot één rapport voor vergelijkende analyse tijdens klantbesprekingen.

📌 Toepassingen:

  • Dit levert één dashboard op met de grootste mailboxen, quotaoverschrijdingen en archiefgebruik per tenant.
  • Het vereenvoudigt de voorbereiding van QBR’s doordat de uitvoer per tenant wordt samengevoegd tot één genormaliseerde dataset.

📌 Vereisten:

  • U hebt een bestaand tenantconfiguratiebestand nodig waarin de authenticatiegegevens per tenant staan.
  • Hiervoor moeten alle voorgaande rapportagestappen met succes zijn afgerond en moeten de exports op een centrale locatie zijn opgeslagen.

Wat u doet:

  • Doorloop de tenants uit een configuratiebestand en authenticeer per tenant.
  • Schrijf de uitvoer van elke tenant naar een eigen map met een consistente datumstempel.
  • Genereer een gecombineerde rollup met de grootste mailboxen, groeitrends, quotaoverschrijdingen en archiefgebruik over alle tenants heen.

Stap 7: van mailboxrapporten naar meetbare resultaten

Door gegevens over mailboxgroottes om te zetten in vervolgtaken, zorgt u ervoor dat de data tot meetbare resultaten leidt.

📌 Toepassingen:

  • Dit opent proactief tickets voor quotaoverschrijdingen, afwijkende groei of te grote gedeelde mailboxen.
  • Het laat maandelijkse trends en uitzonderingen zien in QBR’s en toont zo de volwassenheid van de capaciteitsplanning aan.

📌 Vereisten:

  • U hebt de in de vorige stappen voltooide rapporten over mailboxgroottes en quota nodig.
  • Voor deze stap hebt u toegang nodig tot uw PSA-software of Service Desk om hersteltickets te openen en te volgen.

Wat u doet:

  • Maak tickets aan voor hoge waarden van PercentQuotaUsed, snelle mailboxgroei of te grote gedeelde mailboxen.
  • Koppel relevante mailboxsteekproeven aan herstel- of retentietests ter verificatie.
  • Neem groeigrafieken, quotaoverschrijdingen en archieftrends op in maandelijkse QBR-pakketten om de rapportagecyclus te sluiten.

⚠️ Waar u op moet letten

Risico’s

Mogelijke gevolgen

Oplossingen

Ontbrekende authenticatiecontext in geplande takenAutomatisering mislukt ongemerkt of levert onvolledige rapporten op.Gebruik app-only-authenticatie en test de geldigheid van het token voordat u de taak inplant
Grote exports zonder normalisatieVergelijkingen en trends in rapporten worden onbetrouwbaarZet alle mailboxgroottes om naar GB en neem consistente metadatavelden op
Onvolledige of overgeslagen tenantuitvoeringenDe rollup toont inconsistente totalen of ontbrekende tenantsControleer de mappen per tenant en het aantal records voordat u de eindrapporten samenstelt

Overzicht van beste praktijken voor rapporten over mailboxgroottes in PowerShell

Praktijk

Doel

Opgeleverde waarde

Basislijn voor mailboxgroottesGezaghebbende mailboxgegevens vastleggen met Get-MailboxStatisticsNauwkeurige capaciteitsgegevens voor prognoses en audits
Quota- en archiefgegevens opnemenGebruiksgegevens combineren met quotadrempels en archiefstatus voor volledig inzichtBetere capaciteitsplanning en minder onverwachte opslagoverschrijdingen
Steekproeven op mapniveauMapstatistieken analyseren voor grote, snelgroeiende mailboxenSnellere opsporing van de hoofdoorzaak en beter retentiebeheer
Uitvoer normaliseren en labelenMailboxgegevens standaardiseren over tenants heen met consistente eenheden en metadataEenvoudige vergelijkingen, betrouwbare trendanalyse en integratie met dashboards
Rapportage veilig automatiserenApp-only-authenticatie en geplande scripts gebruiken voor terugkerende takenSchaalbare, veilige en consistente multi-tenant rapportage

Taken die rapportage over mailboxgroottes en quotabewaking stroomlijnen

Met automatisering en deze taken blijven rapporten over mailboxgroottes consistent, nauwkeurig en klaar voor audits of QBR’s.

  • Plan een PowerShell-taak die mailboxgroottes en aantallen items exporteert met Get-MailboxStatistics.
  • Voeg quotagegevens uit Get-EXOMailbox samen en bereken PercentQuotaUsed om gebruik en groei te volgen.
  • Markeer quotaoverschrijdingen en afwijkende groei automatisch bij elke uitvoering.
  • Neem desgewenst steekproeven van mapstatistieken voor de top 50 mailboxen om opslagintensieve mappen te vinden.
  • Exporteer CSV, JSON en een samenvattend logboek met aantallen records, looptijd en toegepaste filters.
  • Voer maandelijks een vergelijkingstaak uit om deltarapporten en een samenvatting van één pagina voor documentatie te maken.

Rapportage over mailboxgroottes opschalen voor MSP-operaties

Rapportage over mailboxgroottes wordt een strategisch proces zodra u Exchange Online PowerShell-cmdlets combineert met quota- en archiefcontext, gerichte steekproeven op mapniveau en automatisering. Genormaliseerde uitvoer en maandelijkse delta’s geven een helder beeld van capaciteitstrends en opslaggebruik over tenants heen.

Met Get-MailboxStatistics en gestructureerde PowerShell-rapporten over mailboxgroottes zetten MSP’s ruwe data om in bruikbare planningsinzichten, bewijsmateriaal bij incidenten en QBR-klare samenvattingen. Deze aanpak zorgt voor operationele consistentie, beperkt verrassingen en maakt onderbouwde beslissingen over capaciteit en retentie mogelijk in alle klantomgevingen.

Gerelateerde onderwerpen:

FAQs

In Exchange Online bevatten uw rapporten de volledige mailbox- en archiefgegevens, inclusief herstelbare items en bewaarde inhoud, ook als die niet zichtbaar zijn in uw standaardweergave.

Gebruik app-only-authenticatie met retrylogica en veilige opslag van referenties. Plan terugkerende taken in en genereer deltavergelijkingen om wijzigingen tussen uitvoeringen te volgen.

Alleen bij onderzoek naar ongewoon grote mailboxen of retentieproblemen. Elke mailbox bemonsteren verlengt de looptijd zonder meer inzicht op te leveren.

Minimaal: mailboxnaam, type, grootte in GB, gebruikt percentage van het quotum, archiefstatus en tijdstempel. Consistente eenheden maken vergelijkingen van maand tot maand betrouwbaar.

Groottetrends, quotaoverschrijdingen en cijfers over archiefgebruik tonen proactief capaciteitsbeheer aan en leveren bewijs voor SLA’s en compliance.

Dit vindt u misschien ook leuk

Klaar om de moeilijkste delen van IT te vereenvoudigen?