Symptomer
Når du kjører skript eller cmdleter ved hjelp av Microsoft Exchange Online gjennom ekstern PowerShell for å endre store datasett, opplever du ett eller begge av følgende symptomer:
-
Skript eller cmdleter tar lang tid å kjøre.
-
Du ser følgende begrensningsadvarsel i Exchange Online PowerShell:
ADVARSEL: Mikroforsinkelsen er brukt. Faktisk forsinket: <X> msecs, ... ADVARSEL: Mikroforsinkelsen er brukt. Faktisk forsinket: <X> msecs, enforced
Årsak
Denne virkemåten er etter utforming. Begrensningen brukes til å forhindre skadelige eller utilsiktede angrep mot tjenesten som kan påvirke serviceavtaler. Du kan trygt ignorere advarselen.
Omgå problemet
Hvis du vil omgå denne virkemåten, kan du prøve følgende alternativer i den angitte rekkefølgen.
Alternativ 1
Kjør et selvhjelpsdiagnose i Administrasjonssenter for Microsoft 365 for å oppdatere begrensningspolicyen for Exchange Remote PowerShell for leieren. Hvis du vil ha mer informasjon, kan du se Selvhjelpsdiagnose for problemer i Exchange Online og Outlook.
Alternativ 2
Bruk Exchange Online PowerShell V2-cmdleter til å kjøre jobben. Hvis du vil ha mer informasjon, kan du se Om Exchange Online PowerShell V2-modulen.
Alternativ 3
Legg til følgende hvilemoduselement i skriptene eller cmdletene. Dette elementet senker skriptet eller cmdleten til innenfor begrensningsgrensen.Start-Sleep -m <Time in milliseconds> I eksemplet nedenfor lagres listen over postbokser som hentes ved hjelp av Get-Mailbox cmdlet i en variabel. Denne variabelen brukes til å kjøre en handling på alle postboksene. Denne typen jobb er vanligvis begrenset. Ved å legge til hvilemoduselementet i cmdleten, kan du prøve å holde deg innenfor begrensningsgrensen.$MB=get-mailbox -resultsize unlimited $MB | %{Set-Mailbox $_.identity -CustomAttribute8 "Test"; Start-Sleep -m 500}
Alternativ 4
Bruk RobustCloudCommand-modulen til å kjøre skript eller cmdleter. Du kan installere denne modulen ved hjelp av den innebygde cmdleten Install-Module .Her er et eksempel på prosessen som bruker RobustCloudCommand-modulen til å legge til tillatelser i flere fellesmapper:
-
Eksporter listen over fellesmapper til PFList.csv-filen ved å kjøre følgende 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
-
Installer RobustCloudCommand-modulen ved å kjøre følgende cmdlet:Install-Module -Name RobustCloudCommand -Force
-
Importer listen over fellesmapper som ble generert i trinn 1, til variabelen $PFList ved å kjøre følgende cmdlet:$PFList = Import-Csv C:\Temp\PFList.csv
-
Legg til tillatelser for hver fellesmappe i $PFList variabelen ved å kjøre følgende cmdlet. Denne cmdleten oppretter LogFileName-loggen som inneholder detaljene for cmdleten og eventuelle feil som kan oppstå.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!: Vanligvis kan disse cmdletene kjøre i timevis eller dager, avhengig av antall objekter som er endret.
Mer informasjon
Trenger du fremdeles hjelp? Gå til Microsoft Community.