Office 365 ポータルまたは Windows PowerShell 用 Azure Active Directory モジュールでユーザーの検証エラーが表示されます

適用先
Exchange Online User and Domain Management_v1

問題

Office 365 ポータルまたは Windows PowerShell 用 Microsoft Azure Active Directory モジュールで、管理者に検証エラーが表示されます。

  • Office 365のポータルで、次の 1 つ以上の現象が発生します。

    • 「X」の付いた赤い円がユーザーの横に表示されます。

    • ユーザー管理ページの上部に次のエラー メッセージが表示されます。

      1 つ以上のユーザー アカウントにエラーがあります。 影響を受けるユーザーと詳細なエラー メッセージを表示するには、エラーのあるユーザーでユーザーのリストをフィルタリングし、ユーザーを選択して、[編集]をクリックします。

      さらに、ユーザーのプロパティを表示すると、次の形式のメッセージが表示されます。
      <Service>: <Error Message>このようなエラー メッセージの例を次に示します。

      Exchange: "<Name>" という名前が既に使用されています。 別の名前を試してください

  • Windows PowerShell 用 Azure Active Directory モジュールで、コマンドレットを実行すると検証エラー メッセージが表示されます。 たとえば、Get-MsolUser -UserPrincipalName johnsmith@contoso.com |[エラー] を選択し、ValidationStatus コマンドレットを選択すると、次のエラー メッセージが表示されます。

    エラー: {Microsoft.Online.Administration.ValidationError,
    Microsoft.Online.Administration.ValidationError,
    Microsoft.Online.Administration.ValidationError}
    ValidationStatus : エラー

原因

この問題の原因は、検証エラーによって異なります。 特定のエラーの詳細については、Windows PowerShell 用 Azure Active Directory モジュールのオブジェクト タイプに基づいて適切な Windows PowerShell コマンドレットを実行してください。

連絡先の場合

次のコマンドレットは、オブジェクトのすべてのエラーを取得します。


$errors = (Get-MsolContact –ObjectID <Object_ID>).Errors 

次のコマンドレットは、各エラーを反復処理し、サービス情報とエラー メッセージを取得します。


$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription} 

たとえば、次のコマンドレットを実行します。


$errors = (Get-MsolContact –ObjectID 430ecced-b2c5-455b-94df-ab2b5756b060 ).Errors 

$errors | foreach-object {"`nService: "+ $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription} 

グループの場合

次のコマンドレットは、オブジェクトのすべてのエラーを取得します。


$errors = (Get-MsolGroup –ObjectID <Object_ID>).Errors 

次のコマンドレットは、各エラーを反復処理し、サービス情報とエラー メッセージを取得します。


$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription} 

たとえば、次のコマンドレットを実行します。


$errors = (Get-MsolGroup –ObjectID 430ecced-b2c5-455b-94df-ab2b5756b060 ).Errors 

$errors | foreach-object {"`nService: "+ $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription} 

ユーザーの場合

次のコマンドレットは、対象のオブジェクトのすべてのエラーを取得します。


$errors = (Get-MsolUser -UserPrincipalName "<User_ID>").Errors 

次のコマンドレットは、Azure AD 上のすべてのユーザーのすべてのエラーを取得します。


Get-MsolUser -HasErrorsOnly -All | ft DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} -AutoSize -wrap

CSV 形式のエラーを取得するには、次のコマンドレットを使用します。


Get-MsolUser -HasErrorsOnly | select DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} | Export-csv c:\temp\validationerrors.csv

次のコマンドレットは、各エラーを反復処理し、サービス情報とエラー メッセージを取得します。


$errors | foreach-object {"`nService: " + $_.ErrorDetail.Name.split("/")[0]; "Error Message: " + $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription}

たとえば、次のコマンドレットを実行します。


$errors = (get-msoluser -userprincipalname "johnsmith@contoso.com").Errors 

Get-MsolUser -HasErrorsOnly -All | ft DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} -AutoSize -wrap


Get-MsolUser -HasErrorsOnly | select DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}} | Export-csv c:\temp\validationerrors.csv


$errors | foreach-object {"`nService: "+ $_.ErrorDetail.Name.split("/")[0]; "Error Message: "+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription} 

出力は次のようになります。

サービス: MicrosoftCommunicationsOnline

エラー メッセージ: ローカル Active Directory の msRTCSIP-LineURI フィールドの値が一意ではないか、ユーザーに対して提出された WorkPhone が他のユーザーと競合しています。 ローカル Active Directory またはテナント管理 UI の値を修正します。 修正すると、次回の Active Directory の同期中に Microsoft Online Services ディレクトリの値が更新されます。

解決方法

次の表は、一般的な検証エラーの一部です。

注: これは、検証エラーの完全な一覧ではありません。 一覧にないエラーについては、エラー メッセージに含まれている情報に基づいて問題を解決します。

エラー メッセージ 原因 解決法
Exchange: ..という名前。 は既に使用されています。 別の名前を指定してください。 不明 次のコマンドレットを実行します。

Set-MsolUser – UserPrincipalName <UserPrincipalName of the User>
Exchange: オブジェクト "<ObjectID>" が見つかりませんでした。 スペルが正しいことを確認するか、別のオブジェクトを指定してください。 このオブジェクトから参照されている別のオブジェクト (アクセス許可など) があり、そのオブジェクトが見つかりません。 [フル アクセス]、[送信者]、[代理送信] などのアクセス許可を確認します。 それらのユーザーが存在することを確認するか、アクセス許可を削除してください。
Exchange: グループ "namprd03.prod.outlook.com/Microsoft Exchange Hosted Organizations/contoso.onmicrosoft.com/Puget Sound/BLDG 1" はルーム リストに変換できません。 会議室リストには、メンバーとして会議室メールボックスまたは会議室リストのみを含めることができます。 「namprd03.prod.outlook.com/Microsoft Exchange Hosted Organizations/contoso.onmicrosoft.com/BLDG 1\/Room100」は、会議室メールボックスまたは会議室リストではありません。 これは、会議室メールボックスや他の会議室リストではないメンバーを含む会議室リストです。 グループに会議室メールボックスまたは会議室リストのみが含まれていることを確認してください。 詳細については、以下のマイクロソフト TechNet Web サイトを参照してください。
Exchange: SKU 'BPOS_L_Standard' のメールボックス プランが見つかりませんでした。 ユーザーは電子メールにアクセスできません。 会社は以前、プロフェッショナル向けの Office 365 プランまたは中小企業向けプランまたは Office 365 Small Business プランを持っていました。 解決方法はありません。 ユーザーは電子メール メッセージにアクセスできます。
Lync: ローカル Active Directory の msRTCSIP-LineURI フィールドの値が一意ではないか、ユーザーに対して提出された WorkPhone が他のユーザーと競合します。 ローカル Active Directory またはテナント管理 UI の値を修正します。 修正すると、次回の Active Directory の同期中に Microsoft Online Services ディレクトリの値が更新されます。 Office 365 の複数のユーザーが、一致する msRTCSIP-LineURI または WorkPhone プロパティを持っています。 これには、複数の Office 365 企業の複数のユーザーが同じ msRTCSIP-LineURI または WorkPhone 値を持つシナリオが含まれます。 msRTCSIP-LineURI または WorkPhoneプロパティは、Office365 で一意である必要があります。

詳細情報

エラーが発生しているオブジェクトを表示するには、Windows PowerShell 用 Azure Active Directory モジュールで次の Windows PowerShell コマンドを実行します。

-

Get-MsolUser | Where {$_.Errors –ne $null} | Select ObjectID, DisplayName 
  • Get-MsolContact | Where {$_.Errors –ne $null} | Select ObjectID, DisplayName 
    
  • Get-MsolGroup | Where {$_.Errors –ne $null} | Select ObjectID, DisplayName 
    

注この記事に記載されている Windows PowerShell コマンドには、Windows PowerShell 用の Azure Active Directory モジュールが必要です。 

Windows PowerShell 用 Azure Active Directory モジュールの詳細については、以下の Microsoft Web サイトを参照してください。

Windows PowerShell を使用して Azure AD を管理する

さらにサポートが必要な場合 Microsoft コミュニティを参照してください。