Exchange 2013 脚本用于从用户收件箱复制特定日期范围内的电子邮件吗?

Exchange 2013 脚本用于从用户收件箱复制特定日期范围内的电子邮件吗?

客户端邮箱 Exchange 2013 Microsoft 脚本
寻找一个可以完成以下任务的脚本。复制用户邮箱中满足特定日期的所有电子邮件。复制脚本应仅根据生效日期加上 60 天执行。例如,如果每日脚本从 10 月 1 日开始运行,则在 11 月 30 日之前不会复制任何电子邮件。因此,11 月 30 日只会复制 10 月 1 日的电子邮件。12 月 1 日将复制 10 月 2 日的电子邮件,依此类推。我们希望复制除已删除项目之外的所有邮件文件夹中的电子邮件。

我们正在运行 Exchange 2013。有人能想到有什么脚本或软件可以完成这项任务吗?

如果您还有其他问题,请告诉我。

答案1

是的,搜索邮箱

在第一周的任何时间(例如第一个星期日的凌晨 2 点)对上个月收到的所有电子邮件运行此操作。

日期函数:

$ReportStartDate = (get-date).AddMonths(-2).ToString("MM/01/yyyy")
$ReportEndDate = (get-date).ToString("MM/01/yyyy")

开始和结束日期均为午夜(00:00),因此它不会包含 1 号的任何数据,因为它在 1 号的任何时间开始之前就结束了。

搜索脚本:

Search-Mailbox -id "User" -targetmailbox "Administrator" -SearchQuery "Received:$ReportStartDate...$ReportEndDate" -targetFolder "Search: $ReportStartDate - $ReportEndDate"

此外:您需要有搜索用户邮箱的权限

“Search-Mailbox” cmdlet 仅适用于具有 Exchange 角色“邮箱搜索”的用户。默认情况下,此角色授予 Active Directory 组“发现管理”的所有用户

Add-ADGroupMember "Discovery Management" "USERNAME"

(在 2013 CU10 上测试,应该可以在 2010-2016 上运行)

答案2

相关内容