El siguiente post fue promovido desde la papelera de borradores debido a un reciente compromiso con un cliente. Los administradores de Exchange se han acostumbrado a las herramientas de la interfaz de usuario de seguimiento de mensajes que se han enviado con las versiones anteriores de Exchange. Esto es completamente comprensible, ya que tienen que investigar y resolver numerosos problemas. Puede que se pregunte si Steve, de contabilidad, recibió ese correo electrónico la semana pasada, o por qué los mensajes de Anne, de ventas, están atascados en una cola… Durante los últimos 10 años, la herramienta de seguimiento de mensajes de Exchange ha sido el arma elegida por muchos administradores para solucionar estos problemas. Sin embargo, esto no existe en Exchange 2013 o 2016. En su lugar, podemos utilizar Delivery Reports o PowerShell para consultar los registros de seguimiento de mensajes.

Desplácese hasta el final para ver un consejo profesional sobre la adición de una interfaz gráfica de usuario de nuevo al seguimiento de mensajes.

En la forma más simple, podemos utilizar Get-MessageTrackingLog para buscar y devolver todos los éxitos del servidor especificado. En cualquier organización grande, desplazarse a través de las pantallas de salida es una pérdida de tiempo y no es eficiente. Necesitamos aplicar alguna lógica de filtrado.

Búsqueda por remitente

 Get-MessageTrackingLog -Sender [email protected]

Búsqueda por destinatario

 Get-MessageTrackingLog -Recipient [email protected]

Búsqueda por dominio del destinatario

Nótese que también es posible utilizar un comodín en la búsqueda para incluir un dominio completo:

 Get-MessageTrackingLog -Recipients *@hotmail.co

Alternativamente podríamos utilizar una sentencia where como la siguiente, aunque esto suele ser más lento

 Get-MessageTrackingLog | Where {$_.Recipients -like "*tailspintoys.com"}

Búsqueda por asunto

 Get-MessageTrackingLog -MessageSubject "I Am Zorg"

Búsqueda por MessageID

 Get-MessageTrackingLog -MessageId <MessageID>

Búsqueda por ventana de tiempo

 Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "mailto:[email protected]"

Búsqueda Por Mensaje EventID

 Get-MessageTrackingLog -ResultSize Unlimited -EventId "Fail"

Ejemplo múltiple – Ventana de tiempo & EventID & Remitente

Los distintos elementos pueden combinarse para filtrar resultados no deseados.

 Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "[email protected]"

Obtener todos los mensajes de la última hora

Nótese que AddHours se utiliza con un valor negativo para retroceder la ventana de búsqueda una hora.

 Get-MessageTrackingLog -Sender [email protected] -Server (Get-Date).AddHours(-1)

Exportar a CSV

Si se es cinturón negro de Excel, es posible exportar los resultados de la búsqueda a un archivo CSV para su posterior análisis en Excel.

 Get-MessageTrackingLog | Export-CSV –path C:\temp\tracking.csv –NoTypeInformation
 Get-MessageTrackingLog | select @{Name="RecipientsXX";Expression={$_.Recipients}}

Medir el tiempo de ejecución

 Measure-Command {Get-TransportServer | Get-MessageTrackingLog -MessageSubject "zorg" -ResultSize unlimited}

Guía de búsqueda para Exchange 2013/2016

Como se ha indicado al principio de este post ya no existe una herramienta de exploración de registros de seguimiento de mensajes en Exchange 2013 o 2016. Lo que podemos hacer es elaborar el comando de búsqueda deseado utilizando uno de los ejemplos anteriores y luego utilizar la funcionalidad nativa de PowerShell para mostrar los resultados en una UI.

Este es el Out-GridView que ha estado presente en PowerShell durante muchos, muchos, muchos años.

Como un simple ejemplo:

Get-MessageTrackingLog | Out-GridView

Exchange 2016 Get-MessageTrackingLog Con Out-GridView

Articles

Deja una respuesta

Tu dirección de correo electrónico no será publicada.