A postagem abaixo foi promovida a partir do rascunho devido a um compromisso recente do cliente. Os administradores do Exchange estão cada vez mais acostumados com as ferramentas de acompanhamento de mensagens que foram enviadas com os builds anteriores do Exchange. Isto é completamente compreensível uma vez que eles são obrigados a investigar e resolver inúmeros problemas. Pode haver uma questão de se Steve na contabilidade recebeu esse e-mail na semana passada, ou porque as mensagens de Anne em vendas estão presas em uma fila?

Nos últimos 10 anos, aproximadamente, a ferramenta de rastreamento de mensagens do Exchange tem sido a arma de escolha de muitos administradores quando se trata de solucionar tais problemas. No entanto, isso não existe no Exchange 2013 ou 2016. Em vez disso, podemos usar relatórios de entrega ou PowerShell para consultar os logs de rastreamento de mensagens.

Scroll to the bottom para uma dica profissional sobre como adicionar uma GUI de volta ao rastreamento de mensagens.

Na forma mais simples, podemos usar o Get-MessageTrackingLog para pesquisar e retornar todos os hits a partir do servidor especificado. Em qualquer grande organização, a rolagem através dos screeds de saída é uma perda de tempo e não é eficiente. Precisamos de aplicar alguma lógica de filtragem.

Procurar por remetente

 Get-MessageTrackingLog -Sender [email protected]

Procurar por destinatário

 Get-MessageTrackingLog -Recipient [email protected]

Procurar por domínio destinatário

Nota que também é possível usar um wildcard na busca para incluir um domínio inteiro:

 Get-MessageTrackingLog -Recipients *@hotmail.co

Alternativamente podemos usar uma declaração como a que se segue, embora isto normalmente seja mais lento

 Get-MessageTrackingLog | Where {$_.Recipients -like "*tailspintoys.com"}

Procurar por Assunto

 Get-MessageTrackingLog -MessageSubject "I Am Zorg"

Procurar por MessageID

 Get-MessageTrackingLog -MessageId <MessageID>

Procurar por Janela de Tempo

 Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "mailto:[email protected]"

Procurar Por mensagem EventID

 Get-MessageTrackingLog -ResultSize Unlimited -EventId "Fail"

Multiple Example – Time Window & EventID & Sender

Os vários elementos podem ser combinados para filtrar resultados indesejados.

 Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "[email protected]"

Recuperar todas as mensagens na última hora

Nota que AddHours é usado com um valor negativo para mover a janela de pesquisa para trás uma hora.

 Get-MessageTrackingLog -Sender [email protected] -Server (Get-Date).AddHours(-1)

Exportar para CSV

Se você for um cinturão negro do Excel, é possível exportar os resultados da pesquisa para um arquivo CSV para análise posterior no Excel.

 Get-MessageTrackingLog | Export-CSV –path C:\temp\tracking.csv –NoTypeInformation
 Get-MessageTrackingLog | select @{Name="RecipientsXX";Expression={$_.Recipients}}

Tempo de execução das medidas

 Measure-Command {Get-TransportServer | Get-MessageTrackingLog -MessageSubject "zorg" -ResultSize unlimited}

Procurar GUI para Exchange 2013/2016

Como observado no início deste post, não há mais uma ferramenta de exploração de log de rastreamento de mensagens no Exchange 2013 ou 2016. O que podemos fazer é criar o comando de pesquisa desejado usando um dos exemplos acima e depois usar a funcionalidade nativa PowerShell para exibir os resultados em uma UI.

Este é o Out-GridView que tem estado presente no PowerShell por muitos, muitos, muitos anos.

Como um exemplo simples:

Get-MessageTrackingLog | Out-GridView

Exchange 2016 Get-MessageTrackingLog With Out-GridView

Articles

Deixe uma resposta

O seu endereço de email não será publicado.