Dotyczy
Exchange Online

Symptomy

Podczas uruchamiania skryptów lub poleceń cmdlet przy Microsoft Exchange Online zdalnym programie PowerShell w celu modyfikowania dużych zestawów danych występują jeden lub oba następujące symptomy:

  • Uruchamianie skryptów lub cmdlet trwa długo.

  • W programie PowerShell jest wyświetlany następujący komunikat ostrzegawczy Exchange Online ograniczania:

    OSTRZEŻENIE: Zastosowano mikro opóźnienie. Rzeczywiste opóźnienie: <X> ms,... OSTRZEŻENIE: Zastosowano mikro opóźnienie. Rzeczywiste opóźnienie: <X>, Wymuszone

Przyczyna

Takie działanie jest celowe. Ograniczanie jest używane w celu zapobiegania złośliwym lub niezamierzonym atakom na usługę, które mogą mieć wpływ na umowy dotyczące poziomu usług. Możesz bezpiecznie zignorować komunikat ostrzegawczy.

Obejście

Aby pracować z tym zachowaniem, wypróbuj następujące opcje w podanej kolejności.

Opcja 1

Uruchom narzędzie diagnostyczne z samodzielną pomocą w centrum Microsoft 365 administracyjnego, aby zaktualizować Exchange ograniczania zdalnej obsługi programu PowerShell dla dzierżawy. Aby uzyskać szczegółowe informacje, zobacz Diagnostyka samoobsługi problemów z Exchange Online i Outlook.

Opcja 2

Użyj Exchange Online cmdlet programu PowerShell W2 do uruchomienia zadania. Aby uzyskać szczegółowe informacje, zobacz Informacje Exchange Online V2 programu PowerShell.

Opcja 3

Dodaj następujący element uśpienia do skryptów lub polecenia cmdlet. Ten element spowalnia wykonywanie skryptu lub polecenia cmdlet w granicach limitu ograniczania.Start-Sleep -m <Time in milliseconds> W poniższym przykładzie lista skrzynek pocztowych pobieranych za pomocą polecenia cmdlet Get-Mailbox jest przechowywana w zmiennej. Ta zmienna służy do uruchamiania akcji we wszystkich skrzynkach pocztowych. Tego rodzaju zadanie jest zazwyczaj ograniczane. Dodając element uśpienia do polecenia cmdlet, możesz spróbować pozostać w granicach limitu ograniczania.$MB=get-mailbox -resultsize unlimited $MB | %{Set-Mailbox $_.identity -CustomAttribute8 "Test"; Start-Sleep -m 500}

Opcja 4

Użyj modułu RobustCloudCommand, aby uruchomić skrypty lub polecenia cmdlet. Ten moduł można zainstalować przy użyciu wbudowanego polecenia cmdlet Install-Module cmdlet.Oto przykład procesu, w który dodawania uprawnień do wielu folderów publicznych używa modułu RobustCloudCommand:

  1. Wyeksportuj listę folderów publicznych do PFList.csv, uruchamiając następujące polecenie cmdlet: Invoke-Command -Scriptblock {Get-PublicFolder -Recurse -Resultsize Unlimited | Select-Object -property Name,Identity} -Session (Get-Pssession) |Export-csv -Path C:\Temp\PFList.csv -NoTypeInformation

  2. Zainstaluj moduł RobustCloudCommand, uruchamiając następujące polecenie cmdlet: Install-Module -Name RobustCloudCommand -Force

  3. Zaimportuj listę folderów publicznych wygenerowaną w kroku 1 do zmiennej $PFList, uruchamiając następujące polecenie cmdlet: $PFList = Import-Csv C:\Temp\PFList.csv

  4. Dodaj uprawnienia dla każdego folderu publicznego w zmiennej $PFList, uruchamiając następujące polecenie cmdlet. To polecenie cmdlet tworzy dziennik LogFileName zawierający szczegóły polecenia cmdlet i wszelkie mogące wystąpić błędy.Start-RobustCloudCommand -LogFile C:\Temp\LogFileName.log -Recipients $PFList -ScriptBlock {Add-PublicFolderClientPermission -Identity $input.identity.tostring() -User User@Contoso.com -AccessRights CreateItems} -IdentifyingProperty Identity -UserPrincipalName Admin@contoso.com

Uwaga: Zazwyczaj te polecenia cmdlet można uruchamiać przez wiele godzin lub nawet dni, w zależności od liczby zmodyfikowanych obiektów.

Więcej informacji

Nadal potrzebujesz pomocy? Przejdź do witryny Microsoft Community.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.