Как я могу распараллелить этот сценарий 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 } } } }
Мне удалось значительно ускорить сбор почтовых ящиков с помощью команды 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 ответов на вопрос
Похожие вопросы
-
3
Как я могу "инвертировать" структуру каталогов?
-
3
Как максимально использовать время автономной работы ноутбука на ПК с Windows?
-
1
Что можно отключить на Windows XP, чтобы освободить память, не ломая все
-
-
2
Что можно отключить на ноутбуке Vista, чтобы освободить ресурсы
-
5
Почему фанат моего процессора гонит видео или виртуальные машины?
-
4
Firefox 3.5 медленно, чтобы начать выпуск
-
1
Приостановить все, кроме x задач, интенсивно использующих процессор
-
7
Запустить синергетический клиент при загрузке в Mac OS X
-
2
Как мне интерпретировать номера памяти в диспетчере задач Windows?
-
4
Какие факторы наиболее важны при рассмотрении аспектов производительности материнской платы?