Active Directory のドメイン機能レベルを上げたいとき、最初に見るべきは「今より新しい機能が本当に必要か」よりも、「上げてもよい状態まで環境が整っているか」です。実務では、全ドメインコントローラーの OS バージョン、レプリケーションの正常性、SYSVOL が DFSR かどうか、FSMO/GC の所在、バックアップの検証状況を先に確認しないと、引き上げ自体はできても後戻りしにくい変更になります。特に、Windows Server 2019/2022 の時代に利用できる最新の機能レベルは Windows Server 2016 で、Windows Server 2025 の DC を既存ドメインに追加するには少なくとも Windows Server 2016 の機能レベルが必要です。 (Microsoft Learn)
この記事では、ドメイン機能レベルを上げる前に確認したいチェックリストを、単なる手順ではなく「どのレベルを目指すべきか」「今は上げない方がよいケースは何か」まで含めて整理します。読んだあとに、まず何を確認し、どこで止まり、どの条件なら進めるべきかが判断できる構成です。
まず整理したい、ドメイン機能レベルとフォレスト機能レベルの違い
ドメイン機能レベルは、そのドメイン内のドメインコントローラー同士の機能と互換性に関わります。フォレスト機能レベルは、フォレスト全体の機能に関わり、引き上げるにはフォレスト内のすべての DC が条件を満たし、各ドメインの機能レベルも必要条件を満たしている必要があります。なお、ドメイン機能レベルはフォレスト機能レベルより高く設定できますが、低くはできません。機能レベルの変更はクライアントやメンバーサーバーの OS には直接影響せず、現在の Microsoft Learn では、変更を戻すにはフォレスト回復が必要とされています。 (Microsoft Learn)
| 項目 | ドメイン機能レベル | フォレスト機能レベル |
|---|---|---|
| 影響範囲 | 1 ドメイン内 | フォレスト全体 |
| 主な目的 | そのドメインで使える AD 機能と DC の互換性を決める | フォレスト全体の機能を有効にする |
| 条件 | そのドメイン内の全 DC が対象レベル以上 | フォレスト内の全 DC が対象レベル以上、かつ各ドメイン側も条件を満たす |
| 実務での順序 | 先にこちら | 後でこちら |
| 変更の重さ | 大きい | さらに大きい |
何のために上げるのかを先に決める
「最新だから上げる」は、Active Directory では理由として弱いです。ドメイン機能レベルは、OS の更新とは別に考えるべき設計変更です。まずは、何を実現したいのかを機能レベルに結び付けて考えると判断しやすくなります。以下は Microsoft Learn の機能差と互換性を、実務向けに絞って要約した判断表です。 (Microsoft Learn)
| 目的 | 目安のレベル | 実務上の判断 |
|---|---|---|
| Windows Server 2019 / 2022 の DC を導入したい | 多くの環境で 2012 R2 以上、上限は 2016 | 2019/2022 を入れるだけなら、必ずしも即 2016 へ上げる必要はありません。先に DC 更改を完了させる方が安全です |
| Windows Server 2025 の DC を導入したい | 最低 2016 | 2016 への引き上げは必須です。ただし、2025 まで一気に上げる必要はありません |
| AD Recycle Bin を使いたい | 2008 R2 以上 | 効果が分かりやすい目的です。ただし、機能レベルを上げるだけではなく、Recycle Bin の有効化が別途必要です |
| 特権アカウントの認証制御を強化したい | 2012 R2 以上 | Protected Users や認証ポリシーが目的なら、上げる意味があります |
| MIM PAM や 2016 世代の認証強化を使いたい | 2016 | 運用要件があるなら妥当です |
| Windows Server 2025 の 32k ページ機能を使いたい | 2025 + オプション機能 | 対象は限定的です。全 DC が 2025 であること、バックアップ互換性の確認まで必要です |
| 理由が「なんとなく古いから」だけ | いったん保留 | 先に現状把握と更改を終え、必要な機能が見えてから判断した方が失敗しにくいです |
補足すると、Windows Server 2025 のフォレスト機能レベルまで上げるには、フォレスト内のすべてのドメインのすべての DC が Windows Server 2025 である必要があります。さらに、その状態でフォレスト機能レベルを 2025 に上げると、各ドメインのドメイン機能レベルも 2025 に自動で上がります。 (Microsoft Learn)
ドメイン機能レベルを上げる前に確認したいチェックリスト
ここが本題です。1 つでも未確認の項目があるなら、まだ上げる段階ではありません。以下の表は、公式要件と現場でつまずきやすい論点をまとめたものです。 (Microsoft Learn)
| チェック項目 | 合格ライン | 未達ならどうするか |
|---|---|---|
| 目標レベルの理由が明確 | 「2025 DC を入れたい」「Recycle Bin を使いたい」など説明できる | 目的整理からやり直す |
| 全 DC の OS が条件を満たす | 目標レベル以上の DC だけで構成されている | 新 DC を追加し、旧 DC を降格・撤去する |
| 複数ドメインの整合性 | フォレスト機能レベルを上げる前提が整っている | まず各ドメインの準備を進める |
| レプリケーション正常性 | エラーなし | DNS、RPC、権限、メタデータ不整合を先に解消する |
| SYSVOL レプリケーション方式 | DFSR で運用できている | FRS から DFSR へ移行する |
| FSMO / GC の把握 | 役割ホルダーと GC 配置が分かる | 所在を整理し、必要なら役割移行を計画する |
| バックアップ | 変更前バックアップが取得済みで、復旧経路も把握 | System State などのバックアップを先に取る |
| 実行権限と管理端末 | RSAT / AD モジュールがあり、必要権限を持つ | 事前に管理端末と権限を整える |
全ドメインコントローラーの棚卸しが終わっているか
機能レベルの引き上げは、まず「今どのレベルで、どの DC が何の OS で動いているか」を一覧化しないと始まりません。Microsoft Learn では、現在のドメイン機能レベルとフォレスト機能レベルの確認に Get-ADForest と Get-ADDomain を案内しています。また、DC の列挙には Get-ADDomainController が使えます。 (Microsoft Learn)
Get-ADForest | Select-Object -ExpandProperty Domains | ForEach-Object { Get-ADDomain $_ } | Select-Object Name, DomainMode
Get-ADForest -Identity <forest> | Select-Object ForestMode
Get-ADDomainController -Filter * |
Select-Object HostName, Site, IsGlobalCatalog, OperatingSystem
ここで重要なのは、「1 台でも古い DC が残っていれば、そのレベルへは上げられない」という点です。たとえば 2025 のドメイン機能レベルにしたいなら、そのドメイン内の全 DC が Windows Server 2025 である必要があります。逆に、Windows Server 2025 の DC を既存ドメインに追加したいだけなら、まず必要なのは 2025 までの引き上げではなく、少なくとも 2016 のドメイン機能レベルです。 (Microsoft Learn)
DC 更改の進め方も大切です。Microsoft は、既存 DC をインプレースアップグレードするより、新しい Windows Server のサーバーを新規 DC として昇格し、必要に応じて古い DC を降格する方法を推奨しています。実務でもこの順番の方がトラブルの切り分けがしやすく、機能レベル引き上げ前の状態確認が明確になります。 (Microsoft Learn)
レプリケーションにエラーがないか
Microsoft Learn では、機能レベルを上げる前提条件として「フォレストとドメインが動作しており、レプリケーションエラーがないこと」を明記しています。これは形式的な条件ではなく、実務上は最重要です。レプリケーションが崩れた状態で機能レベルだけ上げると、問題の原因が変更前の不整合なのか、変更後の影響なのか切り分けにくくなります。 (Microsoft Learn)
確認には、Microsoft のトラブルシューティング記事で案内されている repadmin /showrepl * /csv が使えます。CSV に出して見てもよいですし、PowerShell で表形式に流しても構いません。 (Microsoft Learn)
repadmin /showrepl * /csv > showrepl.csv
repadmin /showrepl * /csv | ConvertFrom-Csv | Out-GridView
ここでエラーが出るなら、先に直すべきです。特に、古い DC の降格漏れ、DNS 参照の不整合、RPC 通信の問題、権限系エラーは、機能レベルの引き上げ以前に片付ける必要があります。これは Microsoft の前提条件から見ても妥当な止まりどころです。 (Microsoft Learn)
SYSVOL が FRS ではなく DFSR になっているか
この項目は見落とされやすいのですが、非常に重要です。現在の Microsoft Learn では、Windows Server 2016 の機能レベルでは SYSVOL のレプリケーションに DFSR が必要であり、FRS をサポートする最後の Windows Server は 2016 とされています。つまり、古い運用のまま FRS が残っている環境では、まず SYSVOL の移行が先です。 (Microsoft Learn)
確認と移行状況の把握には dfsrmig を使います。Microsoft Learn では、このツールが SYSVOL レプリケーションを FRS から DFSR に移行するためのものだと説明しています。 dfsrmig /getmigrationstate では、全 DC がグローバル状態に一致しているかどうかも確認できます。 (Microsoft Learn)
dfsrmig /getglobalstate
dfsrmig /getmigrationstate
dfsrmig /getmigrationstate の結果で、全ドメインコントローラーが一貫した状態に到達していないなら、機能レベルの引き上げより先に SYSVOL 側を完了させるべきです。また、Eliminated 状態への移行はロールバックできないため、FRS の撤廃も「本当に戻さない前提」で進める必要があります。 (Microsoft Learn)
FSMO、GC、バックアップを把握しているか
機能レベルを上げる前に、Microsoft は GC と FSMO ロールをホストしているすべての DC を特定し、変更前にバックアップを作成して検証するよう案内しています。ここを曖昧にしたまま変更すると、障害時に「どこから戻すか」が決められません。 (Microsoft Learn)
FSMO の所在確認は、Microsoft Learn の手順どおり以下のコマンドで確認できます。 (Microsoft Learn)
Get-ADDomain | FL InfrastructureMaster, RIDMaster, PDCEmulator
Get-ADForest | FL DomainNamingMaster, SchemaMaster
バックアップについては、DC の System State バックアップが基本です。Microsoft は、System State バックアップの手順を別記事で案内しており、仮想化 DC の復旧でも System State バックアップが必要だと説明しています。機能レベル変更は元に戻しにくいため、少なくとも役割ホルダー DC を含む変更前バックアップは必須だと考えてください。 (Microsoft Learn)
管理権限と実行端末が整っているか
機能レベルの引き上げには、RSAT の AD DS ツールまたは PowerShell 用 Active Directory モジュールを使う前提です。さらに、フォレスト機能レベルを上げるには Enterprise Admins 相当の権限が必要です。権限が足りない、あるいは実行端末に管理ツールが入っていない、という理由で当日に止まるケースは珍しくありません。 (Microsoft Learn)
現場では、変更作業そのものよりも「誰が、どの端末から、どの権限で実施するか」の方が止まりやすいです。ジャンプサーバー、PAW、管理用端末のどれで実施するかまで先に決めておくと、変更ウィンドウで迷いません。
古い認証前提や周辺システムの影響を読めているか
Microsoft は、機能レベル変更自体はクライアントや一般的なアプリケーションに影響しないと説明しています。ただし、2012 R2 以降の Protected Users や認証ポリシー、2016 の NTLM 制御や PAM、2025 の 32k ページのように、「新しい機能を実際に使う運用」へ踏み込む場合は話が別です。認証方式が古い NAS、VPN、複合機、古い LDAP 連携、サービスアカウント運用は事前検証の対象にした方が安全です。これは公式の機能差から見た実務上の判断です。 (Microsoft Learn)
ポイントは、機能レベルの引き上げと新機能の有効活用を同じ日に重ねないことです。まず機能レベルだけを上げて安定稼働を確認し、その後に認証強化や 32k ページ機能のような追加変更を分ける方が、障害時の切り分けが圧倒的に楽です。 (Microsoft Learn)
上げない方が安全なケースと代替策
機能レベルは、上げること自体が目的ではありません。以下のような状況では、いったん上げずに別の作業を先行した方が結果的に安全です。以下の代替策は、Microsoft の互換性要件と推奨される DC 更改の流れを踏まえた現実的な進め方です。 (Microsoft Learn)
| 状況 | 無理に上げない理由 | 先に取るべき代替策 |
|---|---|---|
| 2019/2022 への DC 更改の途中 | 旧 DC が残る間は要件未達になりやすい | 新 DC 追加、FSMO 確認、旧 DC 降格を先に完了させる |
| 複数ドメインのうち一部だけ更新が遅れている | フォレスト機能レベル側で詰まる | まずドメイン単位で棚卸しと修復を進める |
| Recycle Bin がすでに有効で、追加機能も使わない | 直近の業務メリットが小さい | レプリケーション健全化やバックアップ整備を優先する |
| 2025 に上げたいが、全 DC が 2025 ではない | 2025 機能レベルの条件に届かない | まず 2016 を基準に整備し、2025 は次段階で検討する |
| 32k ページを検討しているが、復旧手順を試していない | 有効化後は 8k バックアップの扱いが変わる | テスト環境でバックアップ・復元互換性を検証する |
勘違いしやすいポイント
「Windows Server 2019 や 2022 の DC を入れるなら、機能レベルもすぐ 2016 に上げないといけない」と思われがちですが、互換性上は 2012 R2 の機能レベルでも 2019/2022 の DC を運用できます。先に更改だけ終わらせ、機能レベルは後で上げる、という分離は十分に現実的です。逆に、Windows Server 2025 の DC を既存ドメインに追加したい場合は、少なくとも 2016 が必要です。 (Microsoft Learn)
「Recycle Bin は機能レベルを上げれば自動で使える」という理解も誤りです。AD Recycle Bin は 2008 R2 以上が前提ですが、別途有効化が必要で、しかも有効化後は無効化できず、NTDS.DIT のサイズにも影響します。削除オブジェクトの復元を目的にするなら、引き上げるだけで終わらない点を押さえておくべきです。 (Microsoft Learn)
また、「2025 まで上げれば 32k ページも自動で有効になる」と考えるのも危険です。32k ページは 2025 世代の別のオプション機能であり、フォレスト全体の操作です。しかも有効化後は以前の 8k ページ シミュレーション モードへ戻せず、事前に作成した 8k バックアップの扱いも変わります。2025 の機能レベルと 32k ページは、別判断として切り分けてください。 (Microsoft Learn)
結局、最初に何をやればいいか
迷ったら、最初の一手は次の順番で十分です。ここまでできれば、ドメイン機能レベルを上げる前の判断材料はかなりそろいます。 (Microsoft Learn)
Get-ADForest/Get-ADDomainで、現在のドメイン機能レベルとフォレスト機能レベルを確認するGet-ADDomainController -Filter *で、全 DC の OS・サイト・GC を棚卸しするrepadmin /showrepl * /csvでレプリケーション異常を洗い出すdfsrmig /getglobalstateとdfsrmig /getmigrationstateで SYSVOL の状態を確認する- FSMO の所在を確認し、変更前バックアップを取ってから、ドメイン機能レベル、最後にフォレスト機能レベルの順で進める
ドメイン機能レベルの引き上げは、単なる「最新化」ではありません。必要な機能を使うための変更であり、不要な制約を増やさないための設計判断です。まずは棚卸し、次に健全性確認、そのあとに引き上げの是非を決める。この順番を守るだけで、失敗の多くは避けられます。

コメント