Exchange 2010 搜索邮箱特定日期范围

Exchange 2010 搜索邮箱特定日期范围

我一直在使用 Microsoft Exchange Server 2010 SP2。我想删除特定日期范围内的用户邮件。我该怎么做?顺便说一句,当我运行以下命令时,我得到了以下错误。

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

答案1

错误的原因是因为特殊字符没有被转义。最简单的方法是使用双引号而不是单引号将值括起来。此外,如果您想使用日期范围,则可以使用“..”运算符。 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)"

这将搜索 2009 年 1 月 1 日 12:00 上午 至 2009 年 12 月 31 日 12:00 上午之间收到的所有邮件。

答案2

我使用的是同一版本的 Exchange2010,使用 {} 与不使用 {} 时的语法不同

搜索邮箱 -identity xxxxx -searchQuery {收到:>2008 年 12 月 31 日并且收到:<2010 年 1 月 1 日} -TargetMailbox targetmailbox -TargetFolder testxx -LogOnly

或者

搜索邮箱 -identity xxxxx -searchQuery 收到:>2008 年 12 月 31 日,收到:<2010 年 1 月 1 日 -TargetMailbox targetmailbox -TargetFolder testxx -LogOnly

如果需要删除,请将 -LogOnly 替换为 -DeleteContent,这本质上是做同样的事情

相关内容