Crear informes de Active Directory Exchange con PowerShell. Microsoft Exchange es un popular software de servidor de correo electrónico utilizado por empresas y organizaciones en todo el mundo. Una de las características clave de Exchange es la capacidad de generar informes sobre diversos aspectos del servidor y su uso. Estos informes ofrecen información valiosa sobre el rendimiento y la salud del servidor de Exchange, así como los patrones de uso de sus usuarios.
Este artículo explora cómo generar estos informes utilizando PowerShell, un potente lenguaje de scripting de línea de comandos. Examinamos algunos tipos de informes comunes, los cmdlets de PowerShell utilizados para crearlos y algunas mejores prácticas para trabajar con PowerShell y Exchange. Deberíamos entender cómo generar y trabajar con informes de Exchange en PowerShell al final de este artículo.
¿Comenzamos con Crear informes de Active Directory Exchange con PowerShell.
Crear informes de Active Directory Exchange con PowerShell
También lea Implementar monitoreo de Azure AD
Requisitos previos
Para ejecutar comandos de PowerShell de Exchange, debemos cumplir con los siguientes requisitos previos:
- Debemos tener los permisos adecuados para ejecutar comandos de PowerShell en el servidor de Exchange. Acceder a estos permisos generalmente significa ser miembro del grupo Administración de la Organización de Exchange o ser asignado las roles y permisos adecuados.
- Debemos tener el Shell de Gestión de Exchange instalado en nuestra computadora. El Shell de Gestión de Exchange es un módulo de PowerShell con cmdlets diseñados específicamente para administrar servidores de Exchange. Comúnmente, el Shell de Gestión de Exchange se incluye en un servidor Windows con servicios de Exchange.
- Supongamos que queremos establecer una sesión remota de PowerShell con el servidor de Exchange. Esto se puede hacer utilizando el Connect-ExchangeServer cmdlet, que nos permite conectarnos al servidor utilizando nuestras credenciales de Exchange.
- Alternativamente, importamos el módulo de Shell de Gestión de Exchange en nuestra sesión de PowerShell. Importamos el módulo usando el Import-Module cmdlet, seguido del nombre del módulo.
Import-Module ExchangeManagementShell
Usando los comandos Get Mail en PowerShell
El cmdlet Get-Mail de PowerShell es una herramienta poderosa para administrar y trabajar con mensajes de correo electrónico en Microsoft Exchange. Nos permite recuperar mensajes de correo específicos o grupos de notificaciones basados en varios criterios, como remitente, destinatario, asunto o rango de fechas. Además, podemos utilizar el cmdlet Get-Mail para ver los detalles de mensajes individuales o para exportarlos a un archivo para un análisis más detallado.
Aquí hay algunos ejemplos de los comandos Get-Mail.
Generación de un Informe de Tráfico de Correo Electrónico
En general, los informes de tráfico de correo electrónico generados por el comando Get-MailTrafficSummaryReport nos ayudan a analizar el tráfico de correo electrónico de una organización al proporcionar información como el número de correos electrónicos enviados y recibidos, el número de spams recibidos y enviados, malware, correos electrónicos falsificados, y así sucesivamente.
Get-MailTrafficSummaryReport
El comando anterior recupera el tráfico de correo electrónico de los últimos siete (7) días por defecto. Sin embargo, podemos recuperar el máximo de los últimos 90 días de informe de estadísticas de correo electrónico utilizando los atributos -StartDate y -EndDate. Aquí hay algunos ejemplos:
Informe de Tráfico de Correo Electrónico Entrante y Saliente
Ejecutar el cmdlet con el –Direction parámetro para obtener el tráfico de correo electrónico entrante y saliente por separado:
Get-MailTrafficSummaryReport –Direction Inbound –StartDate 6/13/22 -EndDate 6/15/22
El fragmento anterior recupera las estadísticas de tráfico de correo entrante electrónico del 13 de junio de 2022 al 20 de junio de 2022.
Podemos hacer lo mismo si estamos viendo el tráfico saliente:
Get-MailTrafficSummaryReport –Direction Outbound
De manera correspondiente, podemos usar los valores del parámetro -EventType para determinar qué sucedió con los mensajes después de que el servicio los filtró:
Get-MailTrafficSummaryReport –Direction Inbound –EventType GoodMail –StartDate 7/1/22 -EndDate 7/31/22
Para informarse sobre los mensajes que fueron marcados como suplantación de identidad por el software anti suplantación de identidad:
Get-MailTrafficSummaryReport –EventType SpoofMail
Tenga en cuenta que la salida del comando dependerá de la configuración específica de su Exchange Server y del tráfico de correo durante el período especificado.
Reporte de Correo Electrónico Enviado y Recibido
Además, a los administradores a menudo les interesa saber cuántos correos electrónicos envían y reciben los usuarios. Podemos utilizar el cmdlet Get-MailTrafficTopReport para ver estas estadísticas de correo electrónico. El siguiente cmdlet muestra el recuento de correos electrónicos enviados y recibidos por los usuarios durante los últimos 7 días:
Get-MailTrafficTopReport -EventType TopMailUser
Ver el número de correos electrónicos que los usuarios reciben durante el período especificadoperiod.
Get-MailTrafficTopReport -EventType TopMailUser –Direction Inbound –StartDate 7/15/22 -EndDate 7/20/22
También lea Pruebe el Informe de Reporte de Office 365
Reporte de Estado de Flujo de Correo de Office 365
Antes de usar este comando, asegúrese de que actualmente está autenticado con un servidor híbrido fusionado con Office 365. Alternativamente, puede conectarse y autenticarse directamente en Office 365 con el siguiente comando:
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUrl https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
El informe de estado del flujo de correo generado por el comando Get-MailFlowStatusReport muestra información sobre los correos electrónicos entrantes y salientes bloqueados por la protección periférica:
Get-MailFlowStatusReport | ft Date, EventType, MessageCount
El cmdlet anterior devuelve el número de mensajes para un rango de fechas, organizado por la disposición final del mensaje. Por defecto, el comando muestra datos de los últimos siete días. Sin embargo, obtenemos un informe de flujo de correo report de hasta noventa días especificando el -StartDate y el -EndDate.
También lea Implementar Informes de Usuarios de Office 365
Generar un Informe de Protección de Correo Electrónico
Sobre todo, los informes de Protección de Correo Electrónico nos ayudan a identificar spam y malware por parte de Exchange Online Protection (EOP), así como correos electrónicos que coinciden con reglas de flujo de correo, reglas DLP y otros criterios.
Informes de Spam de Office 365
En conjunto, el comando Get-MailDetailSpamReport muestra información sobre los mensajes de spam enviados y recibidos por nuestra organización. El cmdlet muestra una lista de mensajes de spam detectados en los últimos diez (10) días.
Por lo tanto, Microsoft 365 rechaza o marca como spam algunos correos electrónicos enviados desde nuestra organización. Ejecute el siguiente cmdlet para identificar esos correos electrónicos:
Get-MailDetailSpamReport –Direction Outbound
Además, con los filtros anti-spam a veces se clasifican como spam buenos correos electrónicos entrantes. El administrador puede blanquear una lista un dominio o una dirección específica comprobando esos correos electrónicos. Para ver mensajes de spam entrantes:
Get-MailDetailsSpamReport –Direction Inbound
Para ver el spam enviado por un usuario específico durante un período especificado utilizando los parámetros -StartDate y -EndDate:
Get-MailDetailsSpamReport –SenderAddress marion@infrasos.com -StartDate 7/15/22 -EndDate 7/20/22
Ejecute el cmdlet con RecipientAddress en lugar de SenderAddress para ver los spams recibidos por un usuario.
Informes de malware de Exchange Online
A continuación, el cmdlet Get-MailDetailATPReport ayuda a identificar correos electrónicos que contienen malware. Ejecute el cmdlet para ver todas las malware enviadas y recibidas en los últimos diez (10) días.
Para ver malware enviado desde nuestra organización, podemos usar el siguiente fragmento a continuación:
Get-MailDetailATPReport –Direction Outbound
Además, también enumeramos correos electrónicos de malware detectados recibidos por nuestra organización si usamos la dirección Inbound en su lugar:
Get-MailDetailATPReport –Direction Inbound
Entonces, para ver malware enviado por usuarios específicos , use el parámetro -RecipientAddress:
Get-MailDetailATPReport –RecipientAddress marion@infrasos.com
Identificar la regla de transporte
El comando de PowerShell Get-MailDetailTransportRuleReport muestra información sobre los mensajes que cumplen con las condiciones especificadas por cualquier regla de transporte. El comando muestra la regla de transporte aplicada y los detalles del correo electrónico de los últimos diez (10) días.
El ejemplo a continuación recupera todos los mensajes enviados por [email protected] que cumplieron con la condición definida por la regla de transporte entre el 15 de julio de 2021 y el 20 de julio de 2022:
Get-MailDetailTransportRuleReport -TransportRule r1 –StartDate 7/15/22 -EndDate 7/20/22 -SenderAddress marion@infrasos.com
La salida a continuación es un ejemplo de un informe de regla de transporte generado por el comando anterior:
Por favor, ejecute el siguiente cmdlet para identificar los correos electrónicos y la regla de transporte de Exchange redirigiendo el mensaje a otra dirección de correo electrónico:
Get-MailDetailTransportRuleReport –Action RedirectMessage
Monitorizar correos electrónicos detectados por la política DLP
La mayoría de las organizaciones configuran políticas de Prevención de Pérdida de Datos (DLP) para proteger sus datos de correo electrónico confidenciales. Podemos utilizar el cmdlet Get-MailDetailDLPPolicyReport para identificar mensajes que coincidan con las condiciones definidas por las políticas DLP políticas.
Get-MailDetailDLPPolicyReport
También lea Uso de informes de contraseñas de Office 365
Obtener informe de rastreo de mensajes de Microsoft 365
Para monitorizar el flujo de correo electrónico, la mayoría de los administradores prefieren el seguimiento de mensajes. El seguimiento de mensajes proporciona a los administradores información detallada sobre los mensajes enviados, recibidos, purgados y eliminados. Entre los detalles se incluyen:
- Dirección del remitente
- Dirección del destinatario
- Fecha de envío/recepción
- Asunto de correo electrónico
- Estado de entrega de correo electrónico
- Tamaño del correo electrónico
- Identificador de seguimiento del mensaje, etc.
- Dirección IP de origen
Para obtener el informe de seguimiento, podemos ejecutar el comando Get-MessageTrace. De forma predeterminada, el cmdlet recupera las últimas 48 horas de datos. Podemos recuperar los datos de los últimos diez (10) días utilizando los parámetros –StartDate y –EndDate. Podemos utilizar los cmdlets Start-HistoricalSearch y Get-HistoricalSearch para buscar datos de mensajes durante más de diez días.
Básicamente, el ejemplo a continuación recupera información de seguimiento para los mensajes enviados por un usuario específico durante el período especificado:
Get-MessageTrace –SenderAddress marion@infrasos.com -StartDate 7/25/22 -EndDate 7/30/22
Para exportar el informe de seguimiento de mensajes a un archivo CSV:
Get-MessageTrace | Export-CSV -NoTypeInformation
Podemos enviar la salida a la vista de cuadrícula si queremos filtrar los detalles de seguimiento de mensajes:
Get-MessageTrace | Out-GridView
El comando anterior nos permite filtrar o reducir los detalles de seguimiento de mensajes, como
- Mensajes de seguimiento por asunto,
- Los estados de entrega de mensajes incluyen entregado, fallido, pendiente, expandido, en cuarentena, filtrado como spam y desconocido
Gracias por leer “Crear informes de Active Directory Exchange con PowerShell”. Concluiremos este artículo ahora.
Conclusión de “Crear informes de Active Directory Exchange con PowerShell”
En conclusión, Microsoft Exchange proporciona una gran cantidad de información y conocimientos sobre el rendimiento y el uso de nuestro servidor de correo electrónico. Al generar informes utilizando PowerShell, accedemos a esta información para mejorar la salud y eficiencia de nuestro servidor de Exchange.
Ya sea que seamos administradores de sistema o usuarios, comprender cómo generar y trabajar con informes de Exchange en PowerShell puede ser una habilidad valiosa. Siguiendo los ejemplos y las mejores prácticas descritas en este artículo, estaremos en buen camino para dominar esta poderosa herramienta.
Source:
https://infrasos.com/create-active-directory-exchange-reports-with-powershell/