Rastreando e-mails no Exchange Online com Powershell

Olá a todos!

Nesse post vou explicar como rastrear e-mails enviados e recebidos no Exchange Online utilizando o Powershell.

Para isso vamos utilizar o cmdlet Get-MessageTrace.

Alguns pontos a serem observados:

  • O Get-MessageTrace irá retornar dados dos últimos 10 dias
  • Se utilizarmos os parâmetros para retornar dados acima de 10 dias, será retornado um erro 
  • Dados acima de 10 dias, devemos utilizar o Start-HistoricalSearch e o Get-HistoricalSearch (assunto para outro post)
  • Se não passarmos nenhum parâmetro, dados das ultimas 48 horas serão retornados

Vamos aos exemplos:

Obtendo todos os e-mails enviados e recebidos em um determinado período:

PS C:\> Get-MessageTrace -StartDate 05/01/2022 -EndDate 05/03/2022


 



Especificando um Sender:

Get-MessageTrace -StartDate 05/01/2022 -EndDate 05/03/2022 -SenderAddress breno@uptocloud.com



 

 

Especificando um Sender e um Recipient:

PS C:\> Get-MessageTrace -StartDate 05/01/2022 -EndDate 05/03/2022 -SenderAddress breno@uptocloud.com -RecipientAddress test@abcde.com.br




 

Para filtrar pelo status da entrega, adicione o parâmetro -Status <opções>
Opções: Failed, Pending, Delivered, Expanded, Quarantined, FilteredAsSpam

Filtrando por palavras específicas:

No exemplo abaixo filtramos:

- por um determinado período
- o endereço do sender contém a palavra 'dba'
- o subject contém a palavra 'Alerta'

PS C:\> Get-MessageTrace -StartDate 05/01/2022 -EndDate 05/03/2022 |  Where {$_.SenderAddress -like '*dba*' -and $_.Subject -like '*Alerta*'}




Exportando o resultado

PS C:\> Get-MessageTrace -StartDate 05/01/2022 -EndDate 05/03/2022 |  Where {$_.SenderAddress -like '*dba*' -and $_.Subject -like '*Alerta*'} |  Export-Csv -NoTypeInformation  -Path c:\temp\file.csv

 

Por hoje é tudo.

Breno Padovan


ADConnect - Dasabilitando / habilitando a prevenção de deleção acidental

Olá a todos!
O ADConnect quando instalado tem por default configurado para impedir um export com mais de 500 deletes.
Esse recurso foi projetado para proteger de alterações que afetariam muitos objetos.

Se houver muitas exclusões acima desse valor a exportação não será concluída e será exibido o status abaixo:







 

Verificar o limite atual de exclusão

Para verificar o limite atual de exclusão use o comando Get-ADSyncExportDeletionThreshold






 

Desabilitar o limite de exclusão

Utilize o seguinte comando Disable-ADSyncExportDeletionThreshold


 





Habilitando o limite de exclusão

Para habilitar novamente o limite de exclusão, use: Enable-ADSyncExportDeletionThreshold -DeletionThreshold 500
Altere o valor de 500 para o valor que julgar necessário .

 





Abraços a todos,
Breno Padovan

Exchange Online: Script Powershell para exportar os membros de todos os grupos de distribuição

Olá a todos!

Muitas vezes precisamos exportar os membros de todos os grupos de distribuição para alguma tipo de manutenção, consulta, etc...

O script que compartilho com vocês irá ajudar muito no dia a dia.
Ele ira exportar para um arquivo .csv separando em: Distribution Group, DisplayName, Distribution Group Email, Member DisplayName, Member Email, Member Type.

Segue o exemplo de um arquivo gerado:

Arquivo gerado









Segue script:  

Por hoje é isso.

Breno Padovan.