Сценарий открывает соединение с O365, а затем перебирает все почтовые ящики в поисках правил входящих сообщений, которые могут быть вредоносными.

В нашей организации почтовых ящиков 12K этот скрипт требует более 24 часов для запуска.

$CloudCredentials = import-clixml C:\tools\CloudCreds.xml
Write-Host "Connecting To Exchange Online..." -foregroundcolor white
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell `
                        -Credential $CloudCredentials -Authentication Basic -AllowRedirection -WarningAction SilentlyContinue
Import-PSSession $Session -Prefix Cloud -DisableNameChecking -AllowClobber | Out-Null
Connect-MsolService -Credential $CloudCredentials
$MBs = Get-CloudMailbox -ResultSize Unlimited
foreach ($MB in $MBs) {    
    $Rules=@()
    $Rules += Get-CloudInboxRule -Mailbox $MB.UserPrincipalName -WarningAction SilentlyContinue
    if ($Rules.Length -gt 0) {
        foreach ($R in $Rules) {
            if (($R.Name -eq "postmaster") -or
                ($R.Name -eq ".net") -or
                ($R.Name -eq ".com") -or
                ($R.Name -eq ".org") -or
                ($R.Name -eq ".")
            )
            {
                write-host $MB.UserPrincipalName
                #Remove-CloudInboxRule -Mailbox $MB.UserPrincipalName -Id $R.Name -Confirm:$false
            }
        }
    }
}

0