この記事の内容

  • Active Directoryのオブジェクトを誤って削除した場合の復元手順を解説します
  • Windows Server バックアップを使用したシステム状態のバックアップ取得方法を紹介します
  • ディレクトリサービス復元モード(DSRM)への切り替え方法を説明します
  • ntdsutil コマンドを使ったオーソリティブリストアの実施手順を解説します
  • 復元後に他のドメインコントローラーへ変更が複製されることを確認します

フォレスト全体の復旧と、今回扱う範囲

Active Directoryの災害対策には、フォレスト全体が壊滅した場合のフォレスト回復手順があります。Microsoftが「ADフォレストの回復ガイド」として詳細な手順を公開していますが、実際の運用でこのシナリオに遭遇することはほぼありません。

なぜなら、シングルフォレスト・シングルドメイン構成であっても、複数のドメインコントローラーを置いておけば、1台でも生き残っていれば追加で新しいドメインコントローラーを参加させることで復旧できるからです。地理的に離れた場所や、クラウド上にドメインコントローラーを1台配置しておくだけで、フォレスト全体のバックアップリストアが必要になる状況は大幅に減らせます。

今回は、より現実的なシナリオ――誤って削除したオブジェクトをバックアップから復元する――に焦点を当てて説明します。ごみ箱機能を有効にしていない場合や、ごみ箱からも削除してしまった場合に対応するため、ディレクトリサービス復元モードを使ったオーソリティブリストアを実施します。


事前準備:Windows Server バックアップのインストール

システム状態のバックアップを取得するために、まずWindows Server バックアップをインストールします。これは「役割と機能の追加」から追加できる「機能」として分類されています。

  1. サーバーマネージャーを開き、「役割と機能の追加」 を選択します
  2. ウィザードを進め、「機能」 のページで 「Windows Server バックアップ」 にチェックを入れます
  3. インストールを完了させます

なお、サードパーティ製のバックアップツールもWindowsServer バックアップをバックエンドとして利用しているケースが多いため、Windows Server バックアップ単体でも十分な機能を提供します。


システム状態のバックアップ取得

Windows Server バックアップをインストールしたら、バックアップを取得します。Active Directoryのオブジェクト情報は「システム状態」の中に含まれるため、システム状態のバックアップを取得します。

  1. Windows Server バックアップを起動します
  2. 「単発バックアップ」 を選択します
  3. バックアップ対象として 「カスタム」 を選び、「システム状態」 を追加します
  4. バックアップ先のドライブを選択します(Cドライブには取得できないため、別のドライブが必要です)
  5. バックアップを実行します

バックアップ先ディスクは、あらかじめディスクの管理でオンライン化・初期化・ドライブレターの割り当てを行っておく必要があります。


オブジェクトの削除(復元シナリオの準備)

今回の復元シナリオとして、TestOU 配下のユーザーオブジェクトを削除します。削除後は、他のドメインコントローラー(DC02)にも削除が複製されたことを確認しておきます。

ActTDieCvs0et2ODUirectory

ディレクトリサービス復元モードへの切り替え

オブジェクトを復元するには、通常のモードではなく「ディレクトリサービス復元モード(DSRM)」で起動する必要があります。切り替えには msconfig(システム構成)を使うのが簡単です。

  1. msconfig を起動します
  2. 「ブート」 タブを選択します
  3. 「セーフブート」 にチェックを入れ、「Active Directory 修復」 を選択します
  4. 「適用」→「OK」 をクリックし、再起動します

再起動後は、ドメイン管理者アカウントではなく、ドメイン昇格時に設定したディレクトリサービス復元モードのパスワードを使い、以下の形式でログインします。

::\DASdRmMinistrator

この状態ではActive Directoryサービスが起動しておらず、ドメイン管理者でのログインはできません。


非オーソリティブリストアの実施

DSRM で起動した状態で、Windows Server バックアップを使ってシステム状態を復元します。

  1. Windows Server バックアップを起動します
  2. 「回復」 を選択します
  3. バックアップ保存先(ローカルまたはリモート)を選択し、復元に使うバックアップの日時を選びます
  4. 回復する項目として 「システム状態」 を選択します
  5. 復元先として 「元の場所」 を選択します
  6. 「Active Directory ファイルのオーソリティブリストアを実行する」チェックは外します
  7. 「自動的に再起動する」のチェックも外します(後でコマンドを実行する必要があるため)
  8. 「回復」 をクリックして実行します

「自動的に再起動する」 のチェックを外すことが重要です。チェックを入れたまま再起動してしまうと、単純にシステム状態が以前の状態に戻るだけとなり、オーソリティブリストアが完了しません。


オーソリティブリストアの実施(ntdsutil)

システム状態の復元が完了したら、再起動せずにコマンドプロンプトまたはWindows PowerShellを開き、ntdsutil を使ってオーソリティブリストアを実施します。

オーソリティブリストアとは、復元したオブジェクトを「最新の正しいデータ」として他のドメインコントローラーにも複製させるための操作です。Active Directoryは内部でバージョン番号(USN)を使って更新の新旧を判断しますが、オーソリティブリストアではこのバージョン番号を大幅に引き上げることで、復元したオブジェクトが最新データとして扱われます。

# ntdsutil を起動
ntdsutil

# インスタンスを指定
activate instance ntds

# オーソリティブリストアモードへ
authoritative restore

# OU ごとサブツリーを復元(例:TestOU を復元)
restore subtree "OU=TestOU,DC=ad,DC=contoso,DC=local"

実行すると、対象 OU 配下のオブジェクトのレコードが検出・更新され、オーソリティブリストアが完了したことが表示されます。


通常モードへの切り替えと起動

オーソリティブリストアが完了したら、再び msconfig でブート設定を通常に戻して再起動します。

  1. msconfig を起動します
  2. 「ブート」 タブで 「セーフブート」 のチェックを外します
  3. 「適用」→「OK」 をクリックし、再起動します

再起動後、ドメインコントローラーが通常モードで起動し、他のドメインコントローラーとの複製が開始されます。オーソリティブリストアで更新されたバージョン番号により、復元したオブジェクトが他の DC へも正しく複製されます。


復元の確認

再起動が完了したら、ドメイン管理者でログインし、Active Directory ユーザーとコンピューターを確認します。

  • DC01 上で TestOU 配下のオブジェクトが復元されていることを確認します
  • DC02 上でも複製が正常に行われ、同じオブジェクトが存在することを確認します

複数のドメインコントローラーで復元が確認できれば、オーソリティブリストアは正常に完了しています。


まとめ

今回は、Active Directoryのオブジェクトを誤って削除した場合に、バックアップから特定のオブジェクトを復元する手順を解説しました。

手順の流れをまとめると以下のようになります。

  1. 事前にシステム状態のバックアップを取得しておく(Windows Server バックアップを使用)
  2. ディレクトリサービス復元モード(DSRM) で起動する(msconfig で設定)
  3. 非オーソリティブリストアを実施する(「自動再起動」と「オーソリティブリストアを実行する」のチェックは外す)
  4. ntdsutil で対象 OU やオブジェクトのオーソリティブリストアを実施する
  5. 通常モードに切り替えて再起動し、他の DC への複製を確認する

フォレスト全体の壊滅的な障害対応は頻度が低いものの、オブジェクトの誤削除は実務で起こりうるシナリオです。ディレクトリサービス復元モードとオーソリティブリストアの仕組みを理解し、いざというときに対応できるよう準備しておくことが重要です。