Q

複数のバックアップ・ドメイン・コントローラ(BDC)と1台のプライマリ・ドメイン・コントローラ(PDC)から成るNTドメイン環境をActive Directory(AD)に移行するため,PDCをWindows 2000へアップグレードしました。アップグレードの途中で,既存フォレストの子ドメインとして参加させ,BDCはしばらくそのまま運用していました(図6)。しかし,他ドメインでユーザー・アカウントを作成すると,BDCで[不明なアカウント]と表示されます。また,ファイル・サーバーで認証にBDCが使用されているマシンへ接続すると「アクセス権がありません」とエラーが表示される場合があります。

A

この現象は,PDCをWindows 2000へアップグレードする際,既存フォレストの子ドメインとして参加させると発生する場合があります。PDCがダウンレベル複製変更ログ・ファイル「Netlogon.chg」に双方向の信頼関係を記録しないためです。

 NTドメインにおけるPDCとBDCの同期には,Netlogonサービスにより,Netlogon.chgが使用されます。Netlogon.chgには,SAM,Built-in,LSAの各セクションがシリアル番号で管理されています。ドメインの変更が行われると,Netlogon.chgのシリアル番号が更新されます。

 各BDCは,最後に同期した上記3つのシリアル番号を保持し,PDCとの同期のタイミングでそれを比較します。PDCとBDCの同期間隔はレジストリに指定された値(HKEY_LOCAL _MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\ParametersのPulse値)によって制御されます。変更が発生するとレジストリの値に従い,PDCは5分間隔(デフォルト)で各BDCへパルス・メッセージを送信します。変更が発生しない場合でもレジストリの値(PulseMaximum値)に従い,デフォルトでは最大2時間でパルス・メッセージを送信します。BDCはメッセージを受け取るとシリアル番号を比較して部分同期の要求を行います。なお,Netlogon.chgには最大2000個の変更を記載可能です。2000個を超える変更が発生する場合はPDCとBDCは完全同期をします。

 今回の問題を解決するためにはPDCとBDCにて上記のような完全同期を手動で行う必要があります。完全同期を行うと新しく作成された双方向の信頼関係が初めて同期されます。完全同期を行うには,(1)各BDCで「net accounts /sync」というコマンドを実行する,(2)各BDCでNetlogon.chgを削除する,(3)nltestをローカル(オプション/sync)またはリモート(オプション/server:bdcname /sync)から使用する――の3つの方法があります。いずれかを実行すると,完全同期が行われたというイベント・ログが記録されます。

瀧澤俊臣