我使用脚本人创建的get-outlookinbox cmd进行了简单的设置
我已将其设置为拉出我发送的邮箱,匹配主题标题,计算已发送的电子邮件数量以及匹配的人数。我的问题是我还设置了在日期之后检查但是我想设置它以便它将在一个范围之间搜索。
$inbox | Where-Object { $_.subject -match 'x'} | where-object { $_.ReceivedTime -gt "06 11 2018" } | Group-Object -Property senderName -NoElement | Sort-Object count
如何编辑此部件以进行范围检查?
where-object { $_.ReceivedTime -gt "06 11 2018" }
答案 0 :(得分:3)
给两个日期进行搜索:
Where-Object { ($_.ReceivedTime -gt "06 11 2018") -and ($_.ReceivedTime -lt "06 15 2018") }
答案 1 :(得分:1)
不要使用这样的过滤器 - 从性能的角度看它们很糟糕,因为每个项目都需要由Outlook对象模型实例化,初始化和返回。
让底层商店提供商完成工作 - 使用Items.Find/FindNext或Items.Restrict。
答案 2 :(得分:0)
只是一个评论 - 因为你可能不清楚哪个脚本可能不太明显,将来在你的问题中链接它会很好。我假设您正在谈论this one。
要获取指定日期范围内的电子邮件,您必须将-lt
运算符(低于)与-gt
结合使用:
where { $_.ReceivedTime -gt [datetime]"5/5/11" -AND $_.ReceivedTime -lt [datetime]"5/10/11" }
此示例取自此cmdlet的帮助,请随时使用以下方法检查更多示例:
Get-Help Get-OutlookInBox -Examples