Azure Active Directory 同期ツールを使用しているときに 1 つ以上のオブジェクトが同期しない

この記事では、1 つ以上のActive Directory Domain Services (AD DS) オブジェクト属性が Azure Active Directory 同期ツールを使用してMicrosoft Entra IDに同期されない問題を解決します。

              元の製品バージョン: クラウド サービス (Web ロール/Worker ロール)、Microsoft Entra ID、Microsoft Intune、Azure Backup、Office 365 ID 管理
元の KB 番号: 2643629

注:

この記事はお役に立ちましたか? お客様の入力は、当社にとって重要です。 このページの [フィードバック ] ボタンを使用して、この記事がどれだけうまく機能したか、または改善する方法をお知らせください。

現象

1 つ以上の AD DS オブジェクトまたは属性が、想定どおりにMicrosoft Entra IDに同期されません。 Active Directory 同期を実行すると、オブジェクトは同期せず、次のいずれかの現象が発生します。

  • 属性の値が重複していることを示すエラー メッセージが表示されます。
  • 1 つ以上の属性が文字セットや文字の長さなどの書式設定要件に違反していることを示すエラー メッセージが表示されます。
  • エラー メッセージが表示されないので、ディレクトリ同期が完了しているようです。 ただし、一部のオブジェクトまたは属性は期待どおりに更新されません。

表示される可能性があるエラー メッセージの例を次に示します。

同じプロキシ アドレスを持つ同期済みオブジェクトが Microsoft Online Services ディレクトリ内に既に存在します。

ユーザー 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 でこのオブジェクトを更新できません。)

原因

この問題は、次のいずれかの理由で発生します。

  • AD DS 属性によって使用されるドメイン値が検証されていません。

  • 一意の値を必要とする 1 つ以上のオブジェクト属性には、既存のユーザー アカウントに重複する属性値 (proxyAddresses 属性や U serPrincipalName 属性など) があります。

  • 1 つ以上のオブジェクト属性は、属性値の文字と文字長を制限する書式設定要件に違反します。

  • 1 つ以上のオブジェクト属性が、ディレクトリ同期の除外規則と一致します。

    次の表は、既定の同期スコープルールを示しています。

    オブジェクトの種類 属性名 同期が失敗した場合の属性の条件
    Contact DisplayName "MSOL" が含まれています
    msExchHideFromAddressLists "True" に設定されています
    セキュリティが有効なグループ isCriticalSystemObject "True" に設定されています
    メールが有効なグループ
    (セキュリティ グループまたは配布リスト)
    proxyAddresses

    and

    mail
    "SMTP:" アドレスエントリがありません

    and

    が存在しない
    メールが有効な連絡先 proxyAddresses

    and

    mail
    "SMTP:" アドレスエントリがありません

    and

    が存在しない
    Inetorgperson sAMAccountName 存在しない
    isCriticalSystemObject 存在する
    User Mailnickname "SystemMailbox" で始まります
    Mailnickname "CAS_" で始まる

    and

    には "}" が含まれています
    sAMAccountName "CAS_" で始まる

    and

    には "}" が含まれています
    sAMAccountName "SUPPORT_388945a0" と等しい
    sAMAccountName "MSOL_AD_Sync" と等しい
    sAMAccountName 存在しない
    isCriticalSystemObject "True" に設定されています
  • ユーザー プリンシパル名 (UPN) は初期同期後に変更され、手動で更新する必要があります。

  • Exchange Online同期されたユーザーの簡易メール転送プロトコル (SMTP) アドレスは、オンプレミスの Active Directory スキーマに適切に設定されません。

解決方法

この問題を解決するには、状況に応じて、次のいずれかの方法を使用します。

IdFix を実行して、重複、欠落している属性、および規則違反をチェックします

IdFix DirSync エラー修復ツールを使用して、同期をMicrosoft Entra IDできないようにするオブジェクトとエラーを見つけます。

  • IdFix を実行した後に ERROR 列に "空白" と表示された場合、オブジェクトの displayName 属性は定義されません。 この問題を解決するには、次の手順を使用して、オブジェクトの displayName 属性の値を指定します。
  1. オブジェクトの UPDATE 列に、displayName 属性の名前を入力します。
  2. [アクション] 列で、[編集] をクリックし、[適用] をクリックします。
  3. ERROR 列に "空白" エントリがあるオブジェクトごとに、手順 1 と手順 2 を繰り返します。
  4. IdFix をもう一度実行して、他のオブジェクト エラーを検索します。
  • IdFix を実行した後に ERROR 列に "Duplicate" と表示された場合、2 つ以上のオブジェクトの電子メール アドレスが同じになります。 この問題を解決するには、次の手順を使用して、オブジェクトの一意の電子メール アドレスを指定します。
  1. オブジェクトの [UPDATE] 列に、まだ使用されていないメール アドレスを入力します。
  2. [アクション] 列で、[編集] をクリックし、[適用] をクリックします。
  3. IdFix をもう一度実行して、他のオブジェクト エラーを検索します。

ディレクトリ同期によってMicrosoft Entra IDで作成されなかったオブジェクトによって発生する属性の競合を特定する

管理ツールを使用して作成された (およびディレクトリ同期によってMicrosoft Entra IDに作成されなかった) ユーザー オブジェクトによって発生する属性の競合を判断するには、次の手順に従います。

  1. オンプレミスの AD DS ユーザー アカウントの一意の属性を決定します。 これを行うには、Windows サポート ツールがインストールされているコンピューターで、次の手順を実行します。

    1. [ スタート] を選択し、[ 実行] を選択し、「ldp.exe」と入力して、[ OK] を選択します

    2. [ 接続] を選択し、[ 接続] を選択し、AD DS ドメイン コントローラーのコンピューター名を入力して、[ OK] を選択します

    3. [ 接続] を選択 し、[バインド] を選択し、[ OK] を選択します

    4. [ 表示] を選択し、[ ツリー ビュー] を選択し、[ BaseDN ] ドロップダウン リストで AD DS ドメインを選択し、[ OK] を選択します

    5. ナビゲーション ウィンドウで、正しく同期されていないオブジェクトを見つけてダブルクリックします。 ウィンドウの右側にある [詳細] ウィンドウには、すべてのオブジェクト属性が一覧表示されます。 次の例は、オブジェクト属性を示しています。

      すべてのオブジェクト属性が一覧表示されている Windows サポート ツールのナビゲーションと詳細ペインのスクリーンショット。

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

      属性名 Notes (メモ)
      proxyAddresses proxyAddresses (3): x500:/o=Exchange/ou=Exchange 管理グループ (FYDIBOHF23SPDLT)/cn=Recipients/cn=1ae75fca0d3a4303802cea9ca50fcd4f-7628376;smtp:7628376@service.contoso.com;SMTP:7628376@contoso.com;
      1. 属性ラベルの横にかっこで囲まれた数値は、複数値属性のプロキシ アドレス値の数を示します。

      2. 各個別のプロキシ アドレス値はセミコロン (;)で示されます。

      3. プライマリ SMTP プロキシ アドレスの値は大文字の "SMTP:" で示されます
      userPrincipalName 7628376@contoso.com

      注:

      Ldp.exe は、Windows Server 2008 および Windows Server 2003 サポート ツールに含まれています。 Windows Server 2003 サポート ツールは、Windows Server 2003 インストール メディアに含まれています。 または、サポート ツールを入手するには、次の Microsoft Web サイトにアクセスします。 Windows Server 2003 Service Pack 2 32 ビット サポート ツール

  2. Windows PowerShell用の Azure Active Directory モジュールを使用して、Microsoft Entra IDに接続します。 詳細については、「Windows PowerShellを使用してMicrosoft Entra IDを管理する」を参照してください。

    コンソール ウィンドウは開いたままにします。 次の手順で使用する必要があります。

  3. 重複する userPrincipalName 属性を確認します。

    手順 2 で開いたコンソール接続で、表示される順序で次のコマンドを入力します。 各コマンドの後に Enter キーを押します。

    $userUPN = "<search UPN>"
    

    注:

    このコマンドでは、プレースホルダー "<search UPN>" は、手順 1f で記録した UserPrincipalName 属性を表します。

    Get-MSOLUser -UserPrincipalName $userUPN | where {$_.LastDirSyncTime -eq $null}
    

    注:

    Azure AD および MSOnline PowerShell モジュールは、2024 年 3 月 30 日の時点で非推奨となりました。 詳細については、 非推奨の更新プログラムに関するページを参照してください。 この日付以降、これらのモジュールのサポートは、Microsoft Graph PowerShell SDK への移行支援とセキュリティ修正に限定されます。 非推奨のモジュールは、2025 年 3 月 30 日まで引き続き機能します。

    Microsoft Entra ID (旧称 Azure AD) と対話するには、Microsoft Graph PowerShell に移行することをお勧めします。 移行に関する一般的な質問については、移行に関する FAQ を参照してください。 メモ: バージョン 1.0.x の MSOnline では、2024 年 6 月 30 日以降に中断が発生する可能性があります。

    コンソール ウィンドウは開いたままにします。 次の手順でもう一度使用します。

  4. 重複する proxyAddresses 属性を確認します。 手順 2 で開いたコンソール接続で、次のコマンドを実行します。

    Import-Module ExchangeOnlineManagement
    
  5. 手順 1f で記録したプロキシ アドレス エントリごとに、表示される順序で次のコマンドを入力します。 各コマンドの後に Enter キーを押します。

    $proxyAddress = "<search proxyAddress>"
    

    注:

    このコマンドでは、プレースホルダー "<search proxyAddress>" は、手順 1f で記録した proxyAddresses 属性の値を表します。

    Get-EXOMailbox | where {[string] $str = ($_.EmailAddresses); $str.tolower().Contains($proxyAddress.tolower()) -eq $true} | foreach {get-MSOLUser -UserPrincipalName $_.MicrosoftOnlineServicesID | where {($_.LastDirSyncTime -eq $null)}}
    

手順 3 および 4 のコマンドを実行した後に返される項目は、ディレクトリ同期によって作成されなかったユーザー オブジェクトと、正しく同期されていないオブジェクトと競合する属性を持つユーザー オブジェクトを表します。

AD DS 属性を更新して、重複、規則違反、スコープの除外を削除する

次の情報に基づいて、同期を妨げている特定の属性を特定します。

  • 管理メール メッセージ
  • Office 365展開準備ツールの出力からのレポート
  • 既定のディレクトリ同期スコープルールとカスタムルール

特定の属性値が特定されたら、次のいずれかの方法を使用して属性値を編集します。

  • Active Directory ユーザーとコンピューター ツールを使用して属性値を編集します。
  1. Active Directory ユーザーとコンピューターを開き、AD DS ドメインのルート ノードを選択します。
  2. [ 表示] を選択し、[ 高度な機能 ] オプションが選択されていることを確認します。
  3. 左側のナビゲーション ウィンドウで、ユーザー オブジェクトを見つけて右クリックし、[プロパティ] を選択 します
  4. [オブジェクト エディター] タブで、目的の属性を見つけます。 [ 編集] を選択し、属性値を目的の値に編集します。
  5. [OK] を 2 回クリックします。
  • Active Directory サービス インターフェイス (ADSI) 編集を使用して、AD DS のオブジェクト属性を更新します。 ADSI Edit は、Windows Server Toolkit の一部としてダウンロードしてインストールできます。 ADSI Edit を使用して属性を編集するには、次の手順に従います。

警告

この手順には ADSI Edit が必要です。 ADSI Edit を誤って使用すると、オペレーティング システムを再インストールする必要がある重大な問題が発生する可能性があります。 MICROSOFT は、ADSI Edit の誤った使用に起因する問題を解決できることを保証することはできません。 ADSI Edit は自己責任で使用してください。

  1. [ スタート] を選択 し、[実行] を選択し、「ADSIEdit.msc」と入力して、[ OK] を選択します
  2. ナビゲーション ウィンドウで [ADSI Edit ] を右クリックし、[ 接続] を選択し、[ OK] を 選択してドメイン パーティションを読み込みます。
  3. ユーザー オブジェクトを見つけて右クリックし、[プロパティ] を選択 します
  4. [ 属性] の一覧で、目的の属性を見つけます。 [ 編集] を選択し、属性値を目的の値に編集します。
  5. [ OK] を 2 回選択し、ADSI 編集を終了します。

新しいグループを作成し、同期されていない組み込みグループに追加する

一部の組み込みグループ (ドメイン ユーザー グループなど) が同期されないというシナリオの問題を解決するには、該当するすべてのメンバーと組み込みグループの適切なアクセス許可を含む新しいグループを作成します。 次に、そのグループをメンバーとして、同期されていない組み込みグループに追加します。 組み込みグループの代わりに新しいグループを使用して、メンバーを管理します。 この方法を使用すると、引き続き 1 つのグループのみを管理できます。

組み込みグループの属性を変更したり、重要なシステム オブジェクトの同期を許可するように ID 同期アプライアンスのスコープ規則を変更したりする必要はありません。 他の予期しない動作がトリガーされる可能性があります。

SMTP 照合を使用して、オンプレミスのユーザー オブジェクトを既存のユーザー オブジェクトと同期させる

詳細については、「SMTP 照合を使用してオンプレミスのユーザー アカウントを照合し、ディレクトリ同期用のユーザー アカウントをOffice 365する方法」を参照してください。

ユーザー アカウント UPN を手動で更新する

初期ディレクトリ同期が行われた後にライセンスが付与されたユーザー アカウント UPN を更新するには、次の手順に従います。

  1. Azure Active Directory v2 PowerShell モジュールをインストールします。 詳細については、「 Azure Active Directory v2 PowerShell モジュール」を参照してください。

  2. Azure Active Directory v2 PowerShell プロンプトで次のコマンドレットを実行します。

    $cred = get-credential
    

    注:

    メッセージが表示されたら、管理者の資格情報を入力します。

    Connect-AzureAD
    
    Set-AzureADUser -ObjectId [CurrentUPN] -UserPrincipalName [NewUPN]
    

オンプレミスの Active Directory属性を使用してユーザー SMTP アドレスを更新する

SMTP 属性が予期した方法でExchange Onlineに同期されない場合は、オンプレミスの Active Directory属性を更新する必要があります。 オンプレミスの Active Directory属性を更新して、正しいメール アドレスがExchange Onlineに表示されるようにするには、解決策 2 を使用して、次の表の属性を操作します。

オンプレミスの Active Directory 属性名 オンプレミスの Active Directory 属性値の例 電子メール アドレスExchange Online例
proxyAddresses Smtp:user1@contoso.com プライマリ SMTP: user1@contoso.com
セカンダリ SMTP: user1@contoso.onmicrosoft.com
proxyAddresses Smtp:user1@contoso.com プライマリ SMTP: セカンダリ SMTP: user1@contoso.onmicrosoft.comuser1@contoso.com
proxyAddresses Smtp:user1@contoso.com
Smtp:user1@sub.contoso.com
プライマリ SMTP: user1@contoso.com
セカンダリ SMTP: user1@sub.contoso.com
セカンダリ SMTP: user1@contoso.onmicrosoft.com
mail User1@contoso.com プライマリ SMTP: user1@contoso.com
セカンダリ SMTP: user1@contoso.onmicrosoft.com
UserPrincipalName User1@contoso.com プライマリ SMTP: user1@contoso.com
セカンダリ SMTP: user1@contoso.onmicrosoft.com

既定のドメイン (などuser1@contoso.onmicrosoft.com) に関連付けられている Microsoft Online Email ルーティング アドレス (MOERA) エントリは、ユーザー アカウントのエイリアスに基づく解釈された値です。 この特殊な電子メール アドレスは、各Exchange Online受信者に厳密にリンクされています。 受信者に対して追加の MOERA アドレスを管理、削除、または作成することはできません。 ただし、MOERA アドレスは、オンプレミスの Active Directory ユーザー オブジェクトの属性を使用して、プライマリ SMTP アドレスとして過剰に取り込むことができます。

注:

proxyAddresses 属性にデータが存在すると、メール アドレスの作成に関するメール属性のデータExchange Online完全にマスクされます。

注:

proxyAddresses 属性、メール属性、またはその両方の属性にデータが存在すると、Exchange Onlineメール アドレスの作成のために UserPrincipalName データが完全にマスクされます。 UPN を使用して、メール アドレスを管理できます。 ただし、管理者は、proxyAddresses またはメール属性を設定することで、メール アドレスと UPN を個別に管理することを決定できます。

これらの属性の 1 つを一貫して使用して、同期されたユーザーのメール アドレスExchange Online管理することを強くお勧めします。

詳細

この記事で説明するWindows PowerShell コマンドには、Windows PowerShell用の Azure Active Directory モジュールが必要です。 Windows PowerShell用の Azure Active Directory モジュールの詳細については、次の記事を参照してください。
Windows PowerShellを使用してMicrosoft Entra IDを管理します。

属性によるディレクトリ同期のフィルター処理の詳細については、次の Microsoft TechNet Wiki の記事を参照してください。
Azure Active Directory 同期ツールによって同期される属性の一覧

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。