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.
- 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.
- Usa
Get-MessageTraceV2con 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. - 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.
- 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.
- Usa
Start-HistoricalSearchper 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. - 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.
- 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.
- 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.
- Aumenta l’utilità dei dati ricavando nuovi campi (ad esempio
TimeSpanMinuteseDeliveryOutcome) per individuare rapidamente tendenze e problemi di prestazioni. - 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.
- 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.
- Ruota i certificati, limita l’accesso alle chiavi private e monitora le scadenze per mantenere le pianificazioni attive in sicurezza.
- 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.
- 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.
- 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.
- 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.
- 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.
| Pratica | Scopo | Valore ottenuto |
| Cmdlet V2 per tracce live | Interfaccia attuale per la posta recente | Risposte più rapide con output coerente |
| Ricerca storica | Set di dati estesi e meno recenti | Copertura completa senza timeout |
| Automazione app-only | Pianificazioni sicure e non interattive | Esecuzioni automatiche affidabili e conformi |
| Esportazioni normalizzate | Reporting standardizzato e strutturato | Unione dei dati e integrazione con le dashboard più semplici |
| Evidenze adatte agli audit | Esecuzioni registrate e conteggi dei record | Tracciabilità 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-MessageTraceV2ogni 24 ore per acquisire l’attività di recapito recente. - Arricchimento dei dettagli: usa
Get-MessageTraceDetailV2per 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-HistoricalSearchuna 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 integrazione | Scopo | Valore ottenuto |
| Distribuire e pianificare script | Automatizzare i processi PowerShell di message trace dalla console NinjaOne | Garantisce una generazione dei report coerente e automatica per tutti i clienti |
| Archiviare le credenziali in modo sicuro | Mantenere criptate le credenziali amministrative o dell’app nell’archivio credenziali di NinjaOne | Protegge i dati di accesso sensibili e supporta la conformità |
| Allegare esportazioni e log | Caricare i CSV e i log delle esecuzioni nella documentazione del cliente | Centralizza le evidenze per indagini e audit |
| Riepilogare le metriche chiave | Mostrare i totali giornalieri e gli stati dei messaggi più rilevanti in dashboard o report | Offre 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:
- Come eseguire il backup di Microsoft 365 Exchange Online
- Come migrare le cassette postali di Exchange Online senza tempi di inattività
- Integrazione con Microsoft 365
- Come prepararsi a un audit di sicurezza di Microsoft 365 su più tenant
- Come automatizzare le notifiche di modifica dei ruoli in Microsoft 365 per il controllo amministrativo
