/
/

Come ottenere i report di message trace di Microsoft 365 con PowerShell

di Team Ninja
How to Get Microsoft 365 Message Tracing Reports Using PowerShell blog banner image

Riepilogo

Questo post del blog NinjaOne offre un elenco completo di comandi CMD di base e un’analisi approfondita dei comandi di Windows con oltre 70 comandi cmd essenziali sia per i principianti che per gli utenti avanzati. La guida si propone si piegare in modo pratico i comandi del prompt dei comandi per la gestione dei file, la navigazione nelle directory, la risoluzione dei problemi di rete, le operazioni su disco e l’automazione, con esempi reali per migliorare la produttività. Che tu voglia imparare i comandi cmd fondamentali o padroneggiare gli strumenti avanzati della CLI di Windows, questa guida ti aiuterà a utilizzare il Prompt dei comandi in modo più efficace.

Punti chiave

  • Usa PowerShell in Microsoft 365 per generare le tracce dei messaggi di Exchange Online e verificare stato di recapito, ritardi ed errori.
  • Esegui Get-MessageTraceV2 per le tracce live degli ultimi 10 giorni e usa Get-MessageTraceDetailV2 per la diagnostica di recapito a livello di hop.
  • Esegui Start-HistoricalSearch per raccolte di dati su lunghi intervalli o su larga scala e creare esportazioni CSV pronte per l’audit che coprono fino a 90 giorni di attività dei messaggi.
  • Normalizza e arricchisci i dati delle tracce con campi calcolati (ad esempio TimeSpanMinutes, DeliveryOutcome) per semplificare analisi e controlli di conformità.
  • Automatizza il message trace con l’autenticazione app-only sicura, processi PowerShell pianificati e una solida gestione degli errori per l’esecuzione non interattiva.
  • Archivia e documenta in modo sistematico gli output delle tracce per supportare audit, indagini e una visibilità continua sulla governance delle email.

Lo strumento di message trace di Microsoft 365 consente ai managed service provider (MSP) e agli amministratori IT di analizzare e monitorare in modo preciso e ripetibile il recapito delle email in Exchange Online. Se combinato con l’automazione tramite PowerShell e i vari cmdlet, il tracciamento permette ai team di rispondere rapidamente alle domande sul recapito, generare report pronti per l’audit e scalare le analisi su più tenant. Continua a leggere per scoprire un flusso di lavoro strutturato che garantisce visibilità operativa e preparazione alla conformità.

Come generare report di message trace di Microsoft 365 con PowerShell

Il message trace in Microsoft 365 spiega come un’email si è mossa attraverso Exchange Online e perché è stata recapitata, posticipata o non è andata a buon fine. Questo lo rende uno strumento essenziale per la visibilità e la governance del flusso di posta. PowerShell offre diversi metodi flessibili per generare questi report, permettendo agli amministratori di acquisire con precisione sia dati recenti sia dati storici. Di seguito trovi i passaggi che illustrano quali cmdlet utilizzare, come strutturare e arricchire i risultati e come sfruttare i report in modo efficace nelle varie fasi.

📌 Prerequisiti:

  • Modulo Exchange Online PowerShell su una workstation amministrativa
  • Diritti per eseguire message trace e ricerca storica nel tenant
  • Archiviazione sicura delle credenziali e una directory di output per le esportazioni
  • Registrazione facoltativa di un’app in Azure per l’automazione app-only

Fase 1: raccolta dei dati

Il primo passaggio consiste nel raccogliere i dati per ogni analisi di message trace tramite i cmdlet di PowerShell. Hai due opzioni, a seconda dell’intervallo temporale e delle esigenze di reporting.

Opzione 1: eseguire tracce live per i messaggi recenti

Puoi usare una traccia live per verificare rapidamente cosa è successo a un messaggio in un intervallo di tempo recente (solo entro gli ultimi 10 giorni) in Microsoft 365. Ti permette di stabilire se un messaggio è stato recapitato correttamente, ritardato o non consegnato, e di vedere il percorso esatto compiuto all’interno di Exchange Online senza bisogno di esportazioni di grandi dimensioni.

  1. Da una workstation gestita, connettiti a Exchange Online stabilendo una sessione sicura con un account amministrativo che disponga dei diritti di message trace, e assicurati di essere connesso al tenant corretto prima di eseguire qualsiasi traccia.
  2. Usa Get-MessageTraceV2 con filtri delimitati nel tempo. Definisci una finestra temporale recente e applica filtri precisi (ad esempio mittente, destinatario, parola chiave dell’oggetto o stato) per ottenere solo i risultati rilevanti.
  3. Per ogni messaggio che richiede ulteriori approfondimenti, recupera i dettagli degli hop (ad esempio regole di trasporto applicate, hop dei connettori, verdetti anti-spam/anti-malware e ritardi) che spiegano l’esito del recapito, usando Get-MessageTraceDetailV2.

💡 Nota: Microsoft ha dichiarato deprecati i cmdlet Get-MessageTrace e Get-MessageTraceDetail, aggiornandoli rispettivamente in Get-MessageTraceV2 e Get-MessageTraceDetailV2.

  1. Salva gli output in CSV (e, facoltativamente, in JSON) includendo nel nome del file o nei metadati l’identificativo del tenant, gli orari di inizio e fine e i parametri di filtro.

Opzione 2: usare la ricerca storica per intervalli più ampi

Se devi analizzare il flusso di posta oltre la finestra della traccia live o raccogliere grandi set di dati per gli audit, puoi usare la ricerca storica. Questa interroga il backend di Microsoft per generare report CSV più completi su periodi più lunghi (fino a 90 giorni), ideali per le verifiche di conformità e il reporting mensile di governance.

  1. Usa Start-HistoricalSearch per richiedere un report su un intervallo di date definito (ad esempio da alcuni giorni ad alcune settimane) e avviare un processo asincrono gestito da Microsoft 365.
  2. Monitora lo stato della ricerca finché il CSV non è pronto, quindi scarica i dati e archiviali con i relativi metadati, tra cui orario di inizio, intervallo di date, richiedente e titolo del report, per garantire coerenza negli audit.
  3. Pianifica ricerche storiche automatizzate con cadenza settimanale o mensile per il reporting di conformità.

Fase 2: scegliere l’interfaccia giusta per revisione e convalida

È altrettanto importante scegliere l’interfaccia giusta per esaminare i risultati del message trace di Microsoft, così da garantire efficienza e precisione. PowerShell offre automazione e maggiore controllo, mentre i portali di Microsoft 365 permettono un accesso visivo rapido e manuale.

  • Usa il portale di Microsoft Defender e l’interfaccia di amministrazione di Exchange quando devi:
    • Verificare messaggi specifici
    • Confermare i risultati ottenuti con PowerShell
    • Visualizzare lo stato di recapito
    • Filtrare le azioni
    • Controllare i dettagli della cronologia senza eseguire comandi.
  • Usa PowerShell come metodo di riferimento per esportare, filtrare e registrare le tracce. Garantisce:
    • Coerenza tra le diverse analisi
    • Automazione ripetibile per la governance
    • Dati completi per la documentazione di conformità

Fase 3: esportare, normalizzare e arricchire

Il passaggio successivo è preparare i dati del message trace per l’analisi e la conformità. Gli output grezzi di PowerShell sono utili, ma conviene normalizzarli e arricchirli per rendere i report più facili da interpretare e da difendere durante gli audit.

  1. Salva i risultati delle tracce in formato CSV per facilitarne la revisione, l’ordinamento e la condivisione all’interno dei team operativi. Puoi anche usare esportazioni JSON per fornire input flessibili a dashboard, pipeline di dati o sistemi SIEM.
  2. Aumenta l’utilità dei dati ricavando nuovi campi (ad esempio TimeSpanMinutes e DeliveryOutcome) per individuare rapidamente tendenze e problemi di prestazioni.
  3. Documenta sempre quali parametri e filtri sono stati applicati, quale versione dello script ha generato il report e quanti record sono stati restituiti: otterrai un audit trail più trasparente per la convalida e la riproduzione successive.

Fase 4: automatizzare con un’autenticazione sicura

Quando raccogli evidenze su molti tenant, automatizzare il message trace aiuta a garantire coerenza e verificabilità. Concentrati su un’autenticazione sicura e non interattiva, su un’esecuzione resiliente e su una registrazione chiara delle esecuzioni, così da ottenere risultati affidabili e ripetibili.

  1. Per i processi non interattivi, usa l’autenticazione app-only basata su certificato per evitare password utente memorizzate e richieste MFA, e assegna solo i ruoli Exchange minimi necessari.
  2. Ruota i certificati, limita l’accesso alle chiavi private e monitora le scadenze per mantenere le pianificazioni attive in sicurezza.
  3. Implementa una logica di retry per le condizioni transitorie note (ad esempio interruzioni di rete o throttling del servizio) per evitare che attività di lunga durata falliscano per un singolo intoppo. Prevedi un comportamento di salto/continuazione controllato e messaggi di errore chiari per agevolare l’analisi a posteriori.
  4. Pianifica tracce live quotidiane per ottenere informazioni immediate e ricerche storiche settimanali per una copertura più ampia, quindi registra in una posizione centralizzata orari di inizio e fine, fuso orario, parametri, conteggi degli elementi ed errori. Usa nomi di file coerenti e imposta avvisi sulle anomalie (ad esempio zero risultati o tassi di errore elevati) per individuare e risolvere i problemi in modo proattivo.

Fase 5: rendere operativo il tracciamento per indagini e audit

Infine, devi rendere operativo il message trace affinché le singole esecuzioni risultino utili per indagini, audit e governance. Standardizza le modalità di archiviazione, riferimento e correlazione dei risultati, così da costruire un registro difendibile dei controlli sul flusso di posta e delle azioni di risposta agli incidenti.

  1. Allega le esportazioni del message trace direttamente ai ticket degli incidenti, alle cronologie dei casi o ai sistemi di documentazione, per creare una chiara catena di evidenze che mostri quando i messaggi sono stati inviati, quale percorso hanno seguito e perché si sono verificati determinati esiti di recapito.
  2. Conserva ogni mese campioni di tracce rappresentativi per verificare che i controlli di sicurezza, filtraggio e routing funzionino come previsto. Questi campioni archiviati forniscono anche una prova misurabile dello stato di salute operativo e dell’applicazione delle policy nel tempo.
  3. Confronta le anomalie del message trace con le modifiche ai ruoli amministrativi, alle licenze utente o alle regole delle cassette postali per rilevare configuration drift, usi impropri dei privilegi o eccezioni alle policy che potrebbero spiegare comportamenti anomali del flusso di posta o lacune di conformità.

Tabella riepilogativa delle best practice

Di seguito una tabella di best practice che garantiscono l’accuratezza e la sicurezza del message trace di Microsoft 365 a fini di audit.

PraticaScopoValore ottenuto
Cmdlet V2 per tracce liveInterfaccia attuale per la posta recenteRisposte più rapide con output coerente
Ricerca storicaSet di dati estesi e meno recentiCopertura completa senza timeout
Automazione app-onlyPianificazioni sicure e non interattiveEsecuzioni automatiche affidabili e conformi
Esportazioni normalizzateReporting standardizzato e strutturatoUnione dei dati e integrazione con le dashboard più semplici
Evidenze adatte agli auditEsecuzioni registrate e conteggi dei recordTracciabilità per indagini e verifiche

Perché generare report di message trace con PowerShell in Microsoft 365

Generare report di message trace di Microsoft 365 con PowerShell offre un metodo più rapido e ripetibile per analizzare il flusso di posta su più tenant. A differenza dell’interfaccia grafica dell’interfaccia di amministrazione di Exchange, PowerShell offre automazione e filtri più precisi, ideali per le indagini e per i report di conformità ricorrenti. Tra i vantaggi principali c’è la possibilità di:

  • Pianificare tracce ed esportazioni senza intervento manuale.
  • Gestire in modo efficiente grandi set di dati e intervalli di date estesi.
  • Applicare filtri precisi per mittente, destinatario o stato.
  • Registrare parametri, marche temporali e risultati per garantire la tracciabilità.
  • Inviare i report a strumenti di monitoraggio o dashboard di governance.

Esempio di punto di contatto con l’automazione

Gli MSP possono sfruttare l’automazione per integrare il message trace nelle attività quotidiane. In questo modo si garantisce una raccolta coerente delle evidenze e informazioni tempestive senza lavoro manuale. Ecco un esempio di flusso di lavoro per un processo PowerShell pianificato che semplifica tracciamento, reporting e documentazione:

  • Processo di traccia live quotidiana: esegue Get-MessageTraceV2 ogni 24 ore per acquisire l’attività di recapito recente.
  • Arricchimento dei dettagli: usa Get-MessageTraceDetailV2 per aggiungere i dati hop per hop di ogni messaggio.
  • Esportazione strutturata: scrive i risultati in un file CSV etichettato con marche temporali e identificativi del tenant per un monitoraggio più semplice.
  • Esportazione storica settimanale: esegue Start-HistoricalSearch una volta alla settimana per generare un set di dati di 10 giorni e consentire analisi più ampie.
  • Registrazione delle esecuzioni: annota orari di inizio e fine, conteggi degli elementi, durata e parametri di filtro a fini di audit.
  • Reporting automatizzato: pubblica un riepilogo sintetico dei risultati nello spazio di documentazione o monitoraggio per una visibilità immediata.

Integrazione con NinjaOne

NinjaOne può essere integrato nel message trace di Microsoft 365 per aiutare gli MSP ad automatizzare diverse attività all’interno della loro piattaforma di gestione. Questo semplifica i flussi di lavoro di conformità e rafforza la visibilità.

Attività di integrazioneScopoValore ottenuto
Distribuire e pianificare scriptAutomatizzare i processi PowerShell di message trace dalla console NinjaOneGarantisce una generazione dei report coerente e automatica per tutti i clienti
Archiviare le credenziali in modo sicuroMantenere criptate le credenziali amministrative o dell’app nell’archivio credenziali di NinjaOneProtegge i dati di accesso sensibili e supporta la conformità
Allegare esportazioni e logCaricare i CSV e i log delle esecuzioni nella documentazione del clienteCentralizza le evidenze per indagini e audit
Riepilogare le metriche chiaveMostrare i totali giornalieri e gli stati dei messaggi più rilevanti in dashboard o reportOffre una visione operativa immediata e supporta le discussioni nelle business review trimestrali

Garantire una conformità affidabile con il message trace gestito tramite PowerShell

Amministratori e MSP possono ottenere rapidità e precisione nelle indagini sul recapito delle email generando i report di message trace di Microsoft 365 con PowerShell. Questo approccio consente un controllo preciso, l’automazione e un reporting più coerente, semplificando l’analisi dei problemi, il mantenimento della conformità e la documentazione dello stato di recapito. Unendo l’automazione ai passaggi descritti in questo articolo, puoi fare in modo che ogni esecuzione di traccia contribuisca a trasparenza e responsabilità.

Argomenti correlati:

FAQs

Microsoft 365 conserva i dati del message trace fino a 10 giorni per le tracce live e 90 giorni per le ricerche storiche. I dati dei messaggi più vecchi sono accessibili solo se sono stati esportati e archiviati manualmente durante il corrispondente periodo di conservazione.

Get-MessageTraceV2 si usa per le tracce dei messaggi recenti, entro gli ultimi 10 giorni, mentre Start-HistoricalSearch recupera set di dati più ampi o meno recenti, fino a 90 giorni. La ricerca storica viene eseguita in modo asincrono e produce un file CSV scaricabile.

Il message trace aiuta a identificare i percorsi di recapito e le azioni di filtraggio di sicurezza, rivelando se un messaggio è stato contrassegnato come spam, spoofing o phishing. Un’analisi di sicurezza più approfondita va però affiancata a Defender for Office 365 o a strumenti di threat investigation.

PowerShell consente una registrazione coerente, l’aggiunta di marche temporali e la conservazione delle evidenze durante il message trace. In questo modo ogni report può essere riprodotto, verificato e allegato alla documentazione di audit per le verifiche di conformità.

Gli amministratori incontrano spesso problemi di autorizzazioni, limiti di throttling o sessioni scadute. Si possono prevenire usando l’autenticazione app-only, implementando una logica di retry per gli errori transitori e verificando che l’accesso basato sui ruoli sia configurato correttamente.

Si consigliano tracce live quotidiane e ricerche storiche settimanali o mensili per un monitoraggio continuo. Questo equilibrio garantisce il rilevamento tempestivo dei problemi di recapito e una raccolta coerente delle evidenze per le verifiche di conformità e operative.

Ti potrebbe interessare anche

Pronto a semplificare le parti più complesse dell'IT?