邮箱审核日志搜索失败,Exchange Server 2016、2013 和 2010 共存环境中出现异常“ErrorInvalidServerVersion”

症状

请考虑以下情况:

  • 你有一个 Exchange 共存环境,其中包括托管在 Microsoft Exchange Server 2016、2013 和 2010 上的邮箱。
  • 将仲裁邮箱移动到 2016 Exchange Server。
  • 为托管在 Exchange Server 2010 上的邮箱启用邮箱审核。
  • 在 Exchange Server 2016 上的 Exchange 命令行管理程序中,运行 Search-MailboxAuditLogNew-MailboxAuditLogSearch 命令,搜索托管在 Exchange Server 2010 上的邮箱的邮箱审核日志。

在这种情况下,审核日志搜索失败。

如果运行 Search-MailboxAuditLog 命令,Exchange 命令行管理程序中将返回类似于以下内容的错误消息:

The Exchange Web Services returned an error while trying to access the audit log.  Reason: '','ErrorInvalidServerVersion','The specified server version is invalid.'
     + CategoryInfo : NotSpecified: (:) [Search-MailboxAuditLog], AuditLogServiceException
     + FullyQualifiedErrorID : (Server=E2K16,RequestID=<GUID>,Timestamp=DateTime) [FailureCategory=Cmdlet-AuditLogServiceException] AF0D01B1,Microsoft.Exchange.Management.SystemConfigurationTasks.SearchMailboxAuditLog
     + PSComputerName : E2K16.contoso.com

如果运行 New-MailboxAuditLogSearch 命令,则 Exchange 命令行管理程序中不会返回任何错误。 但是,当服务器尝试运行搜索时,事件 ID 4002 会记录在 事件查看器中:

Log Name:      Application

Source:        MSExchange AuditLogSearch
Date:          <DateTime>
Event ID:      4002
Task Category: General
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      E2K16.contoso.com
Description:
A runtime exception occurred in AuditLogSearchServicelet's worker while processing a request. Exception: 
Microsoft.Exchange.Data.ApplicationLogic.AuditLogServiceException: The Exchange Web Service returned an error while trying to access the audit log. Reason: '','ErrorInvalidServerVersion','The specified server version is invalid.'.
...

原因

此行为是设计使然。 如果将仲裁邮箱移动到 2016 Exchange Server,则邮箱审核日志搜索将通过 Exchange Web 服务运行,其 RequestVersion 值为“Exchange Server 2013”。向 Exchange Server 2010 显示此请求时,响应为“ErrorInvalidServerVersion”异常。

解决方案

若要解决此问题,Search-MailboxAuditLog请在搜索托管在 Exchange Server 2010 上的邮箱时,直接在 Exchange Server 2010 上运行 命令。