【O365 PowerShell Script】隔离邮件报告
#O365的隔离报告https://protection.office.com/quarantine 可以在365的网址上拿到,但是却无法导出,以下脚本可以将隔离的邮件导出,并使用while循环解决单条命令的1000个数据的限制
#O365‘s quarantine report https://protection.office.com/quarantine can be obtained on the 365 website, but it cannot be exported. The following script can export the quarantined emails and use the while loop to solve the 1000 data of a single command limits
#No need to modify any line
#无需更改以下任何一行
#=====================================================
$output = @() $ExportCSV= Read-Host "Export the quarantine CSV file location (E.g c:\temp\QuarantineReport.CSV)" $StartDate = Get-Date (Read-Host -Prompt ‘Enter the start date, Eg. 08/31/2019‘) $StartDate = $StartDate.tostring("MM/dd/yyyy") $endDate = Get-Date (Read-Host -Prompt ‘Enter the end date, Eg. 09/30/2019‘) $endDate = $endDate.tostring("MM/dd/yyyy") if($ExportCSV -eq "") { $ExportCSV = "c:\temp\QuarantineReport.CSV" } If(($StartDate -eq "") -or ($endDate -eq "")) { $Reports = get-quarantinemessage -PageSize 1000 }else{ $page = 1 while (get-quarantinemessage -StartReceivedDate $StartDate -EndReceivedDate $endDate -PageSize 1000 -page $page) { $reports = get-quarantinemessage -StartReceivedDate $StartDate -EndReceivedDate $endDate -PageSize 1000 -page $page $page++ Foreach($report in $reports) { $userObj = New-Object PSObject $userObj | Add-Member NoteProperty -Name "Received" -Value $report.ReceivedTime $userObj | Add-Member NoteProperty -Name "Sender" -Value $report.SenderAddress $userObj | Add-Member NoteProperty -Name "Subject" -Value $report.Subject $UserObj | Add-Member NoteProperty -Name "Recipient" -Value $report.RecipientAddress $userObj | Add-Member NoteProperty -Name "Quarantine reason" -Value $report.QuarantineTypes $userObj | Add-Member NoteProperty -Name "Released?" -Value $report.Released $userObj | Add-Member NoteProperty -Name "Policy Type" -Value $report.PolicyType $userObj | Add-Member NoteProperty -Name "Message ID" -Value $report.MessageId $userObj | Add-Member NoteProperty -Name "Expires" -Value $report.Expires $output += $UserObj } $output | Export-csv $ExportCSV -Encoding UTF8 -NoTypeInformation -append Write-host ("CSV file page " + ($page-1) + " has been exported to " + $ExportCSV) -fore Green } } Write-host ("================================================================================") Write-host ("CSV file has been exported to " + $ExportCSV) -fore Green
}
}
相关推荐
xiancaione 2020-08-17
坚持是一种品质 2020-05-29
清水寺小僧 2020-05-15
Noseparte 2020-03-26
Tonybo 2020-01-12
Sophisticated 2019-06-29
小白努力 2019-06-28
MrQuinn 2012-02-18
zerolab 2019-06-27
Python中文社区 2015-03-04
huzai 2013-08-14
fengzhizi0 2009-05-25
RuoShangM 2009-05-06
zhyue 2007-07-03
jaywcjlove 2018-11-10
统一开发环境UDE 2014-05-04