問題
1 つ以上の Active Directory Domain Services (AD DS) オブジェクトまたは属性が、期待どおりに Microsoft Azure Active Directory (Azure AD) と同期しません。 Active Directory の同期を実行しても、オブジェクトが同期せず、次のいずれかの現象が発生します。
- 属性に重複した値があることを示す、エラー メッセージが表示されます。
- 1 つ以上の属性が文字セットや文字長などの書式設定要件に違反することを示す、エラー メッセージが表示されます。
- エラー メッセージが表示されず、ディレクトリ同期が完了したように見えます。 ただし、いくつかのオブジェクトまたは属性が期待どおりに更新されていません。
- 同じプロキシ アドレスを持つ同期済みオブジェクトが Microsoft Online Services ディレクトリに既に存在します。
- ユーザー ID が見つからないため、このオブジェクトを更新できません。
- Microsoft Online Services でこのオブジェクトを更新できません。このオブジェクトに関連付けられている次の属性の値が、ローカル ディレクトリの別のオブジェクトに既に関連付けられていることが原因として考えられます。
原因
この問題は、次のいずれかの理由で発生します。
- AD DS 属性で使用されているドメイン値が検証されていない。
- 一意の値が必要な 1 つ以上のオブジェクト属性に関して、既存のユーザー アカウント内に重複した属性値 (proxyAddresses 属性や UserPrincipalName 属性など) がある。
- 1 つ以上のオブジェクト属性が、属性値の文字と文字長を制限する書式設定要件に違反している。
- 1 つ以上のオブジェクト属性が、ディレクトリ同期の除外ルールに一致する。
次の表に、既定の同期スコープ ルールを示します。オブジェクトの種類 属性名 同期失敗時の属性の条件 連絡先 DisplayName "MSOL" を含んでいる msExchHideFromAddressLists "True" に設定されている セキュリティが有効なグループ isCriticalSystemObject "True" に設定されている メールが有効なグループ
(セキュリティ グループまたは配布リスト)proxyAddresses
および
mail"SMTP:" アドレス エントリがない
および
存在しないメールが有効な連絡先 proxyAddresses
および
mail"SMTP:" アドレス エントリがない
および
存在しないiNetOrgPerson sAMAccountName 存在しない isCriticalSystemObject 存在する User mailNickName "SystemMailbox" で始まる mailNickName "CAS_" で始まる
および
"{" を含むsAMAccountName "CAS_" で始まる
および
"{" を含むsAMAccountName "SUPPORT_388945a0" に等しい sAMAccountName "MSOL_AD_Sync" に等しい sAMAccountName 存在しない isCriticalSystemObject "True" に設定されている - ユーザー プリンシパル名 (UPN) は初期同期後に変更されたため、手動で更新する必要があります。
- 同期済みユーザーの Exchange Online 簡易メール転送プロトコル (SMTP) アドレスは、オンプレミス Active Directory スキーマで適切に設定されていません。
解決方法
この問題を解決するには、状況に応じて、次のいずれかの方法を使用します。
警告: この手順を実行するには、ADSI エディターが必要です。 ADSI エディターの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。 マイクロソフトは、ADSI エディターの誤用により発生した問題に関しては、一切責任を負わないものとします。 ADSI エディターは、自己の責任においてご使用ください。
想定外の動作につながる可能性があるため、組み込みグループの属性を変更したり、ID の同期アプライアンスのスコープ ルールを変更して、重要なシステム オブジェクトの同期を許可したりしないようにしてください。
既定のドメイン (user1@contoso.onmicrosoft.com など) に関連付けられている Microsoft Online Email Routing Address (MOERA) エントリは、ユーザー アカウントのエイリアスに基づいて認識される値です。 この特別な電子メール アドレスは、それぞれの Exchange Online 受信者と密接にリンクされています。いかなる受信者に対しても追加の MOERA アドレスを管理、削除、または作成できません。 ただし、MOERA アドレスは、オンプレミスの Active Directory ユーザー オブジェクトの属性値を使用して、プライマリ SMTP アドレスとして上書きすることができます。
注: proxyAddresses 属性内のデータの存在により、Exchange Online の電子メール アドレス群に対する mail 属性内のデータは完全にマスクされます。
注: proxyAddresses 属性、mail 属性、またはその両方の属性内のデータの存在により、Exchange Online 電子メール アドレス作成に関する UserPrincipalName データは完全にマスクされます。 UPN は、電子メール アドレスの管理に使用できます。 ただし、管理者は、proxyAddresses または mail 属性を作成することで、電子メール アドレスと UPN を別々に管理することができます。
同期済みユーザーに対して Exchange Online 電子メール アドレスを管理するために、これらのいずれかの属性を一貫して使用することを強くお勧めします。
解決方法 1: IdFix を実行して、重複、不足している属性および規則の違反を確認する
「IdFix DirSync Error Remediation Tool」を使用して、Azure AD との同期を阻害しているオブジェクトとエラーを検出します。- IdFix の実行後に、エラー列に "Blank" と表示される場合は、次の Microsoft サポート技術情報の記事を参照してください。2857349 IdFix ツールの実行後に、1 つ以上のオブジェクトに対してエラー列に "Blank" と表示される
- IdFix の実行後に、エラー列に "Format" と表示される場合は、次の Microsoft サポート技術情報の記事を参照してください。2857351 「IdFix ツールの実行後に、1 つ以上のオブジェクトに対してエラー列に "Blank" と表示される」
- IdFix の実行後に、エラー列に "Character" と表示される場合は、次の Microsoft サポート技術情報の記事を参照してください。2857352 「IdFix ツールの実行後に、1 つ以上のオブジェクトに対してエラー列に "Character" と表示される」
- IdFix の実行後に、エラー列に "Duplicate" と表示される場合は、次の Microsoft サポート技術情報の記事を参照してください。2857385 「IdFix ツールの実行後に、1 つ以上のオブジェクトに対してエラー列に "Duplicate" と表示される」
解決方法 2: ディレクトリ同期により Azure AD 内に作成されなかったオブジェクトに起因する属性の競合を特定する
管理ツールの使用によって作成されたユーザー オブジェクトで、しかもディレクトリ同期により Azure AD 内に作成されなかったオブジェクトに帰因する属性の競合を特定するには、次の手順を実行します。- オンプレミス AD DS ユーザー アカウントの一意の属性を特定します。 Windows Support Tools がインストールされているコンピュータでこれを行うには、次の手順を実行します。
- [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に「desk.cpl」と入力し、[OK] をクリックします。
- [接続]、[接続] の順にクリックし、AD DS ドメイン コントローラーのコンピューター名を入力し、[OK] をクリックします。
- [接続] をクリックし、[バインド] をクリックして、[OK] をクリックします。
- [表示]、[ツリー ビュー] を順にクリックし、[ベース DN] ドロップダウン リストから AD DS ドメインを選択し、[OK] をクリックします。
- ナビゲーション ウィンドウで、正常に同期されていないオブジェクトを特定し、ダブルクリックします。 ウィンドウ右側の詳細ウィンドウに、すべてのオブジェクトの属性が表示されます。 次の例では、オブジェクト属性を示しています。
- userPrincipalName 属性の値、および複数値の proxyAddresses 属性の各 SMTP アドレスを記録します。 これらの値は後の手順で必要となります。注: Ldp.exe は、Windows Server 2008 および Windows Server 2003 サポート ツールに含まれています。 Windows Server 2003 サポート ツールは、Windows Server 2003 インストール メディアに含まれています。 また、このサポート ツールは、次の Microsoft Web サイトからも取得できます。
属性名 例 注 proxyAddresses proxyAddresses (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:" で示されています。
userPrincipalName 7628376@contoso.com
- Windows PowerShell 用 Microsoft Azure Active Directory モジュールを使用して Azure AD に接続します。 詳細については、「AzureADHelp」を参照してください。
コンソール ウィンドウは開いたままにします。 次の手順でも使用する必要があります。 - 重複する userPrincipalName 属性を確認します。
手順 2 で開いたコンソール接続で、次のコマンドを記載されている順に入力し、各コマンドの後に Enter キーを押します。$userUPN = "<search UPN>"
注: このコマンドでは、"<search UPN>" プレースホルダーは、手順 1f で記録した UserPrincipalName 属性を表します。get-MSOLUser –UserPrincipalName $userUPN | where {$_.LastDirSyncTime -eq $null}
- 重複する 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
- 手順 1f で記録した個々のプロキシ アドレス エントリで、次のコマンドを記載されている順に入力し、各コマンドの後に Enter キーを押します。
$proxyAddress = "<search proxyAddress>"
注: このコマンドでは、"<search proxyAddress>" プレースホルダーは、手順 1f で記録した proxyAddresses 属性の値を表します。get-cloudmailbox | where {[string] $str = ($_.EmailAddresses); $str.tolower().Contains($proxyAddress.tolower()) -eq $true} | foreach {get-MSOLUser -UserPrincipalName $_.MicrosoftOnlineServicesID | where {($_.LastDirSyncTime -eq $null)}}
解決方法 3: AD DS 属性を更新して重複やルール違反、およびスコープ除外を取り除く
次の情報に基づいて、同期を妨げている特定の属性を識別します。- •管理電子メールメッセージ
- Office 365 Deployment Readiness Tool が出力したレポート
- 既定のディレクトリ同期スコープ ルールとカスタム ルール
- Active Directory ユーザーとコンピュータを開いて、AD DS ドメインのルート ノードを選択します。
- [表示] をクリックして、[拡張機能] オプションがオンになっていることを確認します。
- ナビゲーション ウィンドウで、ユーザー オブジェクトを特定し、右クリックして [プロパティ] をクリックします。
- [オブジェクト エディター] タブで、目的の属性を特定し、[編集] をクリックして、その属性値を希望の値に編集します。
- [OK] を 2 回クリックします。
警告: この手順を実行するには、ADSI エディターが必要です。 ADSI エディターの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。 マイクロソフトは、ADSI エディターの誤用により発生した問題に関しては、一切責任を負わないものとします。 ADSI エディターは、自己の責任においてご使用ください。
- [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に「Adsiedit.msc」と入力し、[OK] をクリックします。
- ナビゲーション ペインにある [ADSI エディター] を右クリックします。[接続] をクリックし、[OK] をクリックしてドメイン パーティションを読み込みます。
- ユーザー オブジェクトを特定し、右クリックして [プロパティ] をクリックします。
- [属性] リストで、目的の属性を特定し、[編集] をクリックして、その属性値を希望の値に編集します。
- [OK] を 2 回クリックして、ADSI エディターを終了します。
解決方法 4: 新しいグループを作成し、同期されていない組み込みグループに追加する
一部の組み込みグループ (Domain Users グループなど) が同期されていないという問題を解決するには、当該組み込みグループの適切なメンバーおよびアクセス許可を含む新しいグループを作成します。 次に、そのグループをまだ同期済みでない組み込みグループのメンバーとして追加します。 当該組み込みグループの代わりに新しいグループを使用して、メンバーを管理します。 これにより、ただ 1 つのグループのみを依然管理できます。想定外の動作につながる可能性があるため、組み込みグループの属性を変更したり、ID の同期アプライアンスのスコープ ルールを変更して、重要なシステム オブジェクトの同期を許可したりしないようにしてください。
解決方法 5: SMTP マッチングを使用して、オンプレミスのユーザーオブジェクトを既存のユーザー オブジェクトと同期する
これを行うには、次の Microsoft サポート技術情報の記事を参照してください。2641663 「How to use SMTP matching to match on-premises user accounts to Office 365 user accounts for directory synchronization (英語情報)」
解決方法 6: ユーザー アカウントの UPN を手動で更新する
最初のディレクトリ同期後にライセンスが割り当てられたユーザー アカウントの UPN を更新するには、次の手順を実行します。- Azure Active Directory V2 PowerShell モジュールをインストールします。 これを行うには、「https://www.powershellgallery.com/packages/AzureAD/2.0.0.71」を参照してください。
- Azure Active Directory V2 PowerShell プロンプトで次のコマンドレットを実行します。
$cred = get-credential
注: 資格情報の入力を求められたら、管理者の資格情報を入力します。Connect-AzureAD
Set-AzureADUser -ObjectId [CurrentUPN] -UserPrincipalName [NewUPN]
解決方法 7: オンプレミスの Active Directory 属性を使用してユーザーの SMTP アドレスを更新する
SMTP 属性が Exchange Online と想定どおりに同期されない場合、オンプレミスの Active Directory 属性の更新が必要となる場合があります。 オンプレミスの Active Directory 属性を更新して、Exchange Online で正しい電子メール アドレスが表示されるようにするには、「解決方法 2」を使用して、以下の表に記載されている属性を操作します。オンプレミス Active Directory 属性名 | オンプレミス Active Directory 属性値の例 | Exchange Online 電子メールアドレスの例 |
---|---|---|
proxyAddresses | SMTP:user1@contoso.com | Primary SMTP: user1@contoso.com Secondary SMTP: user1@contoso.onmicrosoft.com |
proxyAddresses | smtp:user1@contoso.com | Primary SMTP: user1@contoso.onmicrosoft.com Secondary SMTP: user1@contoso.com |
proxyAddresses | SMTP:user1@contoso.com smtp:user1@sub.contoso.com | Primary SMTP: user1@contoso.com Secondary SMTP: user1@sub.contoso.com Secondary SMTP: user1@contoso.onmicrosoft.com |
User1@contoso.com | Primary SMTP: user1@contoso.com Secondary SMTP: user1@contoso.onmicrosoft.com | |
UserPrincipalName | User1@contoso.com | Primary SMTP: user1@contoso.com Secondary SMTP: user1@contoso.onmicrosoft.com |
注: proxyAddresses 属性内のデータの存在により、Exchange Online の電子メール アドレス群に対する mail 属性内のデータは完全にマスクされます。
注: proxyAddresses 属性、mail 属性、またはその両方の属性内のデータの存在により、Exchange Online 電子メール アドレス作成に関する UserPrincipalName データは完全にマスクされます。 UPN は、電子メール アドレスの管理に使用できます。 ただし、管理者は、proxyAddresses または mail 属性を作成することで、電子メール アドレスと UPN を別々に管理することができます。
同期済みユーザーに対して Exchange Online 電子メール アドレスを管理するために、これらのいずれかの属性を一貫して使用することを強くお勧めします。
詳細
この記事に記載されている Windows PowerShell コマンドには、Windows PowerShell 用の Azure Active Directory モジュールが必要です。 Windows PowerShell 用の Azure Active Directory モジュールの詳細については、Windows PowerShell の使用による Azure AD の管理に関する記事を参照してください。
属性によるディレクトリ同期のフィルタリングの詳細については、次の Microsoft TechNet Wiki 記事を参照してください。
属性によるディレクトリ同期のフィルタリングの詳細については、次の Microsoft TechNet Wiki 記事を参照してください。
さらにヘルプが必要ですか? Microsoft コミュニティ または Azure Active Directory Forums (英語情報) Web サイトを参照してください。