Microsoft Azure Microsoft Entra ID

Microsoft Entra Connect用にオンプレADをスキーマ拡張する

どーも、shozinです。
Microsoft Entra Connect を構成した際に、同期されるスキーマ(属性)が足りていないことに気づいたので解決してみました。
スキーマ拡張をすると動的グループの条件にできるので、Microsoft Entra ID 管理の幅が広がります。
それでは行ってみましょう!

検証環境

  • Microsoft Entra ID
  • オンプレAD
    Azure VM - Windows Server 2019 (KB4487044 適用済み)
    Exchange Server未導入
  • Microsoft Entra Connect構成済み(非推奨ですがオンプレADに同居させています。)

状態確認(飛ばしてOK)

まずはオンプレADの状態を確認していきます。

PowerShellで[systeminfo.exe]を起動し、OS情報を表示します。(任意)

フォレストの機能レベルを確認。

Get-ADForest | fl Name,ForestMode

ユーザー属性を表示して、Exchange Serverのスキーマが拡張されていないことを確認します。

(Get-ADUser -Filter * -Properties *)[0]

ユーザーの属性からも確認できます。
代表的な属性として[extensionAttribute1]~[extensionAttribute15]が存在していないことが確認できます。

Microsoft Entra Connect 同期: Microsoft Entra ID に同期される属性

スキーマ拡張

以下の文書を参考にしました。

Exchange Server の Active Directory とドメインを準備する

Exchange Server 2016 の累積的な更新プログラムをダウンロード

以下サイトを辿って、Microsoft Exchange Server 2016 の累積的な更新プログラムをダウンロードします。(最新版でOK)

Exchange Server のビルド番号とリリース日 | Microsoft Docs

ちなみに私はcurlでダウンロードをしました。(Windows Server上でダウンロードを行う際、信頼済みサイトに追加するのが嫌なため)

curl -o .\desktop\ExchangeServer2016-x64-CU22.ISO https://download.microsoft.com/download/f/0/e/f0e65686-3761-4c9d-b8b2-9fb71a207b8d/ExchangeServer2016-x64-CU22.ISO

ダウンロードされました。

isoファイルを 右クリックし、[マウント]をします。

スキーマ拡張を実行

スキーマ拡張を実行します。
※後戻りできません。スキーマ拡張前に戻すことができなくなります。と言っても困ることは滅多に無いと思います。
心配な場合は、他にスキーマ拡張されていないか等、不都合がないかを確実に調べた上で実施しましょう。

G:
.\setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF

エラー解消

エラーが出ることが多いと思います。
一つ一つ根気よく解消しましょう。

Microsoft Exchange Server 2016 累積的な更新プログラム 22 無人セットアップ

ファイルをコピーしています...
ファイルのコピーが完了しました。セットアップを行うと、インストールに必要な追加情報が収集されます。

Microsoft Exchange Server の前提条件を確認しています

  前提条件の分析                                                                                失敗       

前のインストールからの再起動が保留になっています。システムを再起動して、セットアップを再実行してください。
詳細については、次の Web サイトにアクセスしてください: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.RebootPending.aspx

このコンピューターには .NET Framework 4.8 (https://support.microsoft.com/kb/4503548) が必要です。
詳細については、次の Web サイトにアクセスしてください: https://docs.microsoft.com/Exchange/plan-and-deploy/system-requirements?view=exchserver-2016

Exchange Server のセットアップは完了しませんでした。詳細については、ExchangeSetup.log を参照してください。このファイルは、<SystemDrive>:\ExchangeSetupLogs
フォルダーにあります。

どうやら、再起動と[.NET Framework4.8]が必要なようです。

.Net FrameworkをADに入れたくない気がしたので、急遽メンバーサーバーを用意し、作業を実施しました。

メンバーサーバーからスキーマ拡張(.Net FrameworkをADにインストールしたくない人)

サーバーは評価版でもWin10,Win11なんでも大丈夫だと思います。
ADに対して権限が必要だと思うので、そこは注意が必要かと思われます。
ついでにExchange2016は古いと思ったので、Exchange2019の最新版のsetup.exeで作業をしました。

Curl -o .\desktop\ExchangeServer2019-x64-CU11.ISO https://download.microsoft.com/download/5/3/e/53e75dbd-ca33-496a-bd23-1d861feaa02a/ExchangeServer2019-x64-CU11.ISO

エラーが増えました。。。「うっ」となりましたが、気を取り直してエラーを解消していきます。
日本語を入れる手間を惜しんだので、英語で表示されています。

Microsoft Exchange Server 2019 Cumulative Update 11 Unattended Setup

Copying Files...
File copy complete. Setup will now collect additional information needed for installation.


Performing Microsoft Exchange Server Prerequisite Check

    Prerequisite Analysis                                                                  FAILED

This computer doesn't belong to a valid Active Directory site. Check the site and subnet definitions.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.InvalidADSite.aspx

The Active Directory schema isn't up-to-date and the Active Directory management tools aren't installed on this computer. To install the tools, install the 'RSAT-ADDS' Windows feature. Alternately, you can run setup.exe /PrepareAD on a domain controller.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.W2K8R2PrepareSchemaLdifdeNotInstalled.aspx

This computer requires .NET Framework 4.8 (https://support.microsoft.com/kb/4503548).
For more information, visit: https://docs.microsoft.com/Exchange/plan-and-deploy/system-requirements?view=exchserver-2019

The Active Directory schema isn't up-to-date, and this user account isn't a member of the 'Schema Admins' and/or 'Enterprise Admins' groups.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.SchemaUpdateRequired.aspx

Setup encountered a problem while validating the state of Active Directory: Could not find information about the local site. This can be caused by incorrect configuration of subnets or sites or by replication latency. See the Exchange setup log for more information on this error.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.AdInitErrorRule.aspx

The forest functional level of the current Active Directory forest is not Windows Server 2012 R2 or later. To install Exchange Server 2019, the forest functional level must be at least Windows Server 2012 R2.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.ForestLevelNotWin2012R2.aspx

The Windows component RSAT-ADDS-Tools isn't installed on this computer and needs to be installed before Exchange Setup can begin.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.RsatAddsToolsInstalled.aspx

Either Active Directory doesn't exist, or it can't be contacted.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.CannotAccessAD.aspx


The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the <SystemDrive>:\ExchangeSetupLogs folder.

まず、こちらを見るようにとのことなので、確認します。
https://docs.microsoft.com/en-us/previous-versions/exchange-server/exchange-160/jj126697(v=exchg.160)?redirectedfrom=MSDN

前提条件について書かれているページがあるようなので、確認します。
https://docs.microsoft.com/en-us/Exchange/plan-and-deploy/prerequisites?redirectedfrom=MSDN&view=exchserver-2019

前提条件をざっくりみたら、次はエラーをじっくり眺めます。
まず、2つはなんとかなりそうです。

This computer requires .NET Framework 4.8 (https://support.microsoft.com/kb/4503548).
For more information, visit: https://docs.microsoft.com/Exchange/plan-and-deploy/system-requirements?view=exchserver-2019

The Windows component RSAT-ADDS-Tools isn't installed on this computer and needs to be installed before Exchange Setup can begin.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.RsatAddsToolsInstalled.aspx

.Net Framework4.8 のダウンロード

前提条件のページに.Net Framework4.8の直リンがあったので、Curlでダウンロードします。

curl -O .\Desktop\ndp48-x86-x64-allos-enu.exe https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0fd66638cde16859462a6243a4629a50/ndp48-x86-x64-allos-enu.exe

.Net Framework4.8 のインストール

ダウンロードした[ndp48-x86-x64-allos-enu.exe]を起動し、インストールします。

リモートツール管理パックをインストール

PowerShell で 以下のコマンドを入力し、実行します。

Install-WindowsFeature RSAT-ADDS

一度再起動します。

とりあえず、ここでもう一度実行してみます。
まだエラーが出ているので、頑張ります。

サブネットの定義

前のエラーでサブネットを定義しろみたいなことが書いてあったので、定義してみます。
※テスト環境を利用していたのでサブネットの定義をしていませんでした。

This computer doesn't belong to a valid Active Directory site. Check the site and subnet definitions.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.InvalidADSite.aspx

オンプレADのサブネットの定義方法はスクショし忘れました。割と簡単なので、ささっと調べて定義しましょう!

ついにスキーマ拡張

エラー解消できたと思うので、スキーマ拡張を実行します。

.\setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF

やっとスキーマ拡張できました!

ユーザー属性が追加されたことを確認

ユーザーの属性を確認し、正しくスキーマ拡張されたことを確認します。

しっかりと、[extensionAttribute1]~[extensonAttribute15]が追加されていることを確認できました。

Azure AD Connect でディレクトリスキーマの更新を実行

このままではAzure AD Connectがスキーマに更新があったことを認識しないので、AADCに教えてあげます。

[Azure Active Directory Connect]を起動し、[ディレクトリスキーマの更新]を設定しましょう。

これで、Azure ADに追加したExchange Serverのスキーマ(属性)も連携されます。

まとめ

いかがでしたでしょうか。

一番大変なのはエラーの対処だと思います。しかし、根気よく一つ一つエラー解消すれば、必ず出来るはずです。

今回はExchangeServerのスキーマ拡張だけなので、DomainControllerで実行すればよさそうな気がしました。
ただし、.Netを入れる必要があるので、余分なものは入れたくない人はメンバーサーバ等を使いましょう。
また、作業後の不要なメンバーサーバーをADから外す処理を忘れずに行いましょう。

-Microsoft Azure, Microsoft Entra ID