Exchange 2013导出上个月的邮件

时间:2016-05-17 21:56:53

标签: powershell exchange-server pst

我想每个月逐步备份Exchange邮件。我试过这些脚本:

$d = (Get-Date).AddMonths(-1)
New-MailboxExportRequest -ContentFilter {Received -gt $d} -Mailbox "username" `
                         -name UserInc -filepath \\some\server\share\userinc.pst

$d = (Get-Date).AddMonths(-1).ToString('MM/dd/yyyy')
New-MailboxExportRequest -ContentFilter {Received -gt $d} -Mailbox "username" `
                         -name UserInc -filepath \\some\server\share\userinc.pst

两个脚本都备份邮箱中的所有邮件。

鉴于:

New-MailboxExportRequest -ContentFilter {Received -gt '05/01/2016'} -Mailbox "username" `
                         -name UserInc -filepath \\some\server\share\userinc.pst

$d = '05/01/2016'
New-MailboxExportRequest -ContentFilter {Received -gt $d} -Mailbox "username" `
                         -name UserInc -filepath \\some\server\share\userinc.pst

完美无瑕地工作。我哪里错了?

2 个答案:

答案 0 :(得分:0)

“ContentFilter”参数接收[String]对象,而不是像示例中的DateTime对象,

用字符串值提供它:

$d = (Get-Date).AddDays(-1).ToString('MM/dd/yyyy')
New-MailboxExportRequest -ContentFilter {Received -gt $d} -Mailbox "username" `
-name UserInc -filepath \\some\server\share\userinc.pst

答案 1 :(得分:0)

这在Exchange命令行管理程序中是一个非常讨厌的i18n错误。即使ContentFilter期望英国Exchange安装的DD / MM / YYYY日期,它仍然会根据美国格式检查日期。这意味着日期检查仅适用于每个月的前十二天。