Como pesquisar e-mails enviados no meu ambiente?
Olá pessoal,
No post de hoje vou explicar brevemente sobre como fazer uma pesquisa de uma mensagem que foi enviada no seu ambiente de Exchange. Para isso usaremos alguns comandos simples e bem interessantes. No caso, podemos fazer pesquisas utilizando palavras chaves no título usando o parâmetro “MessageSubject”, ou por data usando o “Start” e”End” para limitar a pesquisa, assim como vários outros que podem ser utilizados.
Get-MessageTrackingLog -MessageSubject "TextoBLABLABLA" -start 2018/01/01 | select timestamp, Sender, MessageSubject, {$_.Recipients}, TotalBytes, RecipientCount | Export-Csv c:\reports\ArquivoSaída.csv
Caso seu ambiente seja com vários datacenters, é possível perguntar para apenas alguns CAS/HUB servers. Para isso use o seguinte comando:
Get-TransportServer CAS-* | Get-MessageTrackingLog -MessageSubject "TextoBLABLABLA" -start 2015/11/01 | select timestamp, Sender, MessageSubject, {$_.Recipients}, TotalBytes, RecipientCount | Export-Csv c:\reports\ArquivoSaída.csv
Caso precise procurar pelo domínio e não apenas pelo endereço de um remetente/destinatário é preciso fazer um pouco diferente:
Get-TransportServer CAS-* | Get-MessageTrackingLog -ResultSize Unlimited -Start 2018/01/01 | where{$_.sender –like "*@dominio.com.br"} | select-object eventid, timestamp, sender, {$_.Recipients}, recipientcount, messagesubject | Export-Csv .log1-sender.csv
Espero que tenha ajudado!
Enjoy!
PS.: CAS-* deve ser substítuido pelo nome do seu servidor CAS