场景
邮件发送错误给某个人或者某一批人。撤回失败。需要紧急删除。
案例分享
1)先把搜索的结果保存到一个邮箱中作为备份,好处是通过search-mailbox误删除之后可以方便恢复,命令如下。
Import-Csv -Path 'C:\list\user.csv' | Foreach {Search-Mailbox -SearchQuery '主题:"test"' -Identity $_.Email -TargetMailbox administrator@demo.com -TargetFolder inbox}
在遇到需要模糊搜索的场景下,为了精确找到要删除的邮件,可以在把搜索结果归档到目标邮箱后,进入目标邮箱,进行再次确认,防止误删
2)然后使用下面命令进行批量删除
Import-Csv -Path 'C:\list\user.csv' | Foreach {Search-Mailbox -SearchQuery '主题:"test"' -DeleteContent -Force -Identity $_.Email}
来到user3的邮箱验证一下,主题为test的邮件都被清除掉了。
3)如果需要删除特定DB的邮件,可以使用下面的命令
Import-Csv -Path 'C:\list\db.csv' | Foreach {get-mailbox -Database $_.DBName -ResultSize unlimited | Search-Mailbox -SearchQuery '主题:"test"' -DeleteContent -Force}
4)删除指定邮箱某一时间点之前的所有邮件,例如2012年8月24日之前的所有邮件
Search-Mailbox -Identity user3 -SearchQuery "发送时间:2017/04/17"-deletecontent
附件1
maillist.csv文件的内容如下。
附件2
dblist.csv的内容如下。
DbName test
获取更多IT资讯,您也可以关注下方的微信公众号:
曾垂鑫的网络课堂,曾垂鑫大讲堂 - 51CTO学院