Exchange的New-MailboxExportRequest对于ContentFilter的DateTime参数performance奇怪

我正试图从邮箱中提取某个date范围的电子邮件到PST,但使用ContentFilter的DateTime参数似乎没有按预期方式工作。

这应该导出过去5天的所有内容:

 $endDate = Get-Date "00:00:00" $startDate = $endDate.AddDays(-5) Write-Host "Exporting items between $startDate and $endDate..." New-MailboxExportRequest -ContentFilter {(Received -ge $startDate) -and (Received -lt $endDate)} -Mailbox "EmailLog" -FilePath "\\ReadyNAS\backup\Mailboxes\EmailLog\EmailLog.pst" 

但是,PST最终会在邮箱的全部15 + Gb之内。

如果我手动指定date,它工作正常:

 New-MailboxExportRequest -ContentFilter {(Received -ge "01-06-2013 00:00:00") -and (Received -lt "06-06-2013 00:00:00")} -Mailbox "EmailLog" -FilePath "\\ReadyNAS\backup\Mailboxes\EmailLog\EmailLog-man.pst" 

我不确定这是否是由于某种区域设置的冲突,但我会认为传递一个types化的参数将避免这种愚蠢。 我怀疑这是因为如果我打印出date(第一个例子中的写主机)date以美国格式出现:

 [PS] C:\Windows\system32>Write-Host "Exporting items between $startDate and $endDate..." Exporting items between 06/01/2013 00:00:00 and 06/06/2013 00:00:00... 

我确认我已经通过将内容filter完全指定为“(Received -ge'$ startDate')”和“(Received -lt'$ endDate')”来解决这个问题,以防止在此问题的帮助下它变为$ null。

我的客户端的Exchange Server 2013版本/版本号。 是15.0.847.32。

这可能是一种罕见的情况,我仍然在这里添加我的答案,以防万一它有助于某人。

编辑 :基于这个概念,我已经编写了一个PowerShell脚本来每月存档邮箱报告。

是的,它是一个已知的错误解决方法是将邮箱date格式更改为美国格式导出,做备份,然后更改回到您自己的区域格式,并使用美国区域设置帐户运行脚本。

 Get-mailbox -Server $Server -resultsize unlimited | Set-MailboxRegionalConfiguration -Language 1033 -DateFormat "M/d/yyyy" 

乱。