Office 365 ディレクトリ同期を妨げる重複または無効な属性を検出する方法

現象
ディレクトリ同期後、Microsoft Office 365 の管理者に次のような警告メッセージが電子メールで送られてきます。
件名: Directory Synchronization Error Report (ディレクトリ同期エラー レポート)
このエラー レポートには、以下のエラー メッセージが1 つ以上含まれている場合があります。
  • “A synchronized object with the same proxy address already exists in your Microsoft Online Services directory.” (同じプロキシ アドレスを持つ同期オブジェクトが、Microsoft Online Services ディレクトリに既に存在します。)
  • “Unable to update this object because the user ID is not found.” (ユーザー ID が見つからないため、オブジェクトを更新できません。)
  • “Unable to update this object in Microsoft Online Services because the following attributes associated with this object have values that may already be associated with another object in your local directory.”
    (このオブジェクトに紐づく次の属性値はローカル ディレクトリで既に他のオブジェクトに紐付けられているため、Microsoft Online Services でこのオブジェクトを更新できません。) 
  • "Unable to update this object because the following attributes associated with this object have values that may already be associated with another object in your local directory services: [UserPrincipalName john@contoso.com;]. Correct or remove the duplicate values in your local directory."
    (このオブジェクトに紐づく属性値 [UserPrincipalName john@contoso.com;] は、ローカル ディレクトリ サービスの他のオブジェクトに既に紐付けられているため、このオブジェクトを更新できません。ローカル ディレクトリの重複している属性値を変更または削除してください。)
  • Unable to update this object because the following attributes associated with this object have values that may already be associated with another object in your local directory services: [ProxyAddresses SMTP:john@contoso.com;]. Correct or remove the duplicate values in your local directory."
    (このオブジェクトに紐づく属性値 [ProxyAddresses SMTP:john@contoso.com;] は、ローカル ディレクトリ サービスの他のオブジェクトに既に紐付けられているため、このオブジェクトを更新できません。ローカル ディレクトリの重複している属性値を変更または削除してください。)
更に、Azure Active Directory (接続) 同期サービスを実行している場合は、次のエラー メッセージのいずれかを含むイベント ID 6941 がイベント ビューアーのアプリケーション ログに記録されます:
  • Event ID: 6941
    Log Name: Application
    Source: ADSync
    Level: Error
    Details:
    ECMA2 MA export run caused an error.
    (ECMA 2.0 対応の管理エージェントのエクスポートを実行したことによりエラーが発生しました。)

    Error Name: AttributeValueMustBeUnique
    Error Detail: Unable to update this object because the following attributes associated with this object have values that may already be associated with another object in your local directory services: [UserPrincipalName john@contoso.com;]. Correct or remove the duplicate values in your local directory. Please refer to http://support.microsoft.com/kb/2647098 for more information on identifying objects with duplicate attribute values.
    (エラー詳細: このオブジェクトに紐づく属性値 [UserPrincipalName john@contoso.com;] は、ローカル ディレクトリ サービスの他のオブジェクトに既に紐付けられているため、このオブジェクトを更新できません。ローカル ディレクトリの重複している属性値を変更または削除してください。属性値が重複しているオブジェクトの特定についての詳細は、http://support.microsoft.com/kb/2647087 を参照してください。)
  • Event ID: 6941
    Log Name: Application
    Source: ADSync
    Level: Error
    Details:
    ECMA2 MA export run caused an error.
    (ECMA 2.0 対応の管理エージェントのエクスポートを実行したことによりエラーが発生しました。)

    Error Name: InvalidSoftMatch
    Error Detail: Unable to update this object because the following attributes associated with this object have values that may already be associated with another object in your local directory services: [ProxyAddresses SMTP:john@contoso.com;]. Correct or remove the duplicate values in your local directory.
    (エラー詳細: このオブジェクトに紐づく属性値 [ProxyAddresses SMTP:john@contoso.com;] は、ローカル ディレクトリ サービスの他のオブジェクトに既に紐付けられているため、このオブジェクトを更新できません。ローカル ディレクトリの重複している属性値を変更または削除してください。)
原因
この問題は、オンプレミス Active Directory ドメイン サービス (AD DS) スキーマ内のユーザー オブジェクトに重複または無効なエイリアス値が存在し、ディレクトリ同期中にこれらのユーザー オブジェクトが AD DS スキーマから Office 365 に正常に同期されない場合に発生します。

Office 365 組織内では、エイリアスは唯一である必要があります。簡易メール転送プロトコル (SMTP) アドレスの @ マークの後ろが複数のサフィックスであっても、エイリアス値は唯一の値である必要があります。

オンプレミス環境では、SMTP アドレスの @ マークの後ろのサフィックスが異なる場合、同じエイリアス値も使用できます。

重複するエイリアス値を持つオブジェクトを Office 365で作成すると、それぞれを一意のエイリアスにするために、エイリアスに対して自動的に番号を付記します (例: 重複するエイリアス値が “Albert” とすると、エイリアスは自動的に “Albert2” となり、“Albert2” が既に使われている場合は “Albert3” (以降同様) となります)。しかし、重複するエイリアス値を持つオブジェクトをオンプレミス AD DS で作成すると、ディレクトリ同期の実行時にオブジェクトの競合が生じるため、同期は失敗します。 
解決方法
問題を解決するには、次の手順を用いて重複している値や他の AD DS オブジェクトと競合する値を特定します。これを行うには、以下のいずれかの方法を実行します。

方法 1: IdFix DirSync エラー修正ツールを使用する

IdFix DirSync エラー修正ツールを使用して重複または無効な属性を特定します。IdFix ツールを使用して属性の重複を解決するには、以下の Microsoft Knowledge Base 資料を確認してください:
2857385: 「IdFix ツール実行後、エラー欄に "Duplicate" と表示される」
IdFix ツールの詳細については、「IdFix DirSync エラー修正ツール」 (英語) を参照してください。

方法 2: 既存のオンプレミス ユーザーを Azure AD ユーザーにマップする


既存のオンプレミス ユーザーを Azure AD ユーザーにマップするには、以下の Microsoft Knowledge Base 資料を参照してください。
2641663: 「SMTP がディレクトリ同期でオンプレミスのユーザーアカウントを Office 365 ユーザーアカウントと一致させる方法」

方法 3: ディレクトリ同期で Azure AD 内に作成されなかったオブジェクトにより引き起こされた属性の競合を特定する

Office 365 管理ツールを使用して作成された (かつ、ディレクトリ同期で Azure AD に作成されなかった) ユーザー オブジェクトによって引き起こされた属性の競合を特定するには、以下の手順に従ってください。
  1. オンプレミス AD DS ユーザー アカウントの属性を特定します。これを行うには、Windows サポート ツールがインストールされているコンピューターで、以下の手順に従って実行してください:
    1. [スタート] をクリックして、[ファイル名を指定して実行] に「ldp.exe」と入力してから、[OK]をクリックします。 
    2. [Connection] (接続)[Connect] (接続する) を順にクリックします。AD DS ドメイン コントローラーのコンピューター名を入力してから、[OK] をクリックします。
    3. [Connection] (接続)[Bind] (バインド)[OK] を順にクリックします。
    4. [View] (表示)[Tree View] (ツリー表示) を順にクリックし、[BaseDN] ドロップダウン リストから AD DS ドメインを選択し、[OK] をクリックします。
    5. ナビゲーション ペインで、正しく同期されないオブジェクトを探し、ダブルクリックします。画面右側の [詳細] ペインでは、すべてのオブジェクト属性が表示されます。以下の例はオブジェクト属性を示すものです。

    6. userPrincipalName 属性値および、複数値の proxyAddresses 属性の各 SMTP アドレスを記録します。これらの値は、後ほど必要となります。

      属性名備考
      proxyAddressesproxyAddresses (3): x500:/o=Exchange/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=1ae75fca0d3a4303802cea9ca50fcd4f-7628376; smtp:7628376@service.contoso.com; SMTP:7628376@contoso.com; 
      • 属性ラベルの隣の括弧の数字は、複数値属性であるプロキシ アドレス値の数を表します。
      • 個別のプロキシ アドレス値には、セミコロン (;) で区切られます。
      • プライマリ SMTP プロキシ アドレス値は、大文字の ”SMTP:” で表示されます。
      userPrincipalName7628376@contoso.com
    7. 注: Ldp.exe ツールは、Windows Server 2008 および Windows Server 2003 サポート ツールに含まれています。Windows Server 2003 サポート ツールは、Windows Server 2003 インストール メディアに含まれています。また、Ldp.exe ツールは、以下の Microsoft Web サイトからダウンロードできます。
  2. Windows PowerShell 用Azure Active Directory モジュールを使用して、Office 365 テナントに接続をします。これを行うには、以下の手順に従ってください。
    1. [スタート]、[すべてのプログラム]、[Windows Azure Active Directory] の順にクリックしてから、[Windows PowerShell 用 Windows Azure Active Directory モジュール] をクリックします。
    2. 以下のコマンドを順番に入力して、各コマンドの入力後に Enter を押します。 
      • $cred = get-credential

        注: 要求があれば、Office 365 管理者の資格情報を入力します。
      • Connect-MSOLService –credential $cred
      次の手順で使用するため、コンソール画面を開いたままにします。
  3. Office 365 テナントの userPrincipalName 属性が重複していないか確認します。

    手順 2 で開いたコンソールで、以下のコマンドを順番に入力して、各コマンドの入力後に Enter を押します。 
    • $userUPN = "<search UPN>"

      注: このコマンドの "<search UPN>"に、手順 1 の F で記録した userPrincipalName 属性値を入力します。 
    • get-MSOLUser –UserPrincipalName $userUPN | where {$_.LastDirSyncTime -eq $null}
    次の手順で使用するため、コンソール画面を開いたままにします 。
  4. proxyAddresses 属性が重複していないか確認をします。手順 2 で開いたコンソールで、以下のコマンドを順番に入力して、各コマンドの入力後に Enter を押します。
    • $SessionExO = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic –AllowRedirection

    • Import-PSSession $sessionExO -prefix:Cloud

  5. 手順 1 の F で記録した各プロキシ アドレスについて、以下のコマンドを順番に入力して、各コマンドの入力後に Enter を押します。
    • $proxyAddress = "<search proxyAddress>"


      注: このコマンドの "<search proxyAddress>"に、手順 1 の F で記録した proxyAddresses 属性値を入力します。 
    • get-mailbox | where {[string] $str = ($_.EmailAddresses); $str.tolower().Contains($proxyAddress.tolower()) -eq $true} | foreach {get-MSOLUser -UserPrincipalName $_.MicrosoftOnlineServicesID | where {($_.LastDirSyncTime -eq $null)<AngularNoBind>}}</AngularNoBind>
手順 3 と手順 4 でコマンド実行後に返された項目は、ディレクトリ同期で作成されなかったユーザー オブジェクトを表し、そのユーザー オブジェクトの属性が同期できないオブジェクトの属性と競合していることを意味します。

重複または無効な属性値を特定後、以下の Microsoft Knowledge Base資料に記載の手順に従って、問題をトラブルシューティングしてください:  
2643629: 「Active Directory ドメイン サービスの個々のオブジェクトが Azure AD に同期しない」

追加情報
本資料に記載されている Windows PowerShell コマンドを使用するには、Windows PowerShell 用 Azure Active Directory モジュールが必要です。Windows PowerShell 用 Azure Active Directory モジュールの詳細は、以下の Microsoft Web サイトを参照してください:

その他トピックは、Office 365 コミュニティ Web サイトを参照してください。
プロパティ

文書番号:2647098 - 最終更新日: 02/25/2015 22:25:00 - リビジョン: 25.0

Microsoft Azure Active Directory, Office 365 Identity Management

  • o365 o365a o365022013 o365m o365e kbgraphxlink KB2647098
フィードバック