Búsqueda de sitios web

Get-MessageTrackingLog: buscar registros de seguimiento de mensajes en Exchange Server


Puede usar el cmdlet Get-MessageTrackingLog en el Shell de administración de Exchange para analizar el flujo de correo, el análisis forense de mensajes y obtener información diferente sobre los mensajes enviados o recibidos por un buzón específico en su organización de correo electrónico. En este artículo, mostraré varios ejemplos de comandos de una sola línea de PowerShell que suelo usar para rastrear mensajes en Exchange Server 2016/2013/2010 y Office 365 (Exchange Online).

Permítame recordarle que los registros de transporte de Exchange se encuentran en el

%ExchangeInstallPath%TransportRoles\Logs\MessageTracking

carpeta. Y la forma más eficiente y flexible de analizar los registros de seguimiento de mensajes en Exchange es usar el cmdlet Get-MessageTrackingLog.

En primer lugar, considere los parámetros principales de Get-MessageTrackingLog que puede usar para filtrar eventos en los registros. Los siguientes parámetros de cmdlet se usan con mayor frecuencia:

Sender

- búsqueda por remitente;

Recipients

— búsqueda por destinatario;

Server

- buscar en el servidor de transporte específico;

Start “11/30/2019 08:00:00” -End “12/18/2019 21:00:00”

— buscar el período de tiempo específico;

MessageSubject

— buscar por asunto del mensaje;

EventID

- búsqueda por evento de intercambio (por regla general, se utilizan los siguientes códigos: RECIBIR, ENVIAR, FALLA, DSN, ENTREGAR, CORREO ERROR, RESOLVER, EXPANDIR, REDIRECCIONAR, TRANSFERIR, ENVIAR, MENSAJE ENVENENADO, APLAZAR);

messageID

- seguimiento por un ID de mensaje.

Si ejecuta el cmdlet Get-MessageTrackingLog sin ningún parámetro, se mostrarán todos los eventos de los registros de transporte de Exchange de los últimos 30 días. El cmdlet muestra solo los últimos 1000 eventos. Para eliminar esta restricción, utilice el

-ResultSize Unlimited

parámetro. (No se recomienda hacerlo sin algunos parámetros de filtro adicionales debido a la carga potencialmente alta en su servidor de transporte).

Puede mostrar la información sobre sus eventos de Exchange página por página usando este comando:

Get-MessageTrackingLog | Out-Host -Paging

Para mostrar los datos en formato de tabla y ajustar el ancho de columna, se utiliza el cmdlet Format-Table:

Get-MessageTrackingLog | Format-Table -AutoSize

Si se utilizan varios servidores de transporte de concentradores en su organización de Exchange, deberá especificar el nombre de un servidor para buscar como argumento del

-Server

parámetro O ejecute el comando de seguimiento de mensajes para cada uno de sus servidores Hub Transport con la tubería:

Get-TransportServer | Get-MessageTrackingLog

Vamos a mostrar todos los correos electrónicos de las últimas 24 horas (

(Get-Date).AddHours(-24)

), en el que se especifica un destinatario del dominio @gmail.com:

Get-MessageTrackingLog -Start (Get-Date).AddHours(-24) -ResultSize unlimited | where {[string]$_.recipients -like "*@gmail.com"}

Para mostrar todos los correos electrónicos enviados por un usuario específico a través de un servidor determinado en un período de tiempo determinado, use el siguiente comando (solo se mostrarán los campos de seguimiento específicos en el informe):

Get-MessageTrackingLog -ResultSize unlimited -Sender "cmansion@a-d.site” -server rome-hub-01 -Start "11/30/2019 06:00:00" -End "12/13/2019 22:00:00" |select-object Timestamp,Sender,Recipients,MessageSubject,EventId|ft

Busquemos todos los correos electrónicos enviados por un usuario a otro y exportemos los resultados de la búsqueda a un archivo CSV:

Get-MessageTrackingLog -Sender "cmansion@a-d.site" -Recipients "amorato@a-d.site" -ResultSize unlimited -server rome-hub-01| Select-Object Timestamp,Sender,{$_.recipients},MessageSubject | Export-Csv -Path "C:\Export\exchange\exchange_tracking_logs.csv" -Encoding Default -Delimiter ";"

Puede buscar por el asunto del mensaje. Para mostrar todos los correos electrónicos con la palabra "prueba" en el campo de asunto, ejecute el siguiente comando. (Para mostrar los resultados en una ventana gráfica separada como una tabla con las convenientes funciones de clasificación, filtrado y búsqueda, puede usar el cmdlet Out-gridview).

Get-MessageTrackingLog -MessageSubject "test" -ResultSize unlimited -server rome-hub-01| Select-Object Timestamp,Sender, {$_.recipients}, MessageSubject | out-gridview

Puede buscar por el ID de mensaje específico (puede obtenerlo del encabezado del mensaje en Outlook):

Get-MessageTrackingLog -messageID "41A4321C3543314FFFFF23122F2BDB7ABD00342@rome-hub-01.a-d.site" -ResultSize unlimited -server rome-hub-01| Select-Object Timestamp,Sender, {$_.recipients}, MessageSubject

Para contar la cantidad de mensajes de correo electrónico entrantes para el buzón específico durante los últimos 7 días, ejecute el siguiente comando:

(Get-MessageTrackingLog -EventID "RECEIVE" -Recipients "amorato@a-d.site" -ResultSize unlimited).Count

Puede mostrar las estadísticas de mensajes más interesantes. Por ejemplo, desea ver cuántos correos electrónicos de diferentes remitentes del

gmail.com

han sido recibidos por los usuarios de su empresa durante los últimos 5 días (mostraremos el número total de correos electrónicos enviados por cada remitente externo):

Get-MessageTrackingLog -EventId "Receive" -Start (Get-Date).AddDays(-5) -ResultSize Unlimited | Where-Object {$_.Sender -like "*@gmail.com"} | Group-Object Sender | Sort-Object Count -Descending | Format-Table *

Para buscar correos electrónicos almacenados en los buzones de correo de los usuarios de Exchange, use el cmdlet Search-Mailbox.

Office 365 le permite realizar búsquedas de registros de seguimiento de mensajes desde el Centro de administración de Exchange (EAC). Vaya a Flujo de correo -> Rastreo de mensajes. Rellene los campos de búsqueda. En realidad, esta es la interfaz web del cmdlet Get-MessageTrackingLog, que permite al usuario generar un comando de seguimiento de PowerShell en un formulario web simple.

Los métodos considerados anteriormente lo ayudarán a obtener estadísticas sobre los mensajes enviados y recibidos en su sistema Exchange y diagnosticar diferentes problemas de transporte de correo electrónico.

Artículos relacionados