Powershell(交换消息搜索)

时间:2014-01-27 17:28:27

标签: powershell exchange-server

我在我的PowerShell中只有C + P this代码,与我在超级用户上提出的this问题相关。

它确切地告诉了我正在寻找的东西,但仅限于今天的电子邮件,有人可以告诉我如何在过去两个月为电子邮件添加过滤器吗?我查看了代码,看不到任何与数据范围相关的内容,因此可能还有另一个需要运行的cmdlet?

1 个答案:

答案 0 :(得分:0)

通过粗略浏览一下您链接的脚本,各个电子邮件似乎在foreach循环中进行迭代,该循环使用Get-MessageTrace的输出作为要迭代的对象集合。根据{{​​3}},Get-MessageTrace有一个-StartDate-EndDate参数,您可以使用该参数指定日期范围。

因此,您只需使用这些参数即可获得更长的日期范围。这是一个未经测试的例子,说明过去两个月你可能需要做的事情:

Get-MessageTrace -StartDate (Get-Date).AddMonths(-2) -EndDate (Get-Date)

编辑:根据参数文档,您可能需要在获取日期后进行一些额外的格式化。不幸的是,我不能在某个地方测试这个,但这就是它所说的:

  

使用区域选项设置中为运行命令的计算机定义的短日期格式。例如,如果计算机配置为使用短日期格式mm / dd / yyyy,请输入03/01/2010以指定2010年3月1日。您只能输入日期,或者您可以输入日期和时间。如果输入日期和时间,则必须将参数括在引号(“)中,例如”10/05/2010 5:00 PM“。

这可能没有必要,因为你已经传递了一个DateTime对象(Get-Date的输出)而不是一个字符串...但值得一提的是,如果你只是想对一个字符串进行硬编码而不是获得当前时间。