症状
尝试在联机模式下使用 Microsoft Outlook 删除日历项目时,会收到以下错误消息:
无法完成移动、复制或删除。 这些项可能已被移动或删除,或者你可能没有足够的权限。 如果项目作为任务请求或会议请求发送,则发件人可能不会收到更新。
如果尝试在 Cached Exchange 模式下使用 Outlook 删除项目,该项目只会短暂删除,然后重新出现。
此外,不能使用 MFCMAPI 和 EWSEditor 工具删除项。 有关详细信息,请参阅 详细信息 部分。
原因
发生此问题的原因是日历项已损坏。 删除邮箱中的日历项目时,更改将记录在“日历日志记录”文件夹中。 如果项已损坏,则会触发日志记录,但未正确运行,并生成异常。 这会阻止删除成功。
解决方案
若要解决此问题,请暂时阻止记录对日历项的更改,然后删除该项目:
运行以下 cmdlet:
Set-Mailbox <name_of_affected_mailbox> -CalendarVersionStoreDisabled $true
等待数据库存储配置缓存过期。 这大约需要两个小时。 然后,转到步骤 3。
作为等待缓存过期的替代方法,如果受影响的邮箱位于本地Microsoft Exchange Server,则可以使用以下选项之一,然后转到步骤 3。
警告: 这些选项将导致服务中断。
- 重启 Exchange 信息存储服务。
- 将受影响用户的数据库装载到运行Exchange Server的另一台服务器上。
删除日历项。 建议使用 MFCMAPI 工具。
删除项后,运行以下 cmdlet 以撤消对 参数值的
CalendarVersionStoreDisabled
更改:Set-Mailbox <name_of_affected_mailbox> -CalendarVersionStoreDisabled $false
详细信息
尝试使用 MFCMAPI 工具删除日历项
打开日历项以在 MFCMAPI 中删除,但只看到有限数量的 MAPI 属性。 此条件指示项已损坏。
在以下屏幕截图中,损坏的日历项仅显示 21 个属性。
右键单击该项,选择“删除邮件”,在“删除样式”菜单上选择“永久删除 (删除”以保留已删除的项目(如果支持) ),然后选择“确定”,但会收到以下警告消息:
警告:
代码:MAPI_W_PARTIAL_COMPLETION == 0x00040680
Function m_IpFolder-DeleteMessages> (IpEIDs, IpProgress ? <reinterpret_cast ULONG_PTR> (m_hWnd) :NULL、IpProgress、uIFlag)
文件 D:\a\1\s\UI\Dialogs\ContentsTable\FolderDlg.cpp
第 678 行
或者,从“删除样式”菜单中选择“永久删除传递DELETE_HARD_DELETE (不可恢复的) ”,然后选择“确定”,但该工具不会响应,并且不会删除该项目。
尝试使用 EWSEditor 工具删除日历项
使用 EWSEditor 工具打开要删除的日历项,但收到以下错误消息:
ErrorCode:ErrorContentConversionFailed
ErrorMessage:内容转换失败。 内容转换:正文转换失败。
如果在错误消息中选择“ 确定” ,则日历项会显示在工具中,但会看到该项目的属性数量有限或没有属性,如以下屏幕截图所示:
右键单击该项将其删除,但收到异常消息。 以下文本是消息的代码片段:
异常详细信息:
消息:内容转换失败。 内容转换:正文转换失败。
类型:Microsoft.Exchange.WebServices.Data.ServiceResponseException
来源:Microsoft.Exchange.WebServices
ErrorCode:ErrorContentConversionFailed
ErrorMessage:内容转换失败。 内容转换:正文转换失败。
此异常消息指示项已损坏。