Active Directoryがスキーマの更新を処理する方法、具体的には、手順が実際にどれほど安全であるか、およびADがどれほど重要であり、更新が必要な状況の範囲がどの程度安全であるかについて理解を深めています。たとえば、Exchange 2007、OCS、SCOMはすべてスキーマの変更が必要です。たとえば、Windows 2003からWindows 2008インフラストラクチャへの大幅な移行を検討しているときに発生するのは、これだけではありません。
私が探しているのは、実際に問題が発生した場合に備えて、スキーマ変更の最適なバックアウト計画に関するアドバイスです。たとえば、更新中に1つのDCをオフラインにして、スキーマの更新が失敗した場合にそれを使用して環境全体をロールバックすることは許容されますか?スキーマの更新中にオフラインであったDCの再アクティブ化に問題はありますか?
スキーマの更新は一方向の機能です。 ADに追加できるのは新しいスキーマのみで、何も削除することはできません。このため、ソフトウェアでスキーマの拡張または更新が必要な場合は、常に代替案を慎重に評価する必要があります。それがあなたが使おうとする意思があるものであることを確認してください。
まず、ADデータベース(通常は%SystemRoot%\ ntds\NTDS.DIT)の適切なバックアップコピーがあることを確認してください。安全な場所に保管してください。
フォレスト内にDC=)が1つしかない場合は、それは非常に簡単です。指示に従ってadprepを実行する(またはソフトウェアにAD自体を更新させる)だけです。
複数のDCがある場合は、dcdiag
およびreplmon -syncall
によって報告されたエラーが絶対にないことを確認してください。すべてのADデータベース(各DC)。 DCを決定する を決定します。可能な場合は、そのサーバー上/へのすべての更新を実行します。
ADは、ほとんどの場合、失敗したスキーマの更新から自身を保護します。 LDIFファイルが構文を渡さない場合(アップデートの途中でBSODを使用するとします)、ロードされません。各「更新」には、独自のLDIFファイルのセットがあります。
スキーマの更新が(正しく行われている限り)失敗するのを見たことがありません。 MSは、これを確実で信頼性の高いプロセスにするためのすべてのストップを本当に引き出したようであり、それはそれを示しています。私が何か悪い出来事を見ることができる唯一の本当のシナリオは、途中で電源が切れた場合(それでも私は確信が持てない)、またはADが最初からねじ込まれている場合(この場合、より大きな問題があります)です。
スキーマのアップグレードが本当にすることは、ADを新しいオブジェクトクラスとプロパティ(アプリケーションまたは新しいバージョンのADが利用できる)で拡張することだけなので、災害の範囲はかなり広いです限られた。 このtechnetの記事 はまともな概要を提供し、いくつかの潜在的な悪いことが起こっているケースをカバーしています。
私にとっての標準的なアプローチは、すべてが(dcdiag、replmonなどを介して)事前に適切に機能していることを確認し、最悪の事態が発生した場合に備えて、既知の正常なADのバックアップがあることを確認することです。 ADは非常に堅牢であるため、問題がその後長期間発生しない可能性があるため、このバックアップはできるだけ長く保持します。したがって、標準のバックアップと復元が私のロールバックになります。しかし、私が言ったように、私はそのようなケースを見たことがありません。
1つのDCオフラインアプローチは、小規模な環境で機能します。大規模な環境では、接続されていないDCで更新を実行したいと思います。更新プロセスの提供は正常に完了し、それをネットワークに接続して変更を複製します。このシナリオでのバックアウトは、ミラーセットの1つのドライブをプルし、DCをシャットダウンして、更新前の最新の適切なドライブを再挿入するのと同じくらい簡単です。
数百または数千のDCがある大規模なネットワークでは、適切なDCアプローチを再挿入することは現実的ではありません。