Ricerca nei log di verifica messaggi
Si applica a: Exchange Server 2013
In Microsoft Exchange Server 2013, il registro di verifica messaggi è un record dettagliato di tutta l'attività relativa ai messaggi trasferiti al/dal servizio di trasporto sui server Cassette postali, alle/dalle cassette postali sui server Cassette postali e ai/dai server Trasporto Edge.
È possibile utilizzare il cmdlet Get-MessageTrackingLog in Exchange Management Shell per cercare le voci nel registro di verifica messaggi tramite specifici criteri di ricerca.
Che cosa è necessario sapere prima di iniziare?
Tempo stimato per il completamento: 30 minuti
Per eseguire queste procedure, è necessario disporre delle autorizzazioni appropriate. Per sapere quali autorizzazioni sono necessarie, vedere "Tracciabilità messaggi" nell'argomento Autorizzazioni per il flusso di posta.
La ricerca nei log di rilevamento dei messaggi richiede l'esecuzione del servizio Ricerca log di trasporto di Microsoft Exchange. Se si disabilita o si interrompe questo servizio, non è possibile effettuare ricerche nei registri di verifica messaggi o eseguire rapporti di recapito. L'arresto di questo servizio non influisce tuttavia sulle altre funzionalità di Exchange.
I nomi dei campi visualizzati dai risultati del cmdlet Get-MessageTrackingLog sono simili ai nomi di campo effettivi usati nei log di rilevamento dei messaggi. Le differenze principali sono:
I trattini vengono rimossi dai nomi dei campi. Ad esempio internal-message-id viene visualizzato come
InternalMessageId
.Il campo data-ora viene visualizzato come
Timestamp
.Il campo destinatario-indirizzo viene visualizzato come
Recipients
.Il campo sender-address viene visualizzato come
Sender
.
Nel campo date-time del registro di verifica messaggi le informazioni vengono archiviate nel formato ora UTC (Coordinated Universal Time). Tuttavia, è necessario immettere i criteri di ricerca data-ora per i parametri Start o End nel formato di data e ora a livello di area del computer in uso per eseguire la ricerca.
Non è possibile copiare i file di registro di verifica messaggi da un altro server di Exchange ed eseguire quindi una ricerca utilizzando il cdmlet Get-MessageTrackingLog. Inoltre, se si salva manualmente un file di registro di verifica messaggi esistente, la modifica dell'indicatore di data e ora nel file interrompe la logica della query utilizzata da Exchange per effettuare le ricerche nei registri di verifica messaggi.
Il cmdlet Get-MessageTrackingLog di Exchange 2013 è in grado di eseguire ricerche nei log di rilevamento dei messaggi nei server Exchange 2007 ed Exchange 2010 nello stesso sito di Active Directory.
Per informazioni sui tasti di scelta rapida che è possibile utilizzare con le procedure in questo argomento, vedere Tasti di scelta rapida nell'interfaccia di amministrazione di Exchange.
Consiglio
Problemi? È possibile richiedere supporto nei forum di Exchange. Visitare i forum in Exchange Server.
Usare Shell per eseguire ricerche nei log di rilevamento dei messaggi
Per cercare specifici eventi nelle voci dei registri di verifica messaggi, utilizzare la seguente sintassi.
Get-MessageTrackingLog [-Server <ServerIdentity.] [-ResultSize <Integer> | Unlimited] [-Start <DateTime>] [-End <DateTime>] [-EventId <EventId>] [-InternalMessageId <InternalMessageId>] [-MessageId <MessageId>] [-MessageSubject <Subject>] [-Recipients <RecipientAddress1,RecipientAddress2...>] [-Reference <Reference>] [-Sender <SenderAddress>]
Per visualizzare le 1000 voci più recenti dei registri di verifica messaggi sul server, utilizzare il seguente comando:
Get-MessageTrackingLog
Questo esempio cerca nei log di rilevamento messaggi nel server locale tutte le voci dal 28/03/2013 dalle 8:00 alle 28/3/2013 17:00 per tutti gli eventi FAIL in cui il mittente del messaggio era pat@contoso.com.
Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2013 8:00AM" -End "3/28/2013 5:00PM" -EventId "Fail" -Sender "pat@contoso.com"
Usare shell per controllare l'output di una ricerca log di rilevamento messaggi
Utilizzare la seguente sintassi.
Get-MessageTrackingLog <SearchFilters> | <Format-Table | Format-List> [<FieldNames>] [<OutputFileOptions>]
In questo esempio viene eseguita la ricerca nei registri di verifica messaggi utilizzando i seguenti criteri di ricerca:
Restituire i risultati per i primi 1000 eventi di invio.
Visualizzare i risultati in formato elenco.
Visualizzare solo i nomi di campo che iniziano con
Send
oRecipient
.Scrivere l'output in un nuovo file denominato
D:\Send Search.txt
Get-MessageTrackingLog -EventId Send | Format-List Send*,Recipient* > "D:\Send Search.txt"
Utilizzare Shell per cercare nei log di rilevamento messaggi le voci dei messaggi in più server
In genere, il valore del campo di intestazione MessageID: resta costante mentre il messaggio viaggia nell'organizzazione di Exchange. La proprietà è denominata InternetMessageId nelle utilità di visualizzazione delle code e MessageId nelle utilità di visualizzazione dei registri di verifica messaggi. Dopo aver determinato il MessageID:
valore di un messaggio specifico, è possibile cercare informazioni su tale messaggio nei log di rilevamento dei messaggi in ogni server Cassette postali dell'organizzazione di Exchange.
Per cercare un messaggio specifico in tutti i server Cassette postali in tutte le voci del log di rilevamento dei messaggi, usare la sintassi seguente.
Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId <MessageID> | Select-Object <CommaSeparatedFieldNames> | Sort-Object -Property <FieldName>
In questo esempio vengono cercati i log di rilevamento dei messaggi in tutti i server Cassette postali di Exchange 2013 usando i criteri di ricerca seguenti:
Trovare tutte le voci correlate a un messaggio con messageID: valore .
<ba18339e-8151-4ff3-aeea-87ccf5fc9796@mailbox01.contoso.com>
Si noti che è possibile omettere i caratteri parentesi angolari (<
>
). In caso contrario, è necessario racchiudere l'intero valore di MessageID: tra virgolette.Per ogni voce, visualizzare i campi date-time, server-hostname, client-hostname, source, event-id e recipient-address.
Ordinare i risultati per campo date-time.
Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId ba18339e-8151-4ff3-aeea-87ccf5fc9796@mailbox01.contoso.com | Select-Object Timestamp,ServerHostname,ClientHostname,Source,EventId,Recipients | Sort-Object -Property Timestamp
Utilizzo di EAC per eseguire ricerche nei registri di verifica messaggi
È possibile utilizzare la funzionalità Rapporti di recapito per gli amministratori nell'Interfaccia di amministrazione di Exchange (EAC) per cercare nei registri di verifica messaggi le informazioni sui messaggi inviati o ricevuti da una specifica cassetta postale dell'organizzazione. Per altre informazioni, vedere Tenere traccia dei messaggi con i report di recapito.