客户端邮箱 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
这是一项 Enterprise CAL 许可功能,但 In-Place eDiscovery 确实可以实现这一点。http://www.msexchange.org/articles-tutorials/exchange-server-2013/compliance-policies-archiving/exchange-2013-place-hold-and-place-ediscovery-part1.html