我有一个简单的设置,使用由脚本人员创建的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" }
发布于 2018-06-18 19:59:05
给出两个要搜索的日期:
Where-Object { ($_.ReceivedTime -gt "06 11 2018") -and ($_.ReceivedTime -lt "06 15 2018") }
发布于 2018-06-19 03:20:01
不要使用这样的筛选器-从性能的角度来看,它们非常糟糕,因为Outlook对象模型需要实例化、初始化和返回每个项目。
让底层存储提供程序来完成这项工作--使用Items.Find/FindNext或Items.Restrict。
发布于 2018-06-18 19:58:59
只是一句话--因为你说的是哪个脚本可能并不明显,所以最好在以后的问题中把它链接起来。我猜你说的是this one吧。
要从指定的日期范围获取电子邮件,您必须将-lt
运算符(小于)与-gt
结合使用
where { $_.ReceivedTime -gt [datetime]"5/5/11" -AND $_.ReceivedTime -lt [datetime]"5/10/11" }
此示例取自此cmdlet的帮助,请使用以下命令随时查看更多示例:
Get-Help Get-OutlookInBox -Examples
https://stackoverflow.com/questions/50908788
复制相似问题