Назад | Перейти на главную страницу

Exchange New-MailboxExportRequest ведет себя странно с параметрами DateTime для ContentFilter

Я пытаюсь извлечь электронные письма с определенным диапазоном дат из почтового ящика в PST, но использую параметр DateTime для ContentFilter похоже, не работает должным образом.

Это должно экспортировать все за последние 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 + Гб почтового ящика.

Если я укажу даты вручную, все будет нормально:

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"

Я не уверен, что это связано с каким-то конфликтом региональных настроек, но я бы подумал, что передача типизированного параметра позволит избежать такой глупости. Причина, по которой я подозреваю это, заключается в том, что если я распечатываю даты (Write-Host в первом примере), даты выходят в американском формате:

[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...

Я подтверждаю, что решил эту проблему, указав фильтр содержимого в точности как «(Received -ge '$ startDate') -and (Received -lt '$ endDate')», чтобы он не стал $ null с помощью этот вопрос.

Версия / сборка моего клиента Exchange Server 2013 нет. 15.0.847.32.

Это может быть редкое состояние, но я добавил сюда свой ответ на случай, если это кому-то поможет.

редактировать: Основываясь на концепции, я написал Сценарий PowerShell для ежемесячного архивирования почтового ящика журнала с отчетом по электронной почте.

Да, это известная ошибка. Обходной путь - изменить формат даты почтовых ящиков на экспорт в формате США, сделать резервную копию, затем вернуться к своему региональному формату и запустить сценарий из учетной записи с использованием региональных настроек США.

т.е.

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

Беспорядочный.