我正在使用 powershell 进行带有复杂查询的电子邮件搜索,并且在组合两个条件时遇到了麻烦。我有一个要搜索的电子邮件地址列表和接收日期列表,因此我正在根据这个日期列表针对一个装满邮箱的 DL 搜索发往/发往这些地址的电子邮件。如果我将发件人搜索与限制日期分开,我会得到适当数量的命中结果。如果我将日期与收件人/发件人地址分开,我同样会得到适当数量的命中结果。但是,如果我尝试组合这两个条件,我将一无所获。这两个条件可能没有重叠,但可能性极小。有人使用 new-mailboxsearch 成功进行过痛苦的特定搜索吗?
下面是我的新邮箱搜索的示例(我有比这更多的日期和发件人/收件人地址):
new-mailboxsearch -Name "MySearch" -SourceMailboxes "HumanResources" -SearchQuery {"received:01/01/2017 OR received:04/01/2017 OR received 06/01/2017" -AND "FROM:[email protected] OR TO:[email protected] OR FROM:[email protected] OR TO:[email protected]"}
答案1
该-SearchQuery
参数使用关键字查询语言 (KQL)用于 SharePoint 和 Outlook 搜索。要实现您想要的格式,请将查询格式化为:
"(received:01/01/2017 OR received:04/01/2017 OR received 06/01/2017) AND (FROM:[email protected] OR TO:[email protected] OR FROM:[email protected] OR TO:[email protected])"
主要的区别在于,第一个和第二个查询用括号括起来,并且除了删除括号之外,还与它们之间的 AND 相结合。