コマンド内のデータが、-ResultSize Unlimited の実行時にセッション構成エラーによって許可される最大値 Get-Mailbox 超えました
元の KB 番号: 2922668
現象
リモート Exchange PowerShell コマンド Get-Mailbox -ResultSize Unlimited を使用して、organization内Exchange Onlineメールボックスに関する情報を取得すると、次のようなエラー メッセージが表示されます。
[ClientAccessServer=XXXXXXXXXCA014,
BackEndServer=XXXXXXmb294.namprd05.prod.outlook.com
,RequestId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,TimeStamp=<Date><Time>] コマンドのデータがセッション構成で許可されている最大値を超えました。 許可される最大値は 500 MB です。 リモート コンピューター上のセッション構成の入力の変更、別のセッション構成の使用、または "PSMaximumReceivedObjectSizeMB" プロパティと "PSMaximumReceivedDataSizePerCommandMB" プロパティの変更
原因
この問題は、1 つのセッションで大量のデータを取得しようとするときにプロセスがタイムアウトしたときに発生します。 この問題は、非常に大きなorganizationからメールボックス情報を取得しようとすると発生する可能性があります。
回避策
この問題を回避するには、コマンドを実行してサーバー上で実行し、各コマンドの間に一時停止を追加して調整を防ぎます。
手順 1 - サーバーからオブジェクトの一覧を取得する
コマンドレットを Invoke-Command
使用して、サーバーからコマンドを実行します。 例:
$mailboxes = Invoke-Command -Session (Get-PSSession) -ScriptBlock {Get-Mailbox -ResultSize Unlimited | Select-Object -Property Identity,DisplayName}
手順 2 - 各コマンドの間に一時停止を追加する
コマンドレットを Start-Sleep
使用して、処理中の各オブジェクトの間に一時停止を追加します。 例:
foreach($m in $mailboxes) {Get-MailboxPermission $m.Identity.ToString() | Where { ($_.AccessRights -eq "FullAccess") -and ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF")}; Start-Sleep -Milliseconds 500}
詳細
詳細については、次の Microsoft TechNet リソースを参照してください。
さらにヘルプが必要ですか? Microsoft コミュニティを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示