この記事では、1 つ以上の Active Directory ドメイン Services (AD DS) オブジェクト属性が Azure Active Directory 同期ツールを使用して Microsoft Entra ID と同期しないという問題を解決します。
元の製品バージョン: クラウド サービス (Web ロール/Worker ロール)、Microsoft Entra ID、Microsoft Intune、Azure Backup、Office 365 ID 管理
元の KB 番号: 2643629
Note
この記事は役に立ちましたか? あなたの入力は私たちにとって重要です。 このページの Feedback ボタンを使用して、この記事がどれだけうまく機能したか、または改善方法をお知らせください。
現象
1 つ以上の AD DS オブジェクトまたは属性が、想定どおりに Microsoft Entra ID と同期しません。 Active Directory 同期を実行すると、オブジェクトが同期せず、次のいずれかの現象が発生します。
- 属性に重複する値があることを示すエラー メッセージが表示されます。
- 1 つ以上の属性が文字セットや文字の長さなどの書式設定要件に違反していることを示すエラー メッセージが表示されます。
- エラー メッセージが表示されないので、ディレクトリ同期が完了しているようです。 ただし、一部のオブジェクトまたは属性は想定どおりに更新されません。
表示される可能性があるエラー メッセージの例を次に示します。
同じプロキシ アドレスを持つ同期オブジェクトが、Microsoft Online Services ディレクトリに既に存在します。
ユーザー ID が見つからないため、このオブジェクトを更新できません。
このオブジェクトに関連付けられている次の属性には、ローカル ディレクトリ内の別のオブジェクトに既に関連付けられている可能性がある値があるため、Microsoft Online Services でこのオブジェクトを更新できません。
原因
この問題は、次のいずれかの理由で発生します。
AD DS 属性によって使用されるドメイン値が検証されていません。
一意の値を必要とする 1 つ以上のオブジェクト属性には、既存のユーザー アカウントに重複する属性値 (proxyAddresses 属性や U serPrincipalName 属性など) があります。
1 つ以上のオブジェクト属性が、属性値の文字と文字長を制限する書式設定要件に違反しています。
1 つ以上のオブジェクト属性が、ディレクトリ同期の除外規則と一致します。
次の表に、既定の同期スコープ規則を示します。
オブジェクトの種類 Attribute name 同期が失敗したときの属性の条件 お問い合わせ先 表示名 "MSOL" が含まれています msExchHideFromAddressLists "True" に設定されている セキュリティが有効なグループ isCriticalSystemObject "True" に設定されている メールが有効なグループ
(セキュリティ グループまたは配布リスト)proxyAddresses
and
mail"SMTP:" アドレス エントリがありません
and
が存在しないメールが有効な連絡先 proxyAddresses
and
mail"SMTP:" アドレス エントリがありません
and
が存在しないiNetOrgPerson sAMAccountName 存在しない isCriticalSystemObject 存在する User mailNickname "SystemMailbox" で始まる mailNickname "CAS_" で始まる
and
contains "}"sAMAccountName "CAS_" で始まる
and
contains "}"sAMAccountName "SUPPORT_388945a0" と等しい sAMAccountName "MSOL_AD_Sync" と等しい sAMAccountName 存在しない isCriticalSystemObject "True" に設定されている ユーザー プリンシパル名 (UPN) は初期同期後に変更され、手動で更新する必要があります。
同期されたユーザーの Exchange Online Simple Mail Transfer Protocol (SMTP) アドレスは、オンプレミスの Active Directory スキーマに適切に設定されません。
解決方法
この問題を解決するには、状況に応じて、次のいずれかの方法を使用します。
IdFix を実行して、重複、不足している属性、および規則違反を確認する
IdFix DirSync エラー修復ツールを使用して、Microsoft Entra ID との同期を妨げるオブジェクトとエラーを見つけます。
- IdFix の実行後に ERROR 列に "空白" と表示された場合、オブジェクトの displayName 属性は定義されません。 この問題を解決するには、次の手順を使用して、オブジェクトの displayName 属性の値を指定します。
- オブジェクトの UPDATE 列に、その displayName 属性の名前を入力します。
- [アクション] 列で、[編集] をクリックし、[適用] をクリックします。
- ERROR 列に "空白" エントリがあるオブジェクトごとに、手順 1 と 2 を繰り返します。
- IdFix をもう一度実行して、その他のオブジェクト エラーを検索します。
- IdFix の実行後に ERROR 列に "Duplicate" と表示された場合、2 つ以上のオブジェクトの電子メール アドレスは同じです。 この問題を解決するには、次の手順を使用して、オブジェクトの一意の電子メール アドレスを指定します。
- オブジェクトの UPDATE 列に、まだ使用されていない電子メール アドレスを入力します。
- [アクション] 列で、[編集] をクリックし、[適用] をクリックします。
- IdFix をもう一度実行して、その他のオブジェクト エラーを検索します。
ディレクトリ同期によって Microsoft Entra ID に作成されなかったオブジェクトによって発生する属性の競合を特定する
管理ツールを使用して作成された (ディレクトリ同期によって Microsoft Entra ID で作成されなかった) ユーザー オブジェクトによって発生する属性の競合を特定するには、次の手順に従います。
オンプレミスの AD DS ユーザー アカウントの一意の属性を決定します。 これを行うには、Windows サポート ツールがインストールされているコンピューターで、次の手順を実行します。
Start を選択し、Run を選択し、「ldp.exe」と入力して、OK を選択します。
Connectionを選択し、Connect を選択し、AD DS ドメイン コントローラーのコンピューター名を入力して、OK を選択します。
Connectionを選択し、 Bindを選択し、 OKを選択します。
Viewを選択し、ツリー ビューを選択し、BaseDN ドロップダウン リストで AD DS ドメインを選択し、OK を選択します。
ナビゲーション ウィンドウで、正しく同期されていないオブジェクトを見つけてダブルクリックします。 ウィンドウの右側にある [詳細] ウィンドウには、すべてのオブジェクト属性が一覧表示されます。 オブジェクト属性の例を次に示します。
userPrincipalName 属性の値と各 SMTP アドレスを複数値 proxyAddresses 属性に記録します。 これらの値は後で必要になります。
Attribute name 例 メモ 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
Note
Ldp.exeは、Windows Server 2008 および Windows Server 2003 サポート ツールに含まれています。 Windows Server 2003 サポート ツールは、Windows Server 2003 インストール メディアに含まれています。 または、サポート ツールを入手するには、次の Microsoft Web サイトにアクセスします。 Windows Server 2003 Service Pack 2 32 ビット サポート ツール
Windows PowerShell 用 Azure Active Directory モジュールを使用して Microsoft Entra ID に接続します。 詳細については、「Windows PowerShell を使用して Microsoft Entra ID 管理するを参照してください。
コンソール ウィンドウは開いたままにします。 次の手順で使用する必要があります。
重複する userPrincipalName 属性を確認します。
手順 2 で開いたコンソール接続で、表示される順序で次のコマンドを入力します。 各コマンドの後で Enter キーを押します。
$userUPN = "<search UPN>"
Note
このコマンドでは、プレースホルダー "<search UPN>" は、手順 1f で記録した UserPrincipalName 属性を表します。
Get-MSOLUser -UserPrincipalName $userUPN | where {$_.LastDirSyncTime -eq $null}
Note
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 日以降に使用障害が発生する可能性があります。
コンソール ウィンドウは開いたままにします。 次の手順でもう一度使用します。
proxyAddresses 属性が重複していないかどうかを確認します。 手順 2 で開いたコンソール接続で、次のコマンドを実行します。
Import-Module ExchangeOnlineManagement
手順 1f で記録したプロキシ アドレス エントリごとに、表示される順序で次のコマンドを入力します。 各コマンドの後で Enter キーを押します。
$proxyAddress = "<search proxyAddress>"
Note
このコマンドでは、プレースホルダー "<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 ユーザーとコンピューター ツールを使用して属性値を編集します。
- Active Directory ユーザーとコンピューターを開き、AD DS ドメインのルート ノードを選択します。
- [ View]、[ ] の順に選択し、[ Advanced Features オプションが選択されていることを確認します。
- 左側のナビゲーション ウィンドウで、ユーザー オブジェクトを見つけて右クリックし、 Properties を選択します。
- オブジェクト エディター タブで、目的の属性を見つけます。 Edit を選択し、属性値を目的の値に編集します。
- [OK] を 2 回選択します。
- Active Directory サービス インターフェイス (ADSI) 編集を使用して、AD DS のオブジェクト属性を更新します。 ADSI Edit は、Windows Server Toolkit の一部としてダウンロードしてインストールできます。 ADSI Edit を使用して属性を編集するには、次の手順に従います。
警告
この手順には ADSI Edit が必要です。 ADSI Edit を誤って使用すると、オペレーティング システムを再インストールする必要がある重大な問題が発生する可能性があります。 ADSI Edit の誤った使用に起因する問題を解決できることを Microsoft は保証できません。 ADSI Edit は、ご自身の責任で使用してください。
- Start を選択し、Run を選択し、「ADSIEdit.msc」と入力して、OK を選択します。
- ナビゲーション ウィンドウで [
ADSI 編集 を右クリックし、[ 接続先を選択し、 OKを選択してドメイン パーティションを読み込みます。 - ユーザー オブジェクトを見つけて右クリックし、 Properties を選択します。
- Attributes一覧で、目的の属性を見つけます。 Edit を選択し、属性値を目的の値に編集します。
- OK 2 回選択し、ADSI Edit を終了します。
新しいグループを作成し、同期されていない組み込みグループに追加する
一部の組み込みグループ (ドメイン ユーザー グループなど) が同期されないというシナリオの問題を解決するには、該当するすべてのメンバーと組み込みグループの適切なアクセス許可を含む新しいグループを作成します。 次に、そのグループを、同期されていない組み込みグループのメンバーとして追加します。 組み込みグループの代わりに新しいグループを使用してメンバーを管理します。 この方法を使用すると、引き続き 1 つのグループのみを管理できます。
組み込みグループの属性を変更したり、ID 同期アプライアンスのスコープ規則を変更して重要なシステム オブジェクトを同期させたくない。 その他の予期しない動作がトリガーされる可能性があります。
SMTP 照合を使用して、オンプレミスのユーザー オブジェクトを既存のユーザー オブジェクトと同期させる
詳細については、「 SMTP 照合を使用して、ディレクトリ同期のためにオンプレミスのユーザー アカウントと Office 365 ユーザー アカウントを照合する方法を参照してください。
ユーザー アカウント UPN を手動で更新する
最初のディレクトリ同期が行われた後にライセンスが付与されたユーザー アカウント UPN を更新するには、次の手順に従います。
Azure Active Directory v2 PowerShell モジュールをインストールします。 詳細については、「 Azure Active Directory v2 PowerShell モジュールを参照してください。
Azure Active Directory v2 PowerShell プロンプトで次のコマンドレットを実行します。
$cred = get-credential
Note
メッセージが表示されたら、管理者の資格情報を入力します。
Connect-AzureAD
Set-AzureADUser -ObjectId [CurrentUPN] -UserPrincipalName [NewUPN]
オンプレミスの Active Directory属性を使用してユーザー SMTP アドレスを更新する
SMTP 属性が想定どおりに Exchange Online に同期されない場合は、オンプレミスの Active Directory属性を更新する必要があります。 Exchange Online で正しいメール アドレスが表示されるようにオンプレミスの Active Directory属性を更新するには、解決策 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.com : user1@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 |
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 電子メール ルーティング アドレス (MOERA) エントリは、ユーザー アカウントのエイリアスに基づく解釈された値です。 この特殊なメール アドレスは、Exchange Online の各受信者に特別にリンクされています。 受信者に対して追加の MOERA アドレスを管理、削除、または作成することはできません。 ただし、MOERA アドレスは、オンプレミスの Active Directory ユーザー オブジェクトの属性を使用して、プライマリ SMTP アドレスとしてオーバーライディングできます。
Note
proxyAddresses 属性にデータが存在すると、Exchange Online のメール アドレス作成のメール属性のデータが完全にマスクされます。
Note
proxyAddresses 属性、メール属性、または両方の属性にデータが存在すると、Exchange Online のメール アドレスの作成で UserPrincipalName データが完全にマスクされます。 UPN を使用して、電子メール アドレスを管理できます。 ただし、管理者は proxyAddresses またはメール属性を設定することで、メール アドレスと UPN を個別に管理することができます。
同期されたユーザーの Exchange Online メール アドレスを管理するために、これらの属性の 1 つを一貫して使用することを強くお勧めします。
詳細
この記事で説明する 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 フィードバック コミュニティに製品フィードバックを送信することもできます。