web-dev-qa-db-ja.com

GetMsolUser -Allの実行時に、「オブジェクトグラフでシリアル化または逆シリアル化できるアイテムの最大数」

次のコマンドを実行するOffice365テナントがあります

Get-MsolUser -All

サーバーAで取得

get-msoluser : The formatter threw an exception while trying to deserialize the message: There was an error while
trying to deserialize parameter http://provisioning.microsoftonline.com/:ListUsersResult. The InnerException message
was 'Maximum number of items that can be serialized or deserialized in an object graph is '65536'. Change the object
graph or increase the MaxItemsInObjectGraph quota. '.  Please see InnerException for more details.
At line:1 char:1
+ get-msoluser -All
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [Get-MsolUser], NetDispatcherFaultException
    + FullyQualifiedErrorId : System.ServiceModel.Dispatcher.NetDispatcherFaultException,Microsoft.Online.Administrati
   on.Automation.GetUser

同じテナントと通信しているサーバーbでは、正常に機能します。どちらにも同じバージョンのAzureActiveDirectoryPowerShellコマンドレットがあります。

ぐるぐる回ってみると、MaxItemsInObjectGraphをより高い値に設定できることがわかりますが、PowerShellでこれを行うための適切な構成ファイルがどこにあるかわかりません。または、数週間前までにこれを引き起こすように変更されたものでさえ、問題のあるサーバーも正常に機能していました。

1
zu1b

追加

<dataContractSerializer maxItemsInObjectGraph="2147483646" /> 

あなたのmachine.config
C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Config
または古い.NETの場合:
C:\ Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG

(64ビットの場合はframework64フォルダーを使用し、それ以外の場合はframeworkフォルダーを使用します)

テキストはendpointBehaviours要素に追加する必要があります。だから私のものは次のようになります:

<endpointBehaviors>
  <dataContractSerializer maxItemsInObjectGraph="2147483646" />    
  <Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior/>  
</endpointBehaviors>
1
Air2

変更されていないmachine.configファイルを使用する人のためのより完全な答え。

1)PowerShellのバージョンを$ psversiontable.psversion.tostring()で確認します

2)PowerShellのバージョンに対応するフォルダーに移動しますC:\ Windows\Microsoft.NET\Framework *\*\CONFIG

3)machine.configを変更します。

次の行の間:

</configSections>
<configProtectedData defaultProvider="RsaProtectedConfigurationProvider">

追加:

<system.serviceModel>
    <commonBehaviors>
        <endpointBehaviors>
            <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </endpointBehaviors>
    </commonBehaviors>
</system.serviceModel>
0
Tero Pelander