我一直在使用Microsoft Exchange Server 2010 SP2。 我想在特定的date范围内删除用户的邮件。 我怎样才能做到这一点? 顺便说一句,什么时候运行下面的命令,然后我有以下的错误。
Search-Mailbox -Identity xxxxx -SearchQuery "Received:> $('01/01/2009') and Received:< $('12/31/2009')" -DeleteContent
这是我的错误信息:
A search keyword should not be preceeded with comparison modifiers eg. '<', '>', '='. + CategoryInfo : InvalidArgument: (:) [], ParserException + FullyQualifiedErrorId : 61B67608
更新:
正如你所提到的,我已经完成了你的评论。 但是,
即使用户邮箱内有大约6000封电子邮件,也会在命令下面返回18封电子邮件。
Search-Mailbox -Identity xxxxxxx -SearchQuery {((Received -lt '01 Oct 2009') -and (Received -gt '01 Aug 2013'))} -TargetMailbox targetmailbox -TargetFolder testxx -LogOnly
你错误的原因是因为特殊字符不能逃脱。 最简单的方法是使用双引号而不是单引号。 另外,如果您想使用date范围,则可以使用“..”运算符。 http://msdn.microsoft.com/en-us/library/office/ee558911(v=office.15).aspx#kql_property_restriction_queries
因此, Search-Mailbox xxxxx -SearchQuery "Received:(1/1/2009..12/31/2009)"
这将search2009年1月1日上午12:00至2009年12月31日12:00之间收到的所有邮件。
我使用的是相同版本的Exchange2010,使用{}和不使用{}的语法不同
Search-mailbox -identity xxxxx -searchQuery {received:> 12/31/2008 AND received:<1/1/2010} -TargetMailbox targetmailbox -TargetFolder testxx -LogOnly
要么
search邮箱 – 身份xxxxx – search收到:> 12/31/2008,收到:<1/1/2010 -TargetMailbox targetmailbox -TargetFolder testxx -LogOnly
将-LogOnlyreplace为-DeleteContent(如果需要删除)从本质上做同样的事情