none
如何使用Get-MessageTrackingLog命令同时在多台服务器上查找邮件日志? RRS feed

  • 问题

  • Exchange 2016的送达报告只能查找组织内部的邮件传递情况,如果查找外部与内部之间的邮件日志只能用Get-MessageTrackingLog命令。

    但是在使用Get-MessageTrackingLog命令查找邮件传递日志时,通过-Server参数只能指定一台服务器,但是我们的环境里有20多台服务器,请问如何能同时在多台服务器上查找传递日志?

    2019年7月15日 9:32

答案

  • 您好,

    若要搜索多个服务器上的邮件跟踪日志条目,您可以使用以下语法:

    $Servers = Get-ExchangeServer;  $Servers | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId <MessageID>  | Select-Object <CommaSeparatedFieldNames>  | Sort-Object -Property <FieldName>

    详细信息可以参考: 使用 Exchange 命令行管理程序搜索多个服务器上的邮件跟踪日志条目

    希望上述信息对您有帮助。

    Perry Pan


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    • 已编辑 Perry-Pan 2019年7月16日 5:56
    • 已建议为答案 Perry-Pan 2019年7月17日 6:31
    • 已标记为答案 Link-Yuan 2019年7月22日 3:38
    2019年7月16日 5:55
  • 用这个指令也还是同样的报错,指令我是复制过去的,仅修改了邮箱地址。

    考虑到您的这个情况,建议您直接下载这个链接的脚本,运行下看下结果。

    如果依旧有报错的话,能否提供下您在EMS中的指令与报错的截图呢?我这边帮您检查下。

    Perry Pan


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    • 已编辑 Perry-Pan 2019年7月23日 6:39
    • 已标记为答案 Link-Yuan 2019年8月30日 3:22
    2019年7月23日 6:39

全部回复

  • 您好,

    若要搜索多个服务器上的邮件跟踪日志条目,您可以使用以下语法:

    $Servers = Get-ExchangeServer;  $Servers | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId <MessageID>  | Select-Object <CommaSeparatedFieldNames>  | Sort-Object -Property <FieldName>

    详细信息可以参考: 使用 Exchange 命令行管理程序搜索多个服务器上的邮件跟踪日志条目

    希望上述信息对您有帮助。

    Perry Pan


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    • 已编辑 Perry-Pan 2019年7月16日 5:56
    • 已建议为答案 Perry-Pan 2019年7月17日 6:31
    • 已标记为答案 Link-Yuan 2019年7月22日 3:38
    2019年7月16日 5:55
  • 您好 Yuan,

    请问上述信息是否解答了您的问题呢? 如果还有疑问,您可以随时回帖。

    如果信息有帮助的话,您也可以标记为答案,以便其他有类似问题的用户更快找到答案。

    祝您生活愉快!

    Perry Pan


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    2019年7月18日 5:15
  • $Servers = Get-ExchangeServer; $Servers | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -Sender xxx@xxx.com -Start "7/22/2019 0:01" -End "7/22/2019 23:59" | Select-Object | Sort-Object -Property date-time

    我执行完这个命令后报了大量以下类似的错误,区别就是不同的exchangeservers,是命令什么地方写错了吗?

    The input object cannot be bound to any parameters for the command either because the command does not take pipeline input or the input and its properties do not match any of the parameters that take pipeline
    input.
        + CategoryInfo          : InvalidArgument: (exchangeservera:PSObject) [Get-MessageTrackingLog], ParameterBindingException
        + FullyQualifiedErrorId : InputObjectNotBound,Get-MessageTrackingLog
        + PSComputerName        : exchangeservera.xxx.com

    2019年7月22日 6:05
  • 您好,

    尝试运行下这个指令,看下是否依旧有报错:

    Get-TransportService | Get-MessageTrackingLog -Sender user1@domain.com -Start "7/22/2019 0:01" -End "7/22/2019 23:59"  | Select-Object Timestamp,ServerHostname,ClientHostname,Source,EventId,Recipients | Sort-Object -Property Timestamp

    我这边测试下来没有问题:

    Perry Pan


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    2019年7月22日 8:40
  • 用这个指令也还是同样的报错,指令我是复制过去的,仅修改了邮箱地址。
    2019年7月22日 9:38
  • 用这个指令也还是同样的报错,指令我是复制过去的,仅修改了邮箱地址。

    考虑到您的这个情况,建议您直接下载这个链接的脚本,运行下看下结果。

    如果依旧有报错的话,能否提供下您在EMS中的指令与报错的截图呢?我这边帮您检查下。

    Perry Pan


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    • 已编辑 Perry-Pan 2019年7月23日 6:39
    • 已标记为答案 Link-Yuan 2019年8月30日 3:22
    2019年7月23日 6:39