【AD基礎】ドメイン機能レベル/フォレスト機能レベルとは?

  • 2022年12月8日
  • 2023年6月8日
  • AD DS

Active Directory ドメイン サービスを利用すると、システム管理者が各端末やユーザーを一元的に管理することができます。Active Directory は Windows 2000 Server から導入されており、OS のバージョンが上がるごとに新しい機能が追加されています。

Active Directory ドメインでは複数のドメイン コントローラーを構築することができますが、端末ごとに OS のバージョンが異なることがあります。フォレストやドメイン単位で、利用できるドメインの機能を統一するために「機能レベル」が用意されています。機能レベルを設定することにより、利用可能なドメインの機能が統一するため、複数の OS のドメイン コントローラーが混在している環境でも、動作の差異が生じることなく問題が発生することはありません。

今回は、フォレスト、ドメイン内で統一した機能を利用するための仕組みである「機能レベル」について紹介します。

 

機能レベルとは

Active Directory の「機能レベル」とは、Active Directory ドメイン サービスにて利用できる機能を定義したものとなります。

Active Directory は Windows 2000 Server から導入されており、OS のバージョンが上がるごとに新しい機能が追加されています。ドメイン内で利用できる機能を統一して、OS のバージョンの違いにより動作の問題が発生しないように「機能レベル」が用意されています。

機能レベルには、ドメインの機能レベルフォレストの機能レベルが用意されています。ドメインの機能レベルはドメイン全体で統一される機能レベルで、フォレストの機能レベルはフォレスト全体で統一される機能レベルとなります。

機能レベルの設定における制約として、ドメインの機能レベルはフォレストの機能レベルより上位の機能レベルの設定にできますが、フォレストの機能レベルはドメインの機能レベルより上位の機能レベルに設定することはできない点に注意してください。例えば、フォレストの機能レベルが “Windows Server 2008” であれば、フォレスト内にある各ドメインのドメインの機能レベルは “Windows Server 2008” 以上より上位の機能レベルのみが利用できます。

 

各機能レベルの追加機能

各機能レベルで追加されて利用できるようになった機能を紹介していきます。

Windows 2000

フォレストの機能レベル

なし

 

ドメインの機能レベル

Windows 2000 ネイティブのドメインの機能レベルで以下の機能が追加で利用できるようになります。

  • ユニバーサル グループが利用できるようになりました
  • グループをネスト化して利用できるようになりました
  • セキュリティ グループと配布グループを相互に変換できるようになりました
  • SID 履歴が利用できるようになりました

 

Windows Server 2003

フォレストの機能レベル

Windows Server 2003 のフォレストの機能レベルで以下の機能が追加で利用できるようになります。

  • フォレスト信頼が利用できるようになりました
  • ドメイン名を変更できるようになりました
  • 読み取り専用ドメイン コントローラー(RODC)を展開できるようになりました
  • 知識整合性チェッカー(KCC)のアルゴリズムが強化され、スケーラビリティが改善されました (※補足1)
  • 指定した時間が経過すると自動的に削除される Dynamic Object が利用できるようになりました
  • inetOrgPerson オブジェクトとユーザー オブジェクトを相互に変換できるようになりました
  • アプリケーション基本グループが利用できるようになりました
  • LDAP クエリ グループが利用できるようになりました
  • スキーマの属性とクラスを、非アクティブや設定の変更ができるようになりました
  • Linked-Value Replication(LVR) と呼ばれる複製方式がサポートされるようになりました (※補足2)

 

 

 ※ 補足1
ドメイン コントローラー同士は AD データベースや SYSVOL のデータを複製して、同じデータを保持しています。データの複製において、どのドメイン コントローラー同士でデータを複製すべきかを決める複製トポロジーを、知識整合性チェッカー(KCC) が計算しています。この計算のアルゴリズムが強化されて、スケーラビリティが持てるように改善され、フォレスト内により多くのサイトを作成することができるようになりました。

 

 ※ 補足2
AD データベースの複製において、Linked-Value Replication(LVR) と呼ばれる複製方式がサポートされるようになりました。この複製方式は、複数の値をもつ属性に変更を加えたとしても、その属性の全てのデータが複製されるのではなく、変更された箇所だけが複製される動作となります。その結果、属性に対して、より多くの値を格納できるようになり、複数のドメイン コントローラーで同時に値を変更したとしても、変更内容が失われることはなくなりました。
 

 

ドメインの機能レベル

Windows Server 2003 のドメインの機能レベルで以下の機能が追加で利用できるようになります。

  • ドメイン管理ツール(netdom.exe)を用いて、ドメイン コントローラーのホスト名を変更できるようになりました
  • lastLogonTimestamp 属性が利用できるようになりました
  • userPassword 属性が利用できるようになりました
  • User コンテナと Computer コンテナをリダイレクトできるようになりました
  • 承認マネージャーで承認ポリシーを AD に格納できるようになりました
  • Kerberos 制約付き委任が利用できるようになりました
  • 信頼関係の設定にて、認証の選択という機能ができるようになりました

 

Windows Server 2008

フォレストの機能レベル

なし

 

ドメインの機能レベル

Windows Server 2008 のドメインの機能レベルで以下の機能が追加で利用できるようになります。

  • SYSVOL の複製方式として、DFS レプリケーションが利用できるようになりました
  • ドメイン ベースの DFS 名前空間において、Windows Server 2008 モードが利用できるようになりました
  • Kerberos 認証で使用さえる暗号化方式として、AES 128 および AES 256 が利用できるようになりました
  • 最後に対話型ログオンした日時を記録、表示できるようになりました
  • 細かい設定が可能なパスワード ポリシー (FGPP : Fine-Grained Password Policy)が利用できるようになりました
  • ユーザー アカウントのプロパティ画面にて、[個人用仮想デスクトップ] タブが利用できるようになりました

 

 

Windows Server 2008 R2

フォレストの機能レベル

Windows Server 2008 R2 のフォレストの機能レベルで以下の機能が追加で利用できるようになります。

  • Active Directory のゴミ箱の機能が利用できるようになりました

 

ドメインの機能レベル

Windows Server 2008 R2 のドメインの機能レベルで以下の機能が追加で利用できるようになります。

  • Kerberos 認証にて、認証メカニズム保証と呼ばれる機能が利用できるようになりました
  • 管理されたサービス アカウントで実行されているサービスで動作するコンピューターのコンピューター名を変更した際に、自動的に SPN が変更される管理機能を利用できるようになりました

 

Windows Server 2012

フォレストの機能レベル

なし

 

ドメインの機能レベル

Windows Server 2012 のドメインの機能レベルで以下の機能が追加で利用できるようになります。

  • Kerberos 認証にて、以下の機能をグループ ポリシーで強制できるようになりました
    • Kerberos 認証のパケットに、ユーザーやデバイスの属性値をクレームとして格納できます
    • デバイスの Kerberos チケットを使用して、ユーザーの Kerberos 認証を保護できます
    • Kerberos チケットにて、ユーザー クレームとデバイス クレームの両方を使用してアクセス制御できます

 

Windows Server 2012 R2

フォレストの機能レベル

なし

 

ドメインの機能レベル

Windows Server 2012 R2 のドメインの機能レベルで以下の機能が追加で利用できるようになります。

  • Protected Users グループに所属させることで、認証のセキュリティを強化できるようになりました
    • NTLM 認証が利用できなくなります
    • Kerberos の事前認証における暗号方式として、DES と RC4 が利用できなくなります
    • 制限なし委任、また制約付き委任を利用できなくなります
    • Kerberos チケット(TGT) の有効期間が 4 時間になります
  • 認証ポリシーと認証ポリシー サイトという機能が利用できます。(※補足3)

 

 ※ 補足3
ドメインの機能レベルの Windows Server 2012 R2 にて、認証ポリシーと認証ポリシー サイトという機能が追加されました。
認証ポリシーと認証ポリシー サイロを使用することで、ユーザー アカウントおよびコンピューター アカウント、管理されたサービス アカウントのそれぞれに対して Kerberos チケットの有効期限を制限することや、ユーザーやデバイスの属性にもとづいたアクセス制御条件を定義した認証ポリシーを適用することができます。
 

 

 

Windows Server 2016

フォレストの機能レベル

Windows Server 2016 のフォレストの機能レベルで以下の機能が追加で利用できるようになります。

  • Microsoft Identity Manager (MIM) を利用することにより、特権アクセス制御(PAM) と呼ばれる機能が利用できます。PAM の機能では、一定期間だけグループに所属させるなど、特権アカウントをより高度に管理できるようになります。

 

ドメインの機能レベル

  • Windows Hello やスマートカード ログオンを強制されているユーザーには、NTLM 認証にてシークレットをローリングする機能が利用できるようになりました。
  • 特定のデバイスだけ利用するように制限されたユーザーに対して、ネットワーク ログオンで NTLM 認証の利用を許可できるようになりました
  • PKInit Freshness Extension の拡張機能により、公開キーベースの Kerberos 認証のセキュリティがより強化されました。

 

Windows Server 2019 と Windows Server 2022 の機能レベルは存在しません。

 

機能レベルの確認方法

フォレストの機能レベルとドメインの機能レベルを確認するには、ドメイン コントローラーにて確認することができます。PowerShell と管理コンソールそれぞれで確認することができます。

PowerShell での確認方法

管理者権限で PowerShell を開き、以下のコマンド レットを実行します。

 

フォレストの機能レベルを確認するコマンド レット
Get-ADForest | fl Name,ForestMode
 
実行例

PS C:\> Get-ADForest | fl Name,ForestMode

Name : test01.local
ForestMode : Windows2008Forest

 

PS C:\>

 

ドメインの機能レベルを確認するコマンド レット

Get-ADDomain | fl Name,DomainMode
 
実行例

PS C:\> Get-ADDomain | fl Name,DomainMode

Name : test01
DomainMode : Windows2008Domain

 

PS C:\>

 

管理コンソールでの確認方法

ドメイン コントローラーにて管理コンソールを開いて、機能レベルを確認することができます。

フォレストの機能レベルの確認方法
1) ドメイン コントローラーに管理者権限をもつユーザーでログオンします。
2) [Windows 管理ツール] から [Active Directory ドメインと信頼関係] を開きます。
3) 画面の左ペインより、[Active Directory ドメインと信頼関係] を右クリックして [フォレストの機能レベルの昇格] をクリックします。
4) [フォレストの機能レベルの昇格] の画面より、[現在のフォレストの機能レベル] の値を確認します。
  
ドメインの機能レベルの確認方法
1) ドメイン コントローラーに管理者権限をもつユーザーでログオンします。
2) [Windows 管理ツール] から [Active Directory ドメインと信頼関係] を開きます。
3) 画面の左ペインより、[Active Directory ドメインと信頼関係] – [<ドメイン名>] を右クリックして、[ドメインの機能レベルの昇格] をクリックします。
4) [ドメインの機能レベルの昇格] の画面より、[現在のドメインの機能レベル] の値を確認します。
 
機能レベルの昇格の画面にて、[上げる] をクリックすると機能レベルが上がってしまいます。
機能レベルを確認するのみであれば、[キャンセル] をクリックして画面を閉じてください。
 

機能レベルを上げる方法

フォレストの機能レベルとドメインの機能レベルを上げる方法として、PowerShell と管理コンソールそれぞれで変更することができます。また、機能レベルを上げる際に考慮する必要がある点を事前に確認した上で、機能レベルを上げる作業を実施してください。

機能レベルを上げる際の考慮点

ドメインの機能レベルを Windows Server 2008 以上に上げる影響

ドメインの機能レベルを Windows Server 2008 以降に上げると、Kerberos 認証に AES の暗号化方式を利用できるようになります。機能レベルを上げたことを検知すると、各ドメイン コントローラーにて AES に対応する変更処理が行われます。この変更処理がきっかけで、Kerberos 認証に失敗する事象が稀に発生することがあります。この事象が発生したら、対象のドメイン コントローラーにて Kerberos Key Distribution Center サービスを再起動(管理者権限でコマンド プロンプトを開いて、”net stop kdc && net start kdc” を実行)することで解消します。

また、ドメインの機能レベルを Windows Server 2008 以降に上げると、SYSVOL の複製に DFSR が利用できるようになります。Windows Server 2016 R3 以降の OS から、ドメイン コントローラーの SYSVOL の複製に DFSR のみしか利用できなくなります。そのため、Windows Server 2016 R3 以降の OS をドメイン コントローラーとして追加する場合は、事前にドメインの機能レベルを Windows Server 2008 以上に上げて、SYSVOL の複製方式を DFSR に移行しておく必要があります。

 

ドメインの機能レベルを Windows Server 2008 R2 以上にあげる影響

.NET Framework 3.5 SP1 以前のバージョンで独自開発したアプリケーションにて、Domain.DomainMode プロパティを使用している場合、ドメインの機能レベルを “Windows Server 2008 R2” 以上に上げるとエラーが発生します。エラーの原因は、DomainMode 列挙体の定義に Windows2008R2Domain がないためです。

ドメインの機能レベルの参照する動作がある独自開発したアプリケーションがある場合は、Domain.DomainMode プロパティを利用していないかご確認ください。該当する場合、対処策として Hotfix の適用が必要であるため、マイクロソフトに問い合わせてください。

 

PowerShell での確認方法

管理者権限で PowerShell を開き、以下のコマンド レットを実行します。

フォレストの機能レベルを変更するコマンド レット
Set-ADForestMode -forestMode <フォレストの機能レベル> -Identity <ドメイン名>
※ -forestMode オプションの後に変更する機能レベルを指定します。
 
-forestMode オプションの引数

 

Windows2000Forest Windows 2000
Windows2003Forest Windows Server 2003
Windows2008Forest Windows Server 2008
Windows2008R2Forest Windows Server 2008 R2
Windows2012Forest Windows Server 2012
Windows2012R2Forest Windows Server 2012 R2
Windows2016Forest Windows Server 2016

 

実行例

PS C:\> Set-ADForestMode -forestMode Windows2016Forest -Identity test01.local

確認
この操作を実行しますか?
対象 “CN=Partitions,CN=Configuration,DC=test01,DC=local” に対して操作 “Set” を実行しています。
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は “Y”): y
PS C:\>

 

 

ドメインの機能レベルを確認するコマンド レット

Set-ADDomainMode -domainMode <ドメインの機能レベル> -Identity <ドメイン名>
※ -domainMode オプションの後に変更する機能レベルを指定します。
-domainMode オプションの引数

 

Windows2000Domain Windows 2000
Windows2003Domain Windows Server 2003
Windows2008Domain Windows Server 2008
Windows2008R2Domain Windows Server 2008 R2
Windows2012Domain Windows Server 2012
Windows2012R2Domain Windows Server 2012 R2
Windows2016Domain Windows Server 2016
 
実行例

PS C:\> Set-ADDomainMode -domainMode Windows2016Domain -Identity test01.local

確認
この操作を実行しますか?
対象 “DC=test01,DC=local” に対して操作 “Set” を実行しています。
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は “Y”): y
PS C:\>

 

 

管理コンソールでの確認方法

ドメイン コントローラーにて管理コンソールを開いて、機能レベルを上げることができます。

フォレストの機能レベルの確認方法
1) ドメイン コントローラーに管理者権限をもつユーザーでログオンします。
2) [Windows 管理ツール] から [Active Directory ドメインと信頼関係] を開きます。
3) 画面の左ペインより、[Active Directory ドメインと信頼関係] を右クリックして [フォレストの機能レベルの昇格] をクリックします。
4) [フォレストの機能レベルの昇格] の画面より、[利用可能なフォレストの機能レベルを選択してください] の項目にて、変更する機能レベルの値を選択して [上げる] をクリックします。
 
5) “この変更はフォレスト全体に適用されます。” と表示されたら、[OK] をクリックします。
 
6) “機能レベルを上げることに成功しました。” と表示されたら、[OK] をクリックします。
 
  
ドメインの機能レベルの確認方法
1) ドメイン コントローラーに管理者権限をもつユーザーでログオンします。
2) [Windows 管理ツール] から [Active Directory ドメインと信頼関係] を開きます。
3) 画面の左ペインより、[Active Directory ドメインと信頼関係] – [<ドメイン名>] を右クリックして、[ドメインの機能レベルの昇格] をクリックします。
4) [ドメインの機能レベルの昇格] の画面より、[利用可能なドメインの機能レベルを選択してください] の項目にて、変更する機能レベルの値を選択して [上げる] をクリックします。
 
5) “この変更はドメイン全体に適用されます。” と表示されたら、[OK] をクリックします。
 
6) “機能レベルを上げることに成功しました。” と表示されたら、[OK] をクリックします。
 
 

機能レベルを切り戻す方法

機能レベルを上げた後に元の機能レベルに切り戻す作業は、管理ツールでは切り戻すことはできません。しかしながら、PowerShell の Set-ADForestMode、Set-ADDomainMode のコマンド レットを利用して、元の機能レベルに戻すことが可能です。フォレストの機能レベルとドメインの機能レベルにおける、それぞれの制約を紹介します。

フォレストの機能レベルの切り戻しについて

Active Directory のごみ箱が有効になっていない場合は、Set-ADForestMode にて Windows Server 2008 まで機能レベルを戻すことができます。一方、Active Directory のごみ箱が有効になっている場合は、Set-ADForestMode にて Windows Server 2008 R2 まで機能レベルを戻すことができます。

これのいずれにも該当しない、以下の要件に該当する切り戻しをする場合には、Set-ADForestMode コマンド レットで切り戻すことはできません。

  • ごみ箱が有効になっていない環境にて、Windows Server 2003 以下の機能レベルに戻したい場合
  • ごみ箱が有効になっている環境にて、Windows Server 2008 以下の機能レベルに戻したい場合

機能レベルの切り戻しにおいて、上記に要件に該当する場合は、フォレスト内の全てのドメイン コントローラーをバックアップからリストアする必要があります。

あわせて読みたい!

ドメイン コントローラーにて何か問題が起きた時、バックアップからリストアしたいことがあります。今回はドメイン コントローラーのリストアの手順を紹介します。   事前準備(バックアップ) ドメイン コントローラーをリストアするには、30 日以[…]

 

ドメインの機能レベルの切り戻しについて

ドメインの機能レベルは、フォレストの機能レベルより下回らない範囲であれば、Set-ADDomainMode にて Windows Server 2008 まで機能レベルを戻すことができます。

もし、ドメインの機能レベルを Windows Server 2003 以下に切り戻したい場合は、ドメイン内の全てのドメイン コントローラーをバックアップからリストアする必要があります。

 

 

 

楽天ブックス
¥3,630 (2023/06/08 11:21時点 | 楽天市場調べ)
楽天ブックス
¥4,400 (2023/06/08 11:24時点 | 楽天市場調べ)