適用先
Exchange Online

現象

リモート PowerShell でMicrosoft Exchange Onlineを使用してスクリプトまたはコマンドレットを実行して大規模なデータ セットを変更すると、次のいずれかの現象または両方が発生します。

  • スクリプトまたはコマンドレットの実行には長い時間がかかります。

  • Exchange Online PowerShell に次の調整警告メッセージが表示されます。

    警告: マイクロ 遅延が適用されます。 実際の遅延: <X> ミリ秒、... 警告: マイクロ 遅延が適用されます。 実際の遅延: <X> ミリ秒、強制

原因

この動作は仕様です。 調整は、サービス レベルアグリーメントに影響を与える可能性のあるサービスに対する悪意のある攻撃または意図しない攻撃を防ぐために使用されます。 警告メッセージは無視しても問題ありません。

回避策 

この動作を回避するには、指定した順序で次のオプションを試してください。

オプション 1

Microsoft 365 管理センターでセルフヘルプ診断を実行して、テナントの Exchange リモート PowerShell 調整ポリシーを更新します。 詳細については、「Exchange Onlineと Outlook の問題に関するセルフ ヘルプ 診断」を参照してください。

オプション 2

Exchange Online PowerShell V2 コマンドレットを使用してジョブを実行します。 詳細については、「Exchange Online PowerShell V2 モジュールについて」を参照してください。

オプション 3

スクリプトまたはコマンドレットに次の sleep 要素を追加します。 この要素は、スロットル制限の境界内にスクリプトまたはコマンドレットの速度を低下します。Start-Sleep -m <Time in milliseconds> 次の例では、 Get-Mailbox コマンドレットを使用して取得されるメールボックスの一覧が変数に格納されています。 この変数は、すべてのメールボックスでアクションを実行するために使用されます。 通常、この種類のジョブは調整されます。 sleep 要素をコマンドレットに追加することで、調整制限の境界内に留まるようにすることができます。$MB=get-mailbox -resultsize unlimited $MB | %{Set-Mailbox $_.identity -CustomAttribute8 "Test"; Start-Sleep -m 500}

オプション 4

RobustCloudCommand モジュールを使用して、スクリプトまたはコマンドレットを実行します。 このモジュールは、組み込みの Install-Module コマンドレットを使用してインストールできます。RobustCloudCommand モジュールを使用して複数のパブリック フォルダーにアクセス許可を追加するプロセスの例を次に示します。

  1. 次のコマンドレットを実行して、パブリック フォルダーの一覧を PFList.csv ファイルにエクスポートします: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. 次のコマンドレットを実行して、RobustCloudCommand モジュールをインストールします:Install-Module -Name RobustCloudCommand -Force

  3. 手順 1 で生成されたパブリック フォルダーの一覧を、次のコマンドレットを実行して $PFList 変数にインポートします:$PFList = Import-Csv C:\Temp\PFList.csv

  4. 次のコマンドレットを実行して、 $PFList 変数内の各パブリック フォルダーのアクセス許可を追加します。 このコマンドレットは、コマンドレットの詳細と発生する可能性があるエラーを含む LogFileName ログを作成します。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

注: 通常、これらのコマンドレットは、変更されたオブジェクトの数に応じて、数時間または数日実行できます。

詳細情報

さらにヘルプが必要ですか? Microsoft コミュニティを参照してください。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。