Сценарий открывает соединение с 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
}
}
}
}