Wie kann ich dieses Powershell-O365-Skript parallelisieren?

307
Brian Hampson

Das Skript öffnet eine Verbindung zu O365 und durchläuft dann alle Postfächer, um nach Posteingangsregeln zu suchen, die möglicherweise schädlich sind.

In unserer Organisation von 12K-Postfächern ist für die Ausführung dieses Skripts mehr als 24 Stunden erforderlich.

$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
Es ist mir gelungen, das Sammeln von Postfächern mithilfe von invoke-command erheblich zu beschleunigen: $ MBs = Invoke-Command-Session (Get-PSSession |? {$ _. State -eq "Opened"}) -ScriptBlock ` Brian Hampson vor 7 Jahren 0
Aber der "get-inboxrule" -Teil - über alle 15.000 Postfächer hinweg scheint 15 Stunden zu dauern. :( Brian Hampson vor 7 Jahren 0
[Cross Site Post] (https://stackoverflow.com/q/46722928/1699210) bummi vor 7 Jahren 1
Ich habe nicht jetzt O365 zum Testen, aber wenn Sie Ihre Skriptlogik dazu bringen können, den Mailboxnamen AM abzufragen und dann ein anderes, um NZ auszuführen, und Sie beide gleichzeitig ausführen, kann dies einige, aber schwierige Sprüche beschleunigen, ohne all Ihr Wissen zu kennen Systemspezifikationen, Flaschenhälse usw., aber etwas dieser Art sollte zum Testen einfach genug sein. Wenn Sie wirklich vielversprechende Ergebnisse sehen, versuchen Sie, AZ aus 4 Sätzen zu machen, wenn Sie wissen, was ich sage. Nur eine kurze Idee. Pimp Juice IT vor 7 Jahren 0

0 Antworten auf die Frage