邮箱审核日志搜索失败,Exchange Server 2016、2013 和 2010 共存环境中出现异常“ErrorInvalidServerVersion”
症状
请考虑以下情况:
- 你有一个 Exchange 共存环境,其中包括托管在 Microsoft Exchange Server 2016、2013 和 2010 上的邮箱。
- 将仲裁邮箱移动到 2016 Exchange Server。
- 为托管在 Exchange Server 2010 上的邮箱启用邮箱审核。
- 在 Exchange Server 2016 上的 Exchange 命令行管理程序中,运行
Search-MailboxAuditLog
或New-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 上运行 命令。