Belangrijkste punten
- Gebruik PowerShell in Microsoft 365 om Exchange Online message traces te genereren voor bezorgstatus, vertragingen en fouten.
- Voer Get-MessageTraceV2 uit voor live traces van de afgelopen 90 dagen, met maximaal 10 dagen aan gegevens per query, en gebruik Get-MessageTraceDetailV2 voor bezorgdiagnostiek op hopniveau.
- Voer Start-HistoricalSearch uit voor gegevensverzameling over lange periodes of op grote schaal en maak auditklare CSV-exports die tot 90 dagen aan berichtactiviteit beslaan.
- Normaliseer en verrijk tracegegevens met berekende velden (bijvoorbeeld TimeSpanMinutes en DeliveryOutcome) om analyse en compliancecontroles te vereenvoudigen.
- Automatiseer message trace met veilige app-only authenticatie, geplande PowerShell-taken en robuuste foutafhandeling voor niet-interactieve uitvoering.
- Sla tracegegevens systematisch op en documenteer ze om audits, onderzoeken en doorlopend inzicht in e-mailgovernance te ondersteunen.
Met de tool Microsoft 365 message trace kunnen managed service providers (MSP’s) en IT-beheerders de e-mailbezorging binnen Exchange Online nauwkeurig en herhaalbaar onderzoeken en monitoren. In combinatie met PowerShell-automatisering en diverse cmdlets kunnen teams bezorgingsvragen snel beantwoorden, auditklare rapporten genereren en hun onderzoeken over meerdere tenants opschalen. Lees verder voor een gestructureerde workflow die zorgt voor operationeel inzicht en compliance-gereedheid.
Zo genereert u met PowerShell rapporten voor Microsoft 365 message trace
Message trace in Microsoft 365 laat zien hoe een e-mail door Exchange Online is gegaan en waarom die is bezorgd, uitgesteld of mislukt. Daarmee is het een onmisbare tool voor inzicht in de mailstroom en voor governance. PowerShell biedt verschillende flexibele methoden om deze rapporten te genereren, waarmee beheerders zowel recente als historische gegevens nauwkeurig kunnen vastleggen. Hieronder staan de stappen die beschrijven welke cmdlets u kunt gebruiken, hoe u resultaten vormgeeft en verrijkt en hoe u rapporten in de verschillende fasen effectief inzet.
📌 Vereisten:
- Exchange Online PowerShell-module op een beheerderswerkplek
- Rechten om message trace en historische zoekopdrachten in de tenant uit te voeren
- Veilige opslag van referenties en een uitvoermap voor exports
- Optioneel een Microsoft Entra-appregistratie voor app-only automatisering
Fase 1: gegevens verzamelen
De eerste stap is het verzamelen van gegevens voor alle message trace-analyses met PowerShell-cmdlets. U hebt twee opties, afhankelijk van uw tijdsbereik en rapportagebehoefte.
Optie 1: live traces uitvoeren voor recente berichten
Met een live trace controleert u snel wat er met een bericht uit een recente periode is gebeurd (alleen binnen de afgelopen 90 dagen, met maximaal 10 dagen aan gegevens per query) in Microsoft 365. Zo stelt u vast of een bericht succesvol is bezorgd, vertraagd is of is mislukt en ziet u het exacte pad dat het door Exchange Online heeft afgelegd, zonder dat grote exports nodig zijn.
- Maak op een beheerde werkplek verbinding met Exchange Online door een beveiligde sessie op te zetten met een beheerdersaccount met message trace-rechten en controleer of u met de juiste tenant bent verbonden voordat u traces uitvoert.
- Gebruik
Get-MessageTraceV2met filters die aan een tijdsbereik zijn gebonden. Definieer een recent tijdvenster en pas nauwkeurige filters toe (bijvoorbeeld afzender, ontvanger, trefwoord in het onderwerp of status) zodat alleen relevante resultaten worden teruggegeven. - Haal voor elk bericht dat verder onderzoek vereist de hopdetails op (bijvoorbeeld toegepaste transportregels, connectorhops, anti-spam- en antimalwareoordelen en vertragingen) die het bezorgingsresultaat verklaren met
Get-MessageTraceDetailV2.
💡 Let op: Microsoft heeft de cmdlets Get-MessageTrace en Get-MessageTraceDetail uitgefaseerd en vervangen door respectievelijk Get-MessageTraceV2 en Get-MessageTraceDetailV2.
- Sla de uitvoer op als CSV (en eventueel JSON) en neem de tenant-id, de start- en eindtijd en de filterparameters op in de bestandsnaam of de metadata.
Voorbeeld:
$start = (Get-Date).AddHours(-24)$end = Get-DateGet-MessageTraceV2 -StartDate $start -EndDate $end -Status Failed |Select-Object Received, SenderAddress, RecipientAddress, Subject, Status |Export-Csv .\message-trace.csv -NoTypeInformation
Optie 2: historische zoekopdrachten voor langere periodes
Moet u de mailstroom over een periode van meer dan 10 dagen in één aanvraag analyseren of grote datasets verzamelen voor audits? Gebruik dan historische zoekopdrachten. Die genereren downloadbare CSV-rapporten voor berichten binnen de bewaartermijn van 90 dagen, zonder de beperking van 10 dagen per query, met een limiet van 100.000 resultaten per rapport. Deze rapporten zijn ideaal voor compliancebeoordelingen en maandelijkse governancerapportage.
- Gebruik
Start-HistoricalSearchom een rapport aan te vragen voor een vastgesteld datumbereik (bijvoorbeeld enkele dagen tot weken) en start zo een asynchrone taak die door Microsoft 365 wordt afgehandeld. - Volg de status van de zoekopdracht tot het CSV-bestand klaar is, download vervolgens de gegevens en sla ze op met metadata zoals de starttijd, het datumbereik, de aanvrager en de rapporttitel, zodat de audit consistent blijft.
- Plan automatische wekelijkse of maandelijkse historische zoekopdrachten voor compliancerapportage.
Voorbeeld:Start-HistoricalSearch -ReportTitle "Failed mail, last 30 days" -ReportType MessageTrace `-StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date).AddDays(-1) `-DeliveryStatus Failed -NotifyAddress [email protected]
Fase 2: kies de juiste omgeving voor review en validatie
Het is ook belangrijk om de juiste interface te kiezen voor het beoordelen van de resultaten van Microsoft message trace, zodat u efficiënt en nauwkeurig werkt. PowerShell biedt automatisering en meer controle, terwijl de Microsoft 365-portalen snelle, handmatige visuele toegang geven.
- Gebruik de Microsoft Defender-portal en het Exchange-beheercentrum wanneer u:
- Specifieke berichten wilt verifiëren
- PowerShell-resultaten wilt bevestigen
- De bezorgstatus wilt zien
- Acties wilt filteren
- Tijdlijndetails wilt controleren zonder commando’s uit te voeren.
- Gebruik PowerShell als de gezaghebbende methode voor het exporteren, filteren en loggen van traces. Dat zorgt voor:
- Consistentie tussen onderzoeken
- Herhaalbare automatisering voor governance
- Volledige gegevens voor compliancedocumentatie
Fase 3: exporteren, normaliseren en verrijken
Bereid vervolgens de message trace-gegevens voor op analyse en compliance. Ruwe PowerShell-uitvoer is bruikbaar, maar u wilt die normaliseren en verrijken zodat rapporten makkelijker te interpreteren en tijdens audits te onderbouwen zijn.
- Sla traceresultaten op in CSV-formaat zodat operationele teams ze eenvoudig kunnen bekijken, sorteren en delen. U kunt ook JSON-exports gebruiken als flexibele invoer voor dashboards, datapijplijnen of SIEM-systemen.
- Maak de gegevens bruikbaarder door nieuwe velden af te leiden (bijvoorbeeld
TimeSpanMinutesenDeliveryOutcome) waarmee u trends en prestatieproblemen snel opmerkt. - Documenteer altijd welke parameters en filters zijn toegepast, welke scriptversie het rapport heeft gegenereerd en hoeveel records zijn teruggegeven. Dat levert een transparanter auditspoor op voor latere validatie en reproductie.
Fase 4: automatiseren met veilige authenticatie
Wanneer u bewijsmateriaal verzamelt over veel tenants, draagt het automatiseren van message trace bij aan consistentie en controleerbaarheid. Richt u op veilige, niet-interactieve authenticatie, robuuste uitvoering en heldere logging van de runs zodat de resultaten betrouwbaar en herhaalbaar zijn.
- Gebruik voor niet-interactieve taken app-only authenticatie op basis van certificaten om opgeslagen gebruikerswachtwoorden en MFA-prompts te vermijden en wijs alleen de minimaal benodigde Exchange-rollen toe.
- Roteer certificaten, beperk de toegang tot privésleutels en bewaak de vervaldatum zodat geplande taken veilig blijven draaien.
- Implementeer retry-logica voor bekende tijdelijke situaties (bijvoorbeeld netwerkstoringen of throttling van de service) zodat langlopende taken niet door één hapering mislukken. Zorg voor nette skip- of continue-afhandeling en duidelijke foutmeldingen om analyse achteraf te vergemakkelijken.
- Plan dagelijkse live traces voor snel inzicht en wekelijkse historische zoekopdrachten voor bredere dekking en log vervolgens start- en eindtijden, tijdzone, parameters, aantallen items en fouten op een centrale locatie. Gebruik consistente bestandsnamen en stel waarschuwingen in bij afwijkingen (bijvoorbeeld nul resultaten of een hoog foutpercentage) zodat u problemen proactief signaleert en aanpakt.
Fase 5: inzetten voor onderzoeken en audits
Tot slot moet u message trace operationeel maken zodat individuele runs bruikbaar zijn voor onderzoeken, audits en governance. Standaardiseer hoe resultaten worden opgeslagen, aangehaald en gecorreleerd om een goed onderbouwd dossier op te bouwen van de controles op de mailstroom en de acties bij incidentrespons.
- Koppel message trace-exports rechtstreeks aan incidenttickets, casustijdlijnen of documentatiesystemen om een duidelijke bewijsketen te creëren die laat zien wanneer berichten zijn verzonden, welk pad ze hebben afgelegd en waarom de bezorging zo is verlopen.
- Bewaar elke maand representatieve tracevoorbeelden om te verifiëren dat de beveiligings-, filter- en routeringscontroles werken zoals verwacht. Deze gearchiveerde voorbeelden leveren ook meetbaar bewijs van de doorlopende operationele gezondheid en beleidshandhaving.
- Vergelijk afwijkingen in message trace met wijzigingen in beheerdersrollen, gebruikerslicenties of postvakregels om configuratiedrift, misbruik van rechten of beleidsuitzonderingen te detecteren die ongebruikelijk mailgedrag of compliancehiaten kunnen verklaren.
Overzichtstabel met beste praktijken
Hieronder vindt u een tabel met beste praktijken die ervoor zorgen dat Microsoft 365 message trace nauwkeurig en veilig blijft voor auditdoeleinden.
| Praktijk | Doel | Opgeleverde waarde |
| V2-cmdlets voor live traces | Huidige interface voor recente mail | Sneller antwoord met consistente uitvoer |
| Historische zoekopdracht | CSV-rapporten genereren voor grotere datasets binnen de bewaartermijn van 90 dagen | Ondersteunt asynchrone rapportage over bredere datumbereiken, binnen de resultaatlimieten |
| App-only automatisering | Veilige, niet-interactieve planningen | Betrouwbare en compliant onbeheerde runs |
| Genormaliseerde exports | Gestandaardiseerde en gestructureerde rapportage | Eenvoudiger data koppelen en integreren in dashboards |
| Auditvriendelijk bewijs | Gelogde runs en aantallen records | Traceerbaarheid voor onderzoeken en beoordelingen |
Waarom message trace-rapporten in Microsoft 365 met PowerShell genereren?
Het genereren van Microsoft 365 message trace-rapporten met PowerShell is een snellere en herhaalbare manier om de mailstroom over meerdere tenants te analyseren. Anders dan de grafische interface in het Exchange-beheercentrum biedt PowerShell automatisering en nauwkeuriger filteren, wat ideaal is voor onderzoeken en doorlopende compliancerapportage. De belangrijkste voordelen zijn dat u:
- Traces en exports kunt plannen zonder handmatig ingrijpen.
- Grote datasets en lange datumbereiken efficiënt kunt verwerken.
- Exacte filters kunt toepassen op afzender, ontvanger of status.
- Parameters, tijdstempels en resultaten kunt loggen voor traceerbaarheid.
- Rapporten kunt doorvoeren naar monitoringtools of governancedashboards.
Voorbeeld van een automatiseringskoppeling
MSP’s kunnen automatisering inzetten om message trace in de dagelijkse werkzaamheden te integreren. Zo verzamelt u consistent bewijs en krijgt u tijdig inzicht zonder handmatig werk. Hier volgt een voorbeeld van een workflow voor een geplande PowerShell-taak die tracen, rapporteren en documenteren stroomlijnt:
- Dagelijkse live trace-taak: voert elke 24 uur
Get-MessageTraceV2uit om recente bezorgactiviteit vast te leggen. - Verrijking met details: gebruikt
Get-MessageTraceDetailV2om per bericht hop-voor-hopgegevens toe te voegen. - Gestructureerde export: schrijft de resultaten naar een CSV-bestand met tijdstempels en tenant-id’s in de naam, zodat alles eenvoudig te volgen is.
- Wekelijkse historische export: voert één keer per week
Start-HistoricalSearchuit om een dataset van 10 dagen te genereren voor bredere analyse. - Logging van runs: legt start- en eindtijden, aantallen items, duur en filterparameters vast voor auditdoeleinden.
- Geautomatiseerde rapportage: plaatst een beknopte samenvatting van de resultaten in de documentatie- of monitoringomgeving voor snel inzicht.
Integratie met NinjaOne
NinjaOne kan worden geïntegreerd met Microsoft 365 message trace zodat MSP’s uiteenlopende taken binnen hun managementplatform kunnen automatiseren. Dat vereenvoudigt complianceworkflows en versterkt het inzicht.
| Integratietaak | Doel | Opgeleverde waarde |
| Scripts uitrollen en plannen | PowerShell-taken voor message trace automatiseren vanuit het NinjaOne-portaal | Zorgt voor consistente, onbeheerde rapportgeneratie bij alle klanten |
| Referenties veilig opslaan | Beheerders- of app-referenties versleuteld bewaren in de referentieopslag van NinjaOne | Beschermt gevoelige toegangsgegevens en ondersteunt compliance |
| Exports en logs koppelen | CSV-bestanden en runlogs uploaden naar de klantdocumentatie | Centraliseert bewijsmateriaal voor onderzoeken en audits |
| Belangrijke statistieken samenvatten | Dagtotalen en opvallende berichtstatussen tonen in dashboards of rapporten | Geeft snel operationeel inzicht en ondersteunt QBR-gesprekken |
Betrouwbare compliance met message trace via PowerShell
Beheerders en MSP’s onderzoeken de e-mailbezorging sneller en nauwkeuriger door Microsoft 365 message trace-rapporten met PowerShell te genereren. Dat levert exacte controle, automatisering en consistentere rapportage op, waardoor u problemen eenvoudiger onderzoekt, compliance behoudt en documentatie over de bezorggezondheid oplevert. Door automatisering te combineren met de stappen uit dit artikel, draagt elke trace-run bij aan transparantie en verantwoording.
Gerelateerde onderwerpen:
- Zo maakt u een back-up van Microsoft 365 Exchange Online
- Zo migreert u Exchange Online-postvakken zonder uitvaltijd
- Microsoft 365-integratie
- Zo bereidt u zich voor op een Microsoft 365-beveiligingsaudit over meerdere tenants
- Zo automatiseert u meldingen over rolwijzigingen in Microsoft 365 voor beheerderstoezicht
