在 Exchange Server 中配置协议日志记录

协议日志记录可记录邮件服务器之间和传输管道中的 Exchange 服务之间作为邮件传递一部分进行的 SMTP 会话。

Exchange 服务器上所有发送连接器和接收连接器的协议日志可以使用下列选项:

  • 指定协议日志文件的位置。 默认位置是:

    • 邮箱服务器上的前端传输服务:

    • 接收连接器%ExchangeInstallPath%TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive

    • 发送连接器%ExchangeInstallPath%TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpSend

    • 邮箱服务器上的传输服务:

    • 接收连接器%ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpReceive

    • 发送连接器%ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpSend

    • 邮箱服务器上的邮箱传输传递服务 (接收连接器) : %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpReceive\Delivery

    • 邮箱服务器上的邮箱传输提交服务 (发送连接器) : %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpSend\Submission

      注意:邮件传递到邮箱后提交的副作用邮件的协议日志记录发生在 中 %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpSend\Delivery。 例如,传递到邮箱的邮件触发收件箱规则,将邮件重定向到另一个收件人。

    • 边缘传输服务器上的传输服务:

    • 接收连接器%ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpReceive

    • 发送连接器%ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpSend

  • 指定协议日志文件的最大大小。 默认大小为 10 MB。

  • 指定包含协议日志文件的目录的最大大小。 默认大小为 250 MB。

  • 指定协议日志文件的最长期限。 默认期限为 30 天。

开始前,有必要了解什么?

  • 估计完成时间:5 分钟

  • 您必须先获得权限,然后才能执行此过程或多个过程。 若要查看所需的权限,请参阅 邮件流权限主题中的"传输服务"、"前端传输服务"、"邮箱传输服务"、"接收连接器"和"发送连接器"条目。

  • 可以使用 Exchange 管理中心 (EAC) 启用或禁用邮箱服务器上的接收连接器和发送连接器的协议日志记录。 还可以使用 EAC 仅配置传输服务的协议日志路径。 对于所有其他协议日志记录选项,需要使用 Exchange 命令行管理程序。 若要了解如何在本地 Exchange 组织中打开 Exchange 命令行管理程序,请参阅 Open the Exchange Management Shell

  • 配置可影响 Exchange 服务器上每个单独传输服务的所有接收连接器或发送连接器的其他协议日志记录选项。 传输服务中的所有接收连接器都使用相同的协议日志文件和协议日志选项。 这些文件和选项独立于同一传输服务中的发送连接器协议日志文件和协议日志选项。 UNRESOLVED_TOKENBLOCK_VAL(ALERT_不要在订阅的边缘服务器上执行此操作)

    警告

    请勿在使用 EdgeSync 订阅 Exchange 组织的边缘传输服务器上执行此过程。 相反,请在邮箱服务器上的传输服务中进行更改。 然后,下次发生 EdgeSync 同步时,这些更改将复制到边缘传输服务器。

  • 若要了解本主题中的过程可能适用的键盘快捷键,请参阅 Exchange 管理中心内的键盘快捷键

提示

是否有任何疑问? 请在 Exchange 论坛中寻求帮助。 请访问以下论坛:Exchange ServerExchange OnlineExchange Online Protection

使用 EAC 配置协议日志记录

使用 EAC 为连接器启用或禁用协议日志记录

选择要配置的连接器,然后单击"编辑"

  1. 编辑图标

    • 邮件流>发送连接器

    • 邮件流>接收连接器

  2. 选择要配置的连接器,然后单击“编辑”图标。

  3. 在“协议日志记录级别”部分中的“常规”选项卡上,选择以下选项之一:

    • :连接器上禁用了协议日志记录。

    • 详细:连接器上启用了协议日志记录。

  4. 完成后,单击“保存”。

打开 EAC,然后导航到" 服务器"" 服务器"。

选择要配置的邮箱服务器,然后单击"编辑"

  1. 打开 EAC 并导航到“服务器服务器>”。

  2. 选择要配置的邮箱服务器,然后单击 “编辑”图标

  3. 在服务器属性页面上,单击" 传输日志"。 在" 协议日志"部分,更改以下设置:

    • 发送协议日志路径

    • 接收协议日志路径

    在本地 Exchange 服务器上指定位置。 如果文件夹不存在,则在单击" 保存"时,系统会为你创建文件夹。

  4. 完成后,单击“保存”。

如何知道操作成功?

若要验证是否已成功使用 EAC 配置协议日志记录,请浏览到为发送连接器或接收连接器协议日志指定的位置。 如果启用了协议日志记录,请确认日志文件存在,并且为连接器更新该文件。 如果禁用了协议日志记录,请确认不再为连接器更新最新的日志文件。

使用 Exchange 命令行管理程序在连接器上启用或禁用协议日志记录

使用 Exchange 命令行管理程序在发送连接器或接收连接器上启用或禁用协议日志记录

使用以下过程可在以下设备上启用或禁用协议日志记录:

  • 邮箱服务器上的传输服务中的发送连接器和接收连接器。

  • 邮箱服务器上的前端传输服务中的接收连接器。

  • 边缘传输服务器上的传输服务中的发送连接器和接收连接器。

要在发送连接器或接收连接器上启用或禁用协议日志记录,请使用 Exchange 命令行管理程序中的以下命令:

<Set-SendConnector | Set-ReceiveConnector> <ConnectorIdentity> -ProtocolLoggingLevel <Verbose | None>

此示例将为名为 Mailbox01 的服务器上的名为"Connection from Contoso.com"的接收连接器启用协议日志记录。

Set-ReceiveConnector "Mailbox01\Connection from Contoso.com" -ProtocolLoggingLevel Verbose

此示例将为名为"Connection to Internet"的发送连接器启用协议日志记录。

Set-ReceiveConnector "Connection to Internet" -ProtocolLoggingLevel None

使用 Exchange 命令行管理程序在组织内发送连接器上启用或禁用协议日志记录

使用此过程将在邮箱服务器上的传输服务、前端传输服务和邮箱传输提交服务中存在的隐式和不可见组织内发送连接器上启用或禁用协议日志记录。 有关这些连接器的详细信息,请参阅 隐式发送连接器

组织内发送连接器的协议日志记录发生在指定传输服务的发送连接器协议日志中。 请注意,传输服务设置控制传输服务和邮箱传输提交服务中组织内发送连接器的协议日志记录。

若要启用或禁用组织内发送连接器上的协议日志记录,请使用 Exchange 命令行管理程序 中的以下语法:

<Set-TransportService | Set-FrontEndTransportService> <ServerIdentity> -IntraOrgConnectorProtocolLoggingLevel <Verbose | None>

本示例将在名为 Mailbox01 的服务器上的传输服务和邮箱传输提交服务中的组织内发送连接器上启用协议日志记录。

Set-TransportService Mailbox01 -IntraOrgConnectorProtocolLoggingLevel Verbose

本示例将在同一服务器上的前端传输服务中的组织内发送连接器上禁用协议日志记录。

Set-FrontEndTransportService Mailbox01 -IntraOrgConnectorProtocolLoggingLevel None

使用 Exchange 命令行管理程序在邮箱传递接收连接器上启用或禁用协议日志记录

使用此过程在邮箱传输传递服务中存在的隐式和不可见邮箱传递接收连接器上启用或禁用协议日志记录。 此连接器的协议日志记录发生在邮箱传输传输传递服务的接收连接器协议日志中。 有关此连接器的详细信息,请参阅邮箱服务器上邮箱传输传递服务中的隐式接收服务器

若要在邮箱传递接收连接器上启用或禁用协议日志记录,请使用 Exchange 命令行管理程序中的以下语法:

Set-MailboxTransportService <ServerIdentity> -MailboxDeliveryConnectorProtocolLoggingLevel <Verbose | None>

本示例将在名为 Mailbox01 的服务器上的邮箱传递接收连接器上启用协议日志记录。

Set-MailboxTransportService Mailbox01 -MailboxDeliveryConnectorProtocolLoggingLevel Verbose

本示例禁用同一服务器上的邮箱传递接收连接器上的协议日志记录。

Set-MailboxTransportService Mailbox01 -MailboxDeliveryConnectorProtocolLoggingLevel None

如何知道操作成功?

若要验证是否已成功使用 Exchange 命令行管理程序在连接器上启用或禁用协议日志记录,请执行以下步骤:

  1. 在 Exchange 命令行管理程序中运行以下命令,以验证是否为 Exchange 服务器上的所有连接器启用或禁用协议日志记录:

    Write-Host "Send Connectors:" -ForegroundColor yellow; Get-SendConnector | Format-List Name,ProtocolLoggingLevel; Write-Host "Receive Connectors:" -ForegroundColor yellow; Get-ReceiveConnector | Format-List Name,TransportRole,ProtocolLoggingLevel; Write-Host "Mailbox Transport Delivery service:" -ForegroundColor yellow; Get-MailboxTransportService | Format-List *ProtocolLoggingLevel; Write-Host "Front End Transport service:" -ForegroundColor yellow; Get-FrontEndTransportService | Format-List *ProtocolLoggingLevel; Write-Host "Transport service and Mailbox Transport Submission service:" -ForegroundColor yellow; Get-TransportService | Format-List *ProtocolLoggingLevel
    
  2. 转到协议日志文件的位置。 如果启用了协议日志记录,请确认日志文件存在,并且为连接器更新该文件。 如果禁用了协议日志记录,请确认不再为连接器更新最新的日志文件。

使用 Exchange 命令行管理程序在 Exchange 服务器上配置协议日志设置

使用此过程为邮箱服务器上的传输服务和边缘传输服务器上的传输服务中的所有发送连接器或接收连接器配置协议日志设置。

若要在 Exchange 命令行管理程序中配置协议日志设置,请使用以下语法:

<Set-FrontEndTransportService | Set-MailboxTransportService | Set-TransportService> <ServerIdentity> -ReceiveProtocolLogPath <LocalFilePath> -ReceiveProtocolLogMaxFileSize <Size> -ReceiveProtocolLogMaxDirectorySize <Size> -ReceiveProtocolLogMaxAge <dd.hh:mm:ss> -SendProtocolLogPath <LocalFilePath> -SendProtocolLogMaxFileSize <Size> -SendProtocolLogMaxDirectorySize <Size> -SendProtocolLogMaxAge <dd.hh:mm:ss>

本示例将在名为 Mailbox01 的服务器上的传输服务中设置以下协议日志设置:

  • 将所有接收连接器的协议日志位置设置为 D:\Hub SMTP Receive Log,并将所有发送连接器的协议日志位置设置为 D:\Hub SMTP Send Log。 如果文件夹不存在,系统会为你创建该文件夹。

  • 将接收连接器和发送连接器的连接器协议日志文件的最大大小设置为 20 MB。

  • 将接收连接器和发送连接器的连接器协议日志文件夹的最大大小设置为 400 MB。

  • 将接收连接器和发送连接器的协议日志文件的最长期限设置为 45 天。

Set-TransportService Mailbox01 -ReceiveProtocolLogPath "D:\Hub SMTP Receive Log" -ReceiveProtocolLogMaxFileSize 20MB -ReceiveProtocolLogMaxDirectorySize 400MB -ReceiveProtocolLogMaxAge 45.00:00:00 -SendProtocolLogPath "D:\Hub SMTP Send Log" -SendProtocolLogMaxFileSize 20MB -SendProtocolLogMaxDirectorySize 400MB -SendProtocolLogMaxAge 45.00:00:00

注意

  • SendProtocolLogPathReceiveProtocolLogPath 参数设置为 值 $null 可有效地禁用服务器上所有发送连接器或接收连接器的协议日志记录。 但是,在服务器上为任何发送连接器或接收连接器(包括组织内部发送连接器或邮箱传递接收连接器)启用协议日志记录时,将值 $null 设置为 将生成事件日志错误。

  • ReceiveProtocolLogMaxAgeSendProtocolLogMaxAge 参数设置为 值 00:00:00 会阻止自动删除协议日志文件,因为它们的年龄。

如何知道操作成功?

若要验证是否成功使用 Exchange 命令行管理程序在 Exchange 服务器上配置协议日志记录设置,请执行以下步骤:

  1. 在 Exchange 命令行管理程序中运行以下命令,并在 Exchange 服务器上验证协议日志设置:

    Write-Host "Front End Transport service:" -ForegroundColor yellow; Get-FrontEndTransportService | Format-List ReceiveProtocolLog*,SendProtocolLog*; Write-Host "Mailbox Transport Submission and Mailbox Transport Delivery services:" -ForegroundColor yellow; Get-MailboxTransportService | Format-List ReceiveProtocolLog*,SendProtocolLog*; Write-Host "Transport service:" -ForegroundColor yellow; Get-TransportService | Format-List ReceiveProtocolLog*,SendProtocolLog*
    
  2. 在 Windows 资源管理器或文件资源管理器中打开协议日志的位置,以验证该日志文件是否存在,是否正在向文件写入数据,以及文件是否根据所配置的最大文件大小和最大目录大小值进行回收。