能否用Exchange Online PowerShell查询并导出超90天的用户邮件?
可以通过Exchange Online PowerShell获取目标邮件清单
完全可以用Exchange Online PowerShell实现这个需求,下面是具体操作步骤:
1. 连接Exchange Online PowerShell
确保你拥有邮件搜索权限和合规搜索权限,执行以下命令完成连接:
Connect-ExchangeOnline -UserPrincipalName youradmin@domain.com
2. 筛选启用扩展邮件保留策略的用户邮箱
先确认你的扩展保留策略名称(例如"Extended Mail Retention Policy"),再用命令获取所有应用该策略的邮箱:
$targetMailboxes = Get-Mailbox -Filter {RetentionPolicy -eq "Extended Mail Retention Policy"} | Select-Object -ExpandProperty Identity
若不确定策略名称,可执行Get-RetentionPolicy列出所有保留策略,找到对应的扩展策略。
3. 创建合规搜索定位超过90天的邮件
合规搜索能精准定位目标邮件,且支持导出清单,执行以下命令:
$90DaysAgo = (Get-Date).AddDays(-90).ToString("yyyy-MM-dd") $searchName = "Over90DaysMail_ExtendedRetention" New-ComplianceSearch -Name $searchName -ExchangeLocation $targetMailboxes -ContentMatchQuery "ReceivedDate < $90DaysAgo"
如果需要同时筛选发送日期超过90天的邮件,可将查询条件调整为:(ReceivedDate < $90DaysAgo) OR (SentDate < $90DaysAgo)
4. 启动搜索并导出结果
启动搜索后等待完成,再将结果导出为CSV文件:
Start-ComplianceSearch -Identity $searchName # 等待搜索完成,可通过Get-ComplianceSearch $searchName查看状态 while ((Get-ComplianceSearch $searchName).Status -ne "Completed") { Write-Host "搜索进行中,请等待..." Start-Sleep -Seconds 30 } # 导出结果到CSV New-ComplianceSearchAction -SearchName $searchName -Export -Format CSV -IncludeUnsearchableItems $false
导出的CSV会包含邮件主题、收件人、发件人、接收日期等关键信息,可直接作为恢复90天保留策略后将被删除的邮件清单。
注意事项
- 权限不足会导致命令执行失败,需提前确认账号权限;
- 若目标邮箱数量较多,搜索耗时会相应增加,请耐心等待;
- 可根据需求调整
ContentMatchQuery的筛选条件,比如添加特定文件夹筛选。
内容的提问来源于stack exchange,提问作者Coty
相关产品推荐
相关产品推荐

