Exchange 2016中删除指定邮箱内早于2018年4月的所有项目的方法咨询
Exchange 2016中删除指定邮箱内早于2018年4月的所有项目的方法咨询
嗨,针对你这个150GB超大邮箱的清理需求——毕竟Outlook都没法正常加载内容,直接用Exchange Management Shell(EMS)来操作绝对是最优解,下面给你两种经过验证的实用方法,你可以根据自己的情况选:
方法一:用Search-Mailbox命令(适合快速处理,带存档备份)
这个方法能先把要删除的内容备份到备用邮箱,再删除源邮箱的内容,安全性更高:
首先务必先做测试查询,确认符合条件的项目数量,避免误删:
Search-Mailbox -Identity "你的目标邮箱地址/用户名" -SearchQuery "Received:<04/01/2018" -EstimateResultOnly这里的
Received:<04/01/2018是筛选2018年4月1日之前收到的邮件,要是你还想包含日历、任务等非邮件类项目,可以把搜索查询改成(Received:<04/01/2018) OR (Created:<04/01/2018),覆盖更多类型的项目。测试结果没问题后,先创建一个备用邮箱(比如命名为
MailboxCleanupArchive),然后执行带备份的删除命令:Search-Mailbox -Identity "目标邮箱" -SearchQuery "Received:<04/01/2018" -TargetMailbox "MailboxCleanupArchive" -TargetFolder "2018年3月及之前的存档" -LogLevel Full -DeleteContent解释下参数:
-TargetMailbox和-TargetFolder是把要删除的内容先同步到备用邮箱存档,-LogLevel Full会生成详细操作日志,-DeleteContent才会真正删除源邮箱里的对应内容。
方法二:用合规搜索(适合超大型邮箱,异步更稳定)
如果Search-Mailbox因为邮箱太大出现超时或卡顿,就用合规搜索的方式,它是后台异步处理的,不会卡死:
- 第一步,创建合规搜索任务:
New-ComplianceSearch -Name "清理2018年4月前的邮箱内容" -ExchangeLocation "目标邮箱" -ContentMatchQuery "Received:<04/01/2018" - 启动搜索任务:
Start-ComplianceSearch -Identity "清理2018年4月前的邮箱内容" - 等待搜索完成,你可以随时用这条命令查看进度和结果数量:
Get-ComplianceSearch -Identity "清理2018年4月前的邮箱内容" - 确认搜索结果符合预期后,执行软删除操作(软删除的内容会在可恢复项目里保留30天,给你留反悔余地):
注意:绝对不建议一开始就用New-ComplianceSearchAction -SearchName "清理2018年4月前的邮箱内容" -Purge -PurgeType SoftDeletePurgeType HardDelete,硬删除会直接彻底清除,没有恢复机会,等确认软删除的内容确实不需要了,再考虑后续处理。
重要注意事项
- 权限准备:操作前要确保你的管理员账号有对应的权限,比如:
# 给账号添加Mailbox Import Export和搜索权限 New-ManagementRoleAssignment -Role "Mailbox Import Export" -User "你的管理员账号" New-ManagementRoleAssignment -Role "Mailbox Search" -User "你的管理员账号" # 合规搜索需要的权限 New-ManagementRoleAssignment -Role "Compliance Search" -User "你的管理员账号" - 操作前一定要备份:哪怕用了软删除,超大邮箱的清理风险还是不小,先存档再删除才是稳妥的做法。
- 耐心等待:因为邮箱有150GB,不管哪种方法都需要一定时间,别着急中断操作。
备注:内容来源于stack exchange,提问作者Dani
相关产品推荐
相关产品推荐

