Belirtiler
Büyük veri kümelerini değiştirmek için Microsoft Exchange Online'i uzak PowerShell aracılığıyla kullanarak betikleri veya cmdlet'leri çalıştırıyorsanız, aşağıdaki belirtilerden birini veya her ikisini de kullanabilirsiniz:
-
Betiklerin veya cmdlet'lerin çalışması çok uzun zaman alır.
-
Exchange Online PowerShell'de aşağıdaki azaltma uyarı iletisini görüyorsunuz:
UYARI: Mikro gecikme uygulanır. Gerçek gecikme: <X> mseks, ...
UYARI: Mikro gecikme uygulanır. Gerçek gecikme: <X> mseks, Zorunlu
Neden
Bu davranış tasarım gereğidir. Azaltma, Hizmet Düzeyi Sözleşmelerini etkileyebilecek hizmetle ilgili kötü amaçlı veya bu olmayan saldırılardan engellemek için kullanılır. Uyarı iletisi güvenle yok sayabilirsiniz.
Geçici Çözüm
Bu davranışa karşı çalışmak için, verilen sırada aşağıdaki seçenekleri deneyin.
Seçenek 1
Kiracınız için Uzak PowerShell azaltma Microsoft 365 için Exchange yönetim merkezinde kendi kendine yardım tanılamayı çalıştırın. Ayrıntılar için bkz. Kendi kendine yardım ve hata Exchange Online Outlook.
Seçenek 2
Işi Exchange Online için PowerShell V2 cmdlet'lerini kullanın. Ayrıntılar için bkz. Exchange Online PowerShell V2 modülü hakkında.
3. Seçenek
Betiklere veya cmdlet'lere aşağıdaki uyku öğesini ekleyin. Bu öğe komut dosyasını veya cmdlet'i azaltma sınırının sınırları içinde yavaşlar.
Start-Sleep -m <Time in milliseconds>
Aşağıdaki örnekte, cmdlet cmdlet'i kullanılarak Get-Mailbox posta kutularının listesi bir değişkende depolanır. Bu değişken, tüm posta kutularda eylem çalıştırmak için kullanılır. Bu tür bir iş genellikle kısıtlandı. Cmdlet'e uyku öğesi ekleyerek, azaltma sınırının sınırları içinde kalmaya çalışebilirsiniz.
$MB=get-mailbox -resultsize unlimited $MB | %{Set-Mailbox $_.identity -CustomAttribute8 "Test"; Start-Sleep -m 500}
4. Seçenek
Betikleri veya cmdlet'leri çalıştırmak için RobustCloudCommand modülünü kullanın. Bu modülü, Install-Module cmdlet'ini kullanarak yükleyebilirsiniz.
Birden çok ortak klasöre izin eklemek için RobustCloudCommand modülünü kullanan işlem örneği:
-
Ortak klasörler listesini bir PFList.csv cmdlet'i çalıştırarak dışarı aktarın:
Invoke-Command -Scriptblock {Get-PublicFolder -Recurse -Resultsize Unlimited | Select-Object -property Name,Identity} -Session (Get-Pssession) |Export-csv -Path C:\Temp\PFList.csv -NoTypeInformation -
Aşağıdaki cmdlet'i çalıştırarak RobustCloudCommand modülünü yükleyin:
Install-Module -Name RobustCloudCommand -Force -
1. adımda oluşturulan ortak klasörlerin listesini $PFList cmdlet'i çalıştırarak içeri aktarın:
$PFList = Import-Csv C:\Temp\PFList.csv -
Aşağıdaki cmdlet'i çalıştırarak $PFList klasöre izin ekleyin. Bu cmdlet, cmdlet'in ayrıntılarını ve ortaya çıkabilir tüm hataları içeren LogFileName günlüğünü oluşturur.
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
Not: Normalde, değiştirilen nesne sayısına bağlı olarak bu cmdlet'ler saat, hatta gün boyunca değiştirilebilir.
Daha fazla bilgi
Yine de yardım mı gerekiyor? Microsoft Community web sitesine gidin.