O365 PowerShell Script隔离邮件报告

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:	empQuarantineReport.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:	empQuarantineReport.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 

}

}

以上是关于O365 PowerShell Script隔离邮件报告的主要内容,如果未能解决你的问题,请参考以下文章

O365 PowerShell Script安全与合规中心审核日志

O365 PowerShell Script邮箱及OneDrive使用报告

powershell 授予O365日历访问权限

使用PowerShell获取 O365 Onedrive for business列表

使用PowerShell 批量修改O365 用户UPN

使用PowerShell deprovision O365 资源