Gäller för
Exchange Online

Symptom

När du kör skript eller cmdletar med hjälp av Microsoft Exchange Online via fjärr-PowerShell för att ändra stora datauppsättningar får du något av eller båda av följande symptom:

  • Det tar lång tid att köra skript eller cmdletar.

  • Följande varningsmeddelande om begränsning visas i Exchange Online PowerShell:

    VARNING! Mikrofördröjning används. Faktisk fördröjd: <X> sek, ... VARNING! Mikrofördröjning används. Faktisk fördröjd: <X-> sek, Framtvingad

Orsak

Detta är avsiktligt. Begränsningen används för att förhindra skadliga eller oavsiktliga attacker mot tjänsten som kan påverka servicenivåavtal. Du kan ignorera varningsmeddelandet.

Lösning

Prova följande alternativ i den angivna ordningen för att kringgå det här beteendet.

Alternativ 1

Kör en självhjälpsdiagnostik i Administrationscenter för Microsoft 365 för att uppdatera Exchange Remote PowerShell-begränsningsprincipen för klientorganisationen. Mer information finns i Självhjälpsdiagnostik för problem i Exchange Online och Outlook.

Alternativ 2

Använd Exchange Online PowerShell V2-cmdletar för att köra jobbet. Mer information finns i Om Exchange Online PowerShell V2-modul.

Alternativ 3

Lägg till följande strömsparlägeselement i skripten eller cmdletarna. Det här elementet saktar ned skriptet eller cmdleten till inom begränsningsgränsens gränser.Start-Sleep -m <Time in milliseconds> I följande exempel lagras listan över postlådor som hämtas med hjälp av Get-Mailbox cmdlet i en variabel. Den här variabeln används för att köra en åtgärd på alla postlådor. Den här typen av jobb begränsas vanligtvis. Genom att lägga till strömsparlägeselementet i cmdleten kan du försöka hålla dig inom gränserna för begränsningsgränsen.$MB=get-mailbox -resultsize unlimited $MB | %{Set-Mailbox $_.identity -CustomAttribute8 "Test"; Start-Sleep -m 500}

Alternativ 4

Använd RobustCloudCommand-modulen för att köra skript eller cmdletar. Du kan installera den här modulen med hjälp av den inbyggda Install-Module cmdleten.Här är ett exempel på processen som använder RobustCloudCommand-modulen för att lägga till behörigheter till flera gemensamma mappar:

  1. Exportera listan med gemensamma mappar till PFList.csv genom att köra följande 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. Installera RobustCloudCommand-modulen genom att köra följande cmdlet:Install-Module -Name RobustCloudCommand -Force

  3. Importera listan med gemensamma mappar som skapades i steg 1 till variabeln $PFList genom att köra följande cmdlet:$PFList = Import-Csv C:\Temp\PFList.csv

  4. Lägg till behörigheter för varje gemensam mapp i den $PFList variabeln genom att köra följande cmdlet. Den här cmdleten skapar LogFileName-loggen som innehåller information om cmdleten och eventuella fel som kan uppstå.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

Obs!: Vanligtvis kan dessa cmdletar köras i timmar eller till och med dagar, beroende på antalet objekt som ändras.

Mer information

Behöver du fortfarande hjälp? Gå till Microsoft Community.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.