以前別の記事で AD フォレストドメインの機能レベルについて、機能レベルを下げることはリスクがあるとの見方がある旨の内容を書いていましたが、Windows Server の検証をやっている時に機能レベルを下げたい状況があったので、実際にやってみました。
機能レベルについては、別の記事でまとめがものがありますので、参考にしていただければと思います。
機能レベルを確認する
まずは、フォレスト/ドメインのそれぞれの現在の機能レベルのバージョンがいくつなのかを確認していきます。また、ここでは PowerShell を使った流れになりますが、機能レベルの確認だけであれば「Active Directory ドメインと信頼関係」のプロパティから確認することができます。
※本手順は、Windows Server 2012 で行ったものになりますが、基本的には他のバージョンにおいても操作手順に変わりはありません。
フォレスト機能レベルの確認
それではフォレストの機能レベルを確認していきます。管理者として起動した PowerShell にて、以下の “DomainMode” のパラメーターを取得するコマンドを実行します。
コマンド例
Get-ADForest | Format-List ForestMode
実行例
PS C:\Users\Administrator>Get-ADForest | Format-List ForestMode ForestMode : Windows2012Forest PS C:\Users\Administrator>
“ForestMode” が “Windows2012Forest” の場合は、フォレストの機能レベルは「Windows Server 2012」ということになります。
ドメイン機能レベルの確認
次にドメインの機能レベルを確認していきます。管理者として起動した PowerShell にて、以下の “DomainMode” のパラメーターを取得するコマンドを実行します。
コマンド例
Get-ADDomain | Format-List DomainMode
実行例
PS C:\Users\Administrator> Get-ADDomain | Format-List DomainMode DomainMode : Windows2012Domain PS C:\Users\Administrator>
“DomainMode” が “Windows2012Domain” の場合は、ドメインの機能レベルは「Windows Server 2012」ということになります。
機能レベルを降格する
現在の機能レベルの確認ができましたら、次にフォレストドメインの機能レベルの降格を行っていきます。機能レベルの降格については、PowerShell コマンドのみ手順が用意されているようです。
フォレスト機能レベルを下げる
それでは実際にフォレストの機能レベルの降格を行っていきます。管理者として起動した PowerShell にて、以下の通り対象「フォレスト名」および「フォレストバージョン」を指定した上でコマンドを実行します。
コマンド例
Set-ADForestMode -Identity <フォレスト名> -ForestMode <フォレストバージョン>
実行例
PS C:\Users\Administrator> Set-ADForestMode -Identity contoso.com -ForestMode windows2008forest 確認 この操作を実行しますか? 対象 "CN=Partitions,CN=Configuration,DC=contoso,DC=com" に対して操作 "Set" を実行しています。 [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y PS C:\Users\Administrator>
コマンドを実行後、操作の確認メッセージが表示され、「Y」を入力することで機能レベルの変更が実行されます。
ドメイン機能レベルを下げる
次にドメインの機能レベルの降格を行っていきます。管理者として起動した PowerShell にて、以下の通り対象「ドメイン名」および「ドメインバージョン」を指定した上でコマンドを実行します。
コマンド例
Set-ADDomainMode -Identity <ドメイン名> -DomainMode <ドメインバージョン>
実行例
PS C:\Users\Administrator> Set-ADDomainMode -Identity contoso.com -DomainMode windows2008domain 確認 この操作を実行しますか? 対象 "DC=contoso,DC=com" に対して操作 "Set" を実行しています。 [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y PS C:\Users\Administrator>
コマンドを実行後、操作の確認メッセージが表示され、「Y」を入力することで機能レベルの変更が実行されます。
機能レベルの変更を確認する
機能レベル降格後の確認として、最初に実行した確認コマンド、もしくは「Active Directory ドメインと信頼関係」からフォレスト/ドメインそれぞれの機能レベルを確認します。
「Windows Server 2012」だったものが「Windows Server 2008」に下がっていました。
念のため、イベントビューアーでログを確認してみましたが特にエラーなどはなく、情報として機能レベルが変更された旨のイベントが記録されていました。
特に何もなく、機能レベルの降格ができていました。
ただ、機能レベルを降格する前提として「Active Directory ごみ箱機能」が有効化されていないことや、機能レベルに依存した連携システム等の要件などもあると思いますので、実際の運用環境で実施される場合は、影響範囲について調査することをおすすめします。※個人的には検証レベルでの利用に留めておくのが良いかと思います。