[ホーム] - [Windows Server 2016 FAQ 一覧] - [Windows Active Directory をリストアする方法 | 権限あり、権限なし]



作成日:2019/09/03
更新日:2019/10/17
対象:Windows Server 2016

Windows Active Directory をリストアする方法 | 権限あり、権限なし




【目次】


Active Directory をリストアする


このページでは Windows Server 2016 Active Directory (以下AD)をリストアする方法に関して説明します。
USNロールバック、権限ありリストア、権限なしリストア、Windows Server バックアップ、Windows ディレクトリサービス復元モードなど関連して説明します。

Authoritative Restoreとは


ドメインに複数のドメインコントローラが存在し、リストアしたドメインコントローラのオブジェクトを優先させたい場合は Authoritative Restore を実行します。
Authoritative Restore を行なうことにより、指定の Active Directory オブジェクトの更新シリアル番号 (USN) が、他のドメインコントローラより上位に設定されます。通常のディレクトリサービスのリストアは non Authoritative Restore です。


問題点


ADはマルチマスタ方式で互いに変更内容を複製しているため、1台だけリストア(古い情報で)するとトラブルが発生しやすくなります。整合性を取るのも容易ではありません。
そこでこのページでは以下の方針でリストアします。

DCリストア方針


・DC 単体の場合は非権限モードでADをリストアし、その後正常なDCからADの同期を受ける。(PULL)
ただしリストアはDCを再昇格する方式とした方がかなり簡単となる。(新規追加だと空っぽのデータベースに複製を受けるだけなので不整合が発生しない。)この場合はセキュアチャネルの問題にも対処できる。ただし複製ができていない状態で降格処理を実施する場合は強制降格となる。ゴミが残るのでクリーンアップ処理が必要となる。Sysvolはシステム状態に含まれる
・ADも破損している場合はDCをリストアした後ADを権限モードでリストアする。これにより他のDCへリストアした内容を複製(PUSH)させる。

ADバックアップ


・FSMO機能を集中させたDCで取得する。また各DCでも取得する。
・30日を超えたバックアップはリストア後でセキュアチャネルのリセットが必要。コマンドでの復旧、あるいはドメインの再昇格が一番簡単。
・Tombstone の有効期間を超えないように注意。"ゴミ箱"が有効な場合は"削除されたオブジェクトの有効期(180日)"+"Tombstone の有効期間(180日)"の間はデータベースに残る。(Microsoftでは、Tombstone Lifetimeまでに2回のバックアップ取得を推奨。
・仮想ソフトのスナップショットやADを意識しないバックアップソフトは使用厳禁。USN (Update Sequence Number) ロールバックが発生する可能性がある。ただしWindows Server 2012以後、及び Hyper-V や VMware などの一部の仮想化ソフトウェアではVM Generation ID という救済処置がある。それ以外の環境ではスナップショットによるリストアはUSNロールバックやRIDの問題があり危険。ボリューム・シャドウ・コピー・サ―ビス(VSS)対応のバックアップソフトで取得する。

非権限モード AD リストア


ここではDCが破損しDCのフルリストア後に AD を非権限モードでリストアするケースを紹介します。
Windows Server バックアップからもシステム状態のリストアは可能(非特権、特権も可能)です。

以下の手順を実行します。
(1)ディレクトリ復元モードで起動する設定を行います。

msconfig から復元モードで起動する
[ブート]→[ブートオプション]→[セーフブート]→[Active Directory 修復]

あるいは以下コマンドを実行します。


C:\>bcdedit /set {default} safeboot dsrepair



(2)
OSを再起動します。

(3)以下コマンドでバックアップ済みのシステム情報を確認します。

wbadmin.exe Get Versions




以下のコマンドでリストア実施します。

wbadmin.exe Start Systemstaterecovery -Version:DD/MM/YYYY-HH:MM



(4)以下のメッセージには[Y]を押して再起動を行います。

システムの回復操作を完了するには、コンピューターの再起動が必要です。
今すぐコンピューターを再起動するには、[Y] キーを押してください。



ここで再起動します。これにより「権限のない」リストアとして処理が続行されます。(権限ありリストアを実行する場合はここで再起動せず次章で説明する手順を実行する)
結構時間がかかります。成功すると以下のメッセージが表示されます。

(5)以下のメッセージが表示されれば成功です。


2019/02/05 10:00に開始したシステム情報の回復操作は正常に完了しました。
続行するには、Enter キーを押してください...



(6)以下のコマンドでディレクトリサービス復元モードの機能をオフにして再起動します。


C:\>bcdedit /set {default} safeboot dsrepair



(7)
正しくADが復元されたか確認コマンドを実行して確認します。


repadmin /showrepl
repadmin /syncall
rem netlogon および sysvol が共有されていること(時間がかかる場合あり)
net share
dcdiag /v




(*)注意
・リストア直後に"プリンシパル名が間違っています"というエラーでrepadmin /syncall が失敗したが20分程度で復旧しました。原因不明です。
・前述したとおり(VM-Generation IDをサポートしない環境で)スナップショットからのみのリストアはNG。
・もしシステム状態のリストアに失敗したらドメイン再昇格のリストアを試みます。



ADの一部を優先してリストアする


ADの一部を優先してリストアする方法を紹介します。権限ありでADをリストアします。(これによりUSNに大きな値が設定される)
操作ミスで一部を削除した場合などに有効です。(ちなみにADをすべてリストアする場合はこの方法ではなくフォレストリストアを使用する場合が多いようです。)
2台目以降のDCサーバはこのサーバと同期することにより正しいADの内容が反映されます。要するに特権ありでリストアした内容が他のDCに複製されるということです。


権限なし(非Autorized リストア)の場合は USN は小さいので複製されて上書きされてします。Autorized リストアにより USN により大きな値を設定して復元します。



FSMO のADで以下手順を実行します。

(1)ディレクトリ復元モードで起動する設定を行います。

msconfig から復元モードで起動する
[ブート]→[ブートオプション]→[セーフブート]→[Active Directory 修復]

あるいは以下コマンドを実行します。


C:\>bcdedit /set {default} safeboot dsrepair




(3)再起動したら画面4隅に"セーフモード"と表示されていることを確認します。

(4)以下のコマンドで最新のバージョンを確認します。


wbadmin.exe Get Versions



(5)以下のコマンドでリストア実施します。


wbadmin.exe Start Systemstaterecovery -Version:DD/MM/YYYY-HH:MM



"システム状態の回復作業を開始しますか?"には[Y]を選択します。

(6)
以下のメッセージには[Y]を選択します。

"注意: 回復操作を行うと、ローカル コンピューター上のすべてのレプリケートされたコンテンツ (DFSR または FRS を使用してレプリケート済み) は、回復後に再同期されます。再同期によるネットワーク トラフィックの増加により、待ち時間または障害が発生する可能性があります。
システム状態の回復を開始した後で一時停止したり取り消したりすることはできません。
回復操作を完了するためには、サーバーの再起動が必要です。"
続行しますか?



結構時間がかかります。成功すると以下のメッセージが表示されます。


 

システムの回復操作を完了するには、コンピューターの再起動が必要です。
今すぐコンピューターを再起動するには、[Y] キーを押してください。




(7)権限ありのリストアを行う場合は再起動してはいけません。

[a]権限ありの場合・・・ここで「Ctrl + C」を押す(再起動は行わない)
[b]権限なしの場合・・・[y]で再起動

ここでは[a]で進めます。

(8)以下のコマンドを実行することにより権限ありの復元を実行します。
"管理者権限のコマンドプロンプト"で以下を実行します。


ntdsutil
ntdsutil:activate instance ntds
ntdsutil:authoritative restore



リストア対象を選びます。

個別リストア時のコマンド例

authoritative restore:restore subtree CN=computers,DC=testdomain,DC=local
authoritative restore:restore subtree OU=test01,DC=testdomain,DC=local



注意事項:
原因不明ですが、以下のように指定すると、再起動時に更新処理が終わらなくなる場合があります。

DC=testdomain,DC=local




"このAutoritative Restoreを実行しますか" には "はい"を押します。

(9)
正常に終了すると"Autoritative Restoreが正常に終了しました"と表示されます。以下のコマンドで終了します。


authoritative restore:quit
ntdsutil:quit



(10)
ディレクトリ修復モードを解除します。


bcdedit /deletevalue safeboot



(11)以下コマンドで再起動します。

shutdown /r

(12)処理が継続すされます。最終的に以下のメッセージが表示されたら成功です。


YYYY/MM/DD mm:hh に開始したシステム状態の回復操作は正常に完了しました。
続行するには、Enter キーを押してください...




(*)USNロールバックが発生してしまった場合はドメインの再昇格などでの対応が必要です。


オブジェクトの削除(誤操作含む)


この場合は"Active Directory のごみ箱"から復帰します。もしゴミ箱が有効化されていない場合はAutorized リストアを実行します。


AD全体をリストアする


AD全体をリストアするにはフォレストのリストアを実行するようです。本ページでは省略します。

参考:フォレストを回復する方法を決定する
https://docs.microsoft.com/ja-jp/windows-server/identity/ad-ds/manage/ad-forest-recovery-determine-how-to-recover






(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがある可能性や仕様変更により内容が不正確になる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)


Copyright(c) TOOLJP.COM 1999-2022

[Windows Server 2016 FAQ 一覧に戻る]