Criando Relatórios do Active Directory Exchange com PowerShell

Crie relatórios do Exchange do Active Directory com PowerShell. Microsoft Exchange é um popular servidor de email usado por empresas e organizações em todo o mundo. Um dos principais recursos do Exchange é a capacidade de gerar relatórios sobre vários aspectos do servidor e seu uso. Esses relatórios fornecem informações valiosas sobre o desempenho e a saúde do servidor Exchange, bem como os padrões de uso de seus usuários.

Este artigo explora como gerar esses relatórios usando PowerShell, uma poderosa linguagem de script de linha de comando. Analisamos alguns tipos comuns de relatórios, os cmdlets do PowerShell usados para criá-los e algumas melhores práticas para trabalhar com PowerShell e Exchange. Devemos entender como gerar e trabalhar com relatórios do Exchange no PowerShell até o final deste artigo.

Vamos começar com a criação de relatórios do Exchange do Active Directory com PowerShell.Leia também Crie relatórios de OU do Active Directory com PowerShellCrie relatórios do Exchange do Active Directory com PowerShell

Crie relatórios do Active Directory Exchange com o PowerShell

Pré-requisitos

Para executar o PowerShell do Exchange comandos, precisamos atender aos seguintes pré-requisitos:

  1. Devemos ter as permissões apropriadas para executar comandos do PowerShell no servidor do Exchange. Acessar essas permissões geralmente significa ser membro do Gerenciamento da Organização do Exchange grupo ou ter papéis e permissões adequados atribuídos.
  2. Nós devemos ter o Exchange Management Shell instalado em nosso computador. O Exchange Management Shell é um módulo PowerShell com cmdlets projetados especificamente para gerenciar servidores Exchange. Geralmente, o Exchange Management Shell é construído dentro de um Windows Server com serviços Exchange.
  3. Suponha que queiramos estabelecer uma sessão remota do PowerShell session com o servidor Exchange. Isso pode ser feito usando o Connect-ExchangeServer cmdlet, que nos permite nos conectar ao servidor usando nossas credenciais do Exchange.
  4. Alternativamente, importamos o módulo Exchange Management Shell em nossa sessão do PowerShell. Importamos o módulo usando o Import-Module cmdlet, seguido do nome do módulo.
Import-Module ExchangeManagementShell

Depois de cumprir esses pré-requisitos, devemos estar prontos para executar comandos do Exchange PowerShell e gerar relatórios. Na seção a seguir do artigo, listaremos várias maneiras de auditar nosso ambiente do Microsoft Exchange.

Usando os Comandos Get Mail no PowerShell

O PowerShell Get-Mail cmdlet é uma ferramenta poderosa para gerenciar e trabalhar com mensagens de e-mail no Microsoft Exchange. Permite-nos recuperar mensagens de e-mail específicas ou grupos de notificações com base em vários critérios, como remetente, destinatário, assunto ou intervalo de datas. Além disso, podemos usar o Get-Mail cmdlet para visualizar os detalhes de mensagens individuais ou para exportá-las para um arquivo para análise adicional.

Aqui estão alguns exemplos dos comandos Get-Mail.

Gerando um Relatório de Tráfego de E-mail

Em suma, os relatórios de tráfego de e-mail gerados pelo comando Get-MailTrafficSummaryReport nos ajudam a analisar o tráfego de e-mail de uma organização, fornecendo informações como o número de e-mails enviados e recebidos, o número de spams recebidos e enviados, malware, e-mails de suplant

Get-MailTrafficSummaryReport

O comando acima recupera o tráfego de e-mail dos últimos sete (7) dias por padrão. No entanto, podemos recuperar o máximo de relatório de estatísticas de e-mail dos últimos 90 dias usando os atributos -StartDate e -EndDate. Aqui estão alguns exemplos:

Relatório de Tráfego de E-mail Entrada e Saída

Execute o cmdlet com o Direction parâmetro para obter o tráfego de e-mail de entrada e saída separadamente:

Get-MailTrafficSummaryReport –Direction Inbound –StartDate 6/13/22 -EndDate 6/15/22

O trecho acima recupera as estatísticas de tráfego de e-mail de entrada de 13 de junho de 2022 a 20 de junho de 2022.

Podemos fazer o mesmo se estivermos visualizando o tráfego de saída:

Get-MailTrafficSummaryReport –Direction Outbound

De acordo com isso, podemos usar os valores do parâmetro -EventType para determinar o que aconteceu com as mensagens depois que o serviço as filtrou:

Get-MailTrafficSummaryReport –Direction Inbound –EventType GoodMail –StartDate 7/1/22 -EndDate 7/31/22

Para saber sobre mensagens marcadas como falsificadas por software de anti-falsificação:

Get-MailTrafficSummaryReport –EventType SpoofMail

Observe que a saída do comando dependerá da configuração específica do seu Exchange Server e do tráfego de e-mail durante o período especificado.

Relatório de E-mails Enviados e Recebidos

Além disso, os administradores geralmente desejam saber quantos e-mails os usuários enviam e recebem. Podemos usar o cmdlet Get-MailTrafficTopReport para visualizar essas estatísticas de e-mail. O cmdlet abaixo exibe a contagem de e-mails enviados e recebidos por usuários nos últimos 7 dias:

Get-MailTrafficTopReport -EventType TopMailUser

Visualize a quantidade de e-mails que os usuários recebem durante o período especificadoperiodo.

Get-MailTrafficTopReport -EventType TopMailUser –Direction Inbound –StartDate 7/15/22 -EndDate 7/20/22

Relatório de Status do Fluxo de Correio do Office 365

Antes de usar este comando, verifique se você está atualmente autenticado com um servidor híbrido integrado ao Office 365. Alternativamente, você pode se conectar e autenticar diretamente ao Office 365 com o seguinte comando:

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUrl https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection

O relatório de status do fluxo de emails gerado pelo comando Get-MailFlowStatusReport exibe informações sobre emails de entrada e saída bloqueados pela proteção de borda:

Get-MailFlowStatusReport | ft Date, EventType, MessageCount

O cmdlet acima retorna o número de mensagens para um intervalo de datas, organizado pela disposição final da mensagem. Por padrão, o comando exibe dados dos últimos sete dias. No entanto, obtemos um relatório de fluxo de emails por até noventa dias, especificando o -StartDate e o -EndDate.

Gerando um Relatório de Proteção de Email

Acima de tudo, os relatórios de Proteção de Email nos ajudam a identificar spam e malware pela Exchange Online Protection (EOP), bem como emails que correspondem a regras de fluxo de emails, regras DLP e outros critérios.

Relatórios de Spam do Office 365

No total, o comando Get-MailDetailSpamReport exibe informações sobre mensagens de spam enviadas e recebidas pela nossa organização. O cmdlet exibe uma lista de mensagens de spam detectadas nos últimos dez (10) dias.

Portanto, o Microsoft 365 rejeita ou marca e-mails enviados da nossa organização como spam em alguns casos. Execute o seguinte cmdlet para identificar esses e-mails:

Get-MailDetailSpamReport –Direction Outbound

Além disso, com filtros anti-spam, às vezes, classificam e-mails de entrada bons como spam. O administrador pode white list um domínio ou endereço específico verificando esses e-mails. Para visualizar mensagens de spam de entrada:

Get-MailDetailsSpamReport –Direction Inbound

Para visualizar spam enviado por um usuário específico em um período especificado usando os parâmetros -StartDate e -EndDate:

Get-MailDetailsSpamReport –SenderAddress marion@infrasos.com -StartDate 7/15/22 -EndDate 7/20/22

Execute o cmdlet com RecipientAddress em vez de SenderAddress para visualizar spams recebidos por um usuário.

Relatórios de Malware do Exchange Online

Em seguida, o cmdlet Get-MailDetailATPReport auxilia na identificação de e-mails contendo malware. Execute o cmdlet para ver todas as malwares enviadas e recebidas nos últimos dez (10) dias.

Para visualizar malware enviado por nossa organização, podemos usar o trecho abaixo:

Get-MailDetailATPReport –Direction Outbound

Além disso, também listamos e-mails de malware detectados recebidos por nossa organização se usarmos a direção Inbound em vez disso:

Get-MailDetailATPReport –Direction Inbound

Portanto, para visualizar malware enviado por usuários específicos , use o parâmetro -RecipientAddress:

Get-MailDetailATPReport –RecipientAddress marion@infrasos.com

Identificando a Regra de Transporte

O comando PowerShell Get-MailDetailTranportRuleReport exibe informações sobre mensagens que atendem aos critérios especificados por quaisquer regras de transporte. O comando mostra a regra de transporte aplicada e os detalhes do e-mail dos últimos dez (10) dias. 

O exemplo abaixo recupera todas as mensagens enviadas por [email protected] que atenderam à condição definida pela regra de transporte entre 15 de julho de 2021 e 20 de julho de 2022:

Get-MailDetailTransportRuleReport -TransportRule r1 –StartDate 7/15/22 -EndDate 7/20/22 -SenderAddress marion@infrasos.com

A saída abaixo é um exemplo de relatório de regra de transporte gerado pelo comando anterior:

Por favor, execute o seguinte cmdlet para identificar e-mails e a regra de transporte do Exchange redirecionando a mensagem para outra endereço de e-mail:

Get-MailDetailTransportRuleReport –Action RedirectMessage

Monitorar E-mails Detectados por Política DLP

A maioria das organizações configura políticas de Prevenção de Perda de Dados (DLP) para proteger seus dados de e-mail confidenciais. Podemos usar o cmdlet Get-MailDetailDLPPolicyReport para identificar mensagens que correspondem aos critérios definidos pelas políticas DLP policies.

Get-MailDetailDLPPolicyReport

Obtenha o Relatório de Rastreamento de Mensagens do Microsoft 365

Para monitorar o fluxo de e-mail, a maioria dos administradores prefere o rastreamento de mensagens. O rastreamento de mensagens fornece aos administradores informações detalhadas sobre mensagens enviadas, recebidas, purgadas e excluídas. Entre os detalhes estão:

  • Endereço de remetente 
  • Endereço de destinatário 
  • Data de envio/recebimento 
  • Assunto do e-mail 
  • Status de entrega do e-mail 
  • Tamanho do email 
  • ID de rastreamento da mensagem, etc. 
  • Endereço IP de origem

Para obter o relatório de rastreamento, podemos executar o comando Get-MessageTrace. Por padrão, o cmdlet recupera os dados das últimas 48 horas. Podemos recuperar os dados dos últimos dez (10) dias usando os parâmetros –StartDate e –EndDate. Podemos usar os cmdlets Start-HistoricalSearch e Get-HistoricalSearch para pesquisar dados de mensagens por mais de dez dias.

Basicamente, o exemplo abaixo recupera informações de rastreamento para mensagens enviadas por um usuário específico durante o período especificado:

Get-MessageTrace –SenderAddress marion@infrasos.com -StartDate 7/25/22 -EndDate 7/30/22

Para exportar o relatório de rastreamento de mensagens para um arquivo CSV:

Get-MessageTrace | Export-CSV  -NoTypeInformation

Podemos enviar a saída para a visualização em grade se quisermos filtrar os detalhes do rastreamento de mensagens:

Get-MessageTrace | Out-GridView

O comando acima nos permite filtrar ou reduzir os detalhes do rastreamento de mensagens, como

  • Mensagens de rastreamento por assunto,
  • Os estados de entrega de mensagens incluem entregue, falhou, pendente, expandido, em quarentena, filtrado como spam e desconhecido

Obrigado por ler Crie relatórios do Active Directory Exchange com o PowerShell. Vamos concluir este artigo agora.

Conclusão da criação de relatórios do Active Directory Exchange com o PowerShell

Em conclusão, o Microsoft Exchange fornece uma riqueza de informações e insights sobre o desempenho e uso do nosso servidor de e-mail. Ao gerar relatórios usando o PowerShell, acessamos essas informações para melhorar a saúde e eficiência do seu servidor Exchange.

Seja como administradores de sistemas ou usuários, entender como gerar e trabalhar com relatórios do Exchange no PowerShell pode ser uma habilidade valiosa. Seguindo os exemplos e melhores práticas descritos neste artigo, estaremos bem encaminhados para dominar essa poderosa ferramenta.

Source:
https://infrasos.com/create-active-directory-exchange-reports-with-powershell/