Как я могу распараллелить этот сценарий PowerShell O365

180
Brian Hampson

Сценарий открывает соединение с 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
Мне удалось значительно ускорить сбор почтовых ящиков с помощью команды invoke: `$ MBs = Invoke-Command -Session (Get-PSSession |? {$ _. State -eq" Opened "}) -ScriptBlock ` Brian Hampson 6 лет назад 0
Но часть "get-inboxrule" - через все 15 КБ наших почтовых ящиков, похоже, это займет 15 часов. :( Brian Hampson 6 лет назад 0
[публикация на нескольких сайтах] (https://stackoverflow.com/q/46722928/1699210) bummi 6 лет назад 1
У меня нет O365 для тестирования прямо сейчас, но если вы можете заставить свою скриптовую логику запрашивать имя почтового ящика AM, а затем другую, чтобы запустить NZ, и вы запустите оба одновременно, это может ускорить некоторые, но трудно сказать, не зная все ваши системные характеристики, узкие места и т. д., но что-то в этом роде должно быть достаточно простым для тестирования. Если вы видите реальные многообещающие результаты, попробуйте сделать из AZ 4 набора, а не 2, если вы знаете, что я говорю. Просто быстрая идея. Pimp Juice IT 6 лет назад 0

0 ответов на вопрос

Похожие вопросы