Remove one mail item from all mailboxes Exchange 2010

刚才一个同事非常不小心的把一封应该只回复给总经理的邮件回复给全体员工了,在邮件列表里,经理的邮件下面挨着一封全体通知邮件,Outlook里他点回复的时候点偏了在下面那封全体邮件上点了回复,这下可麻烦大了,这哥们一脸黑线的找到我,说坏了坏了。我安慰了他,说现在下班时间,没有几个人去收邮件看,我立刻帮你从所有人的邮箱里删掉这封邮件。

他眼睛里立刻泛起了灼灼的光芒,摇着我的胳膊说,:“真的可以吗,那快啊!”

于是我登上 EXCHANGE 2010服务器的远程桌面,运行 Exchange Management Shell,输入如下命令:

Get-Mailbox -result unlimited  | Search-Mailbox -SearchQuery `Subject:"*Daily Report 20130131*"' -DeleteContent

Powershell窗口里弹出一段漂亮的执行进度条 -ooooooooooooooooooooooooooooooooooo, 然后这封邮件就从所有人的邮箱里悄声无息的消失了。

我平时有命令行操作的癖好,用power shell管理exchange服务器轻松又快捷,关键是服务器硬件比较老,打开Exchange management console图形界面好慢的。看来熟悉命令还是很用用处的哦。呵呵~~

 

我只有一个 Mail store database,如果你有多个的话, Get-Mailbox后面还可以精确的指定,命令是

Get-Mailbox -Databae "Database Name"  | Search-Mailbox -SearchQuery `Subject:"*Daily Report 20130131*"' -DeleteContent

怎么看Database Name? 很简单,power shell里面输入Get-Mailboxdatabase 回车即可

还可以通过Server Name来执行命令

Get-Mailbox -Server "Server Name"  | Search-Mailbox -SearchQuery `Subject:"*Daily Report 20130131*"' -DeleteContent

怎么看Server Name? 我的电脑 ->属性->机器名 

Search-Mailbox -SearchQuery 还有很多参数可用,具体请看下面的链接:

http://technet.microsoft.com/en-us/library/bb232132.aspx#AQS

 

如果执行上面命令会报错:Search-Mailbox” Command in Powershell: The Term “Search-Mailbox” Is Not Recognized as the Name of a cmdlet

请先注册exhcnage power shell snap-in,用下面的命令:

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010

如果某个邮箱的权限被特别定制过,无权限访问,可以先提升一下权限给administrator
get-mailbox -Database "Mailbox Database"| add-mailboxpermission -user administrator -AccessRights FullAccess
完事后再删除权限
get-mailbox -Database "Mailbox Database"| remove-mailboxpermission -user administrator -AccessRights FullAccess

 【蓝色信仰版权所有,转载请注明出处】

 

 
 
 

你可能感兴趣的:(Exchange,2010,删除群发邮件,从所有邮箱中删除指定邮件)