Windows TIPS
[Active Directory] |
dcgpofixでグループ・ポリシーをデフォルト状態に戻す
|
 |
■ |
グループ・ポリシーを変更した結果、システムの動作が不安定になったり、システム障害の発生でグループ・ポリシー設定がおかしくなったりすることがある。 |
■ |
このような場合はグループ・ポリシー設定を元に戻せばよいが、バックアップを取っていないと、復旧は簡単ではない。 |
■ |
Windows Server 2003にはdcgpofixというコマンドがあり(Windows 2000ではrecreatedefpolコマンド)、Active Directory導入直後のデフォルトのグループ・ポリシー設定に戻すことができる。 |
|
|
Active Directoryをインストール/導入すると、デフォルトでは「Default Domain Policy」と「Default Domain Controller Policy」という2つのグループ・ポリシー・オブジェクト(GPO)が定義されている。これらを変更することにより、ドメイン全体や、ドメイン・コントローラに対するさまざまなポリシー設定が行えるが、変更しすぎたり、間違って削除してしまったり、システムの状態などがおかしくなったりした場合に、これらの設定内容をすべてキャンセルして、元に戻したくなる場合がある。だが、元の設定状態を保存していなければ、簡単には戻せない。どこをどう変更したかを調査し、いちいちその設定状態を戻さなければならないからだ。
Windows Server 2003には、dcgpofix.exeというコマンドが用意されており、これを実行すると、デフォルトのグループ・ポリシー・オブジェクトをActive Directory導入直後の状態にリセットさせることができる。ただし戻せるのはこの2つのデフォルトのグループ・ポリシー・オブジェクトだけであり、それ以外のものについては変更されない。
またこのdcgpofixコマンドを使ったリセット操作は、あくまでも非常用(ディザスタ・リカバリ用)として用意されているものであり、日常的に使用するようなものではない。グループ・ポリシー・オブジェクトを変更する前に既存の設定などを保存しておくには、グループ・ポリシー管理コンソール(GPMCツール)を利用することが推奨されている(関連記事のTIPS参照)。可能ならば、デフォルトの「Default Domain Policy」と「Default Domain Controller Policy」は(極力)変更せずに、OUごとに新規のグループ・ポリシー・オブジェクトを定義し、そこで必要な設定を行うような運用方法が望ましいとされている(GPMCのヘルプ・ファイルを参照)。
グループ・ポリシー・オブジェクトをデフォルトのActive Directory導入直後の状態にリセットするには、コマンド・プロンプト上でdcgpofix.exeコマンドを実行する。使い方は以下の通りであるが、パラメータなしで実行すれば、両方のグループ・ポリシー・オブジェクトの設定内容がリセットされる。
dcgpofix …デフォルト設定で実行する
dcgpofix /target:domain …「Default Domain Policy」のリセット
dcgpofix /target:dc …「Default Domain Controller Policy」のリセット |
実際に実行しようとすると、確認メッセージ表示されるので、[Y]を入力して、先へ進む。
C:\>dcgpofix …パラメータなしでのコマンド起動
Microsoft(R) Windows(R) Operating System Default Group Policy Restore Utility v5.1
Copyright (C) Microsoft Corporation. 1981-2003
説明: ドメインの既定のグループ ポリシー オブジェクト (GPO) を再度作成します。
構文: DcGPOFix [/ignoreschema] [/Target: Domain | DC | BOTH]
このユーティリティを使うと、既定のドメイン ポリシーまたは既定の
ドメイン コントローラ ポリシーのどちらかまたは両方を新規インストールの直後の
状態に復元できます。この操作を実行するにはドメイン管理者でなければなりません。
警告: これらの GPO に加えた変更はすべて失われます。このユーティリティは
障害の回復のみを目的としています。
次のドメインの既定のドメイン ポリシーをおよび既定のドメイン コントローラ ポリシーを復元しようとしています。
sys.example.co.jp …対象となるドメインの表示
続行しますか: <Y/N>? y …確認のためのキー入力
警告: この操作を行うと、選択された GPO で行われた 'ユーザー権利の割り当て' がすべて置き換えられます。これにより一部のサーバー アプリケーションでエラーが発生する可能性があります。 続行しますか: <Y/N>? y …確認のためのキー入力
既定のドメイン ポリシーは正しく復元されました …Default Domain Policy復元処理の正常終了
注意: 既定のドメイン ポリシーの内容のみが復元されました。このグループ ポリシー オブジェクトへのグループ ポリシー リンクは変更されませんでした。
既定では、既定のドメイン ポリシーはドメインにリンクされています。
既定のドメイン コントローラ ポリシーは正しく復元されました …Default Domain Controller Policy復元処理の正常終了
注意: 既定のドメイン コントローラ ポリシーの内容のみが復元されました。このグループ ポリシー オブジェクトへのグループ ポリシー リンクは変更されませんでした。
既定では、既定のドメイン コントローラ ポリシーはドメイン コントローラ OU にリンクされています。
C:\> |
dcgpofix.exeの制限事項
このコマンドでリセットできる項目にはいくらか制限があり、Active Directory導入直後の状態(dcpromoコマンドでActive Directoryを導入した直後の状態)に完全に戻るわけではない。そのため、完全に元に戻したければ、GPMCでバックアップから復元するか、Active Directoryを再導入したり、バックアップしておいたシステム状態を書き戻すなどの操作が必要になる。
戻らない設定(dcgpofixを実行しても、管理者が設定したまま維持されるもの)としては、ソフトウェア・インストール、Internet Explorerのメンテナンス、スクリプト、フォルダ・リダイレクト、管理用テンプレート、Exchange 2000によるセキュリティ設定、SMSによって設定されたセキュリティ設定などがある。詳しくはWindows Server 2003に付属のdcgpofix.exeコマンドのヘルプ([ヘルプとサポート センター]で検索する)を参照していただきたい。
また、セキュリティ設定(特に監査設定)についても、いくらか戻らないものがある。詳細については以下の文書を参照のこと。
Active Directoryのスキーマ・バージョンに注意
dcgpofixは実行時にActive Directoryのスキーマ・バージョンをチェックし、Windows Server 2003のActive Directoryのスキーマ・バージョンと互換がない場合には動作しないようになっている。これを解決するには、adprepコマンドでスキーマのバージョンを上げておくか、dcgpofixで/ignoreschemaオプションを指定し、バージョンを無視するようにする。
Windows 2000におけるGPOのリセット操作
dcgpofixはWindows Server 2003用のコマンドであり、Windows 2000では利用できない。代わりに、以下のページからダウンロードできる「Windows 2000 Default Group Policy Restore Tool」ツール(recreatedefpol.exe)を利用する。
Windows Server Insider フォーラム 新着記事