本記事は 2018 年 9 月 5 日に公開された記事を元に本ブログへ移行したものです。元の記事の最新の更新情報については、本内容をご参照ください。
こんにちは。Windows Commercial Support Directory Services チームです。
今回は、「ドメイン コントローラー(以下 DC )の正常性の確認について」をご紹介していきたいと思います。
例えば、ドメイン コントローラーの移行を行われるといった場合、DC を降格させたり、DC に昇格させたりと動作をさせていく上で、
作業前に現在 DC が正常に稼働しているのか、 DC が正常に降格されているのか、または DC へ正常に昇格されているのか確認したい場面が出てくるかと思います。
以下に DC 正常性の確認の手順を下記にお纏めいたしました。
なお、正常性の確認する際は、ドメイン内のすべてのドメイン コントローラー ( DC ) で実施していただけますようお願いいたします。
DC の正常性を確認する方法
作業の流れは以下の通りです。
1. AD データベースの複製状況の確認
コマンド プロンプトにて repadmin /showrepl コマンドを実行し、Active Directory データベースの複製にエラーが無いことを確認します。また、グローバル カタログ サーバーの場合は “DSA オプション: IS_GC” という項目があることを確認します。
repadmin /showrepl
出力結果例)以下のように「DSA オブジェクト GUID: 326e1109-b33d-4026-aab7-8a5bc2cd960a YYYY-MM-DD HH:MM:SS の最後の試行は成功しました。 」の YYYY-MM-DD HH:MM:SS の部分が、直近の日時で成功している事を確認します。また、以下の例ではグローバル カタログ サーバーとなっており、「DSA オプション: IS_GC」となっていることが確認できます。
Repadmin: フル DC localhost に対してコマンド /showrepl を実行しています
Default-First-Site-Name\DC02
DSA オプション: IS_GC
サイト オプション: (none)
DSA オブジェクト GUID: b3db08eb-75c6-411d-b56c-5a06d4365995
DSA 起動 ID: 19a5c6a9-96cc-4cce-bcc7-ed759412899f
====入力方向の近隣サーバー==================
DC=TEST,DC=LOCAL
Default-First-Site-Name\DC01 (RPC 経由)
DSA オブジェクト GUID: 326e1109-b33d-4026-aab7-8a5bc2cd960a YYYY-MM-DD HH:MM:SS の最後の試行は成功しました。
環境によってはコマンドの結果が英語表示になる可能性があります。その場合は、”成功しました” となっていることを確認する代わりに、 “successful” と表示されていることを確認します。
2. SYSVOL および NETLOGON の共有の確認
コマンド プロンプトにて net share コマンドを実行し、SYSVOL および NETLOGON が共有されているかを確認します。 共有名に NETLOGON および SYSVOL が表示されていることで正常に共有できていると判断できます。
net share
出力結果例)下図のように、「共有名」の列の NETLOGON および SYSVOL が共有されていることを確認します。
3. ドメイン コントローラー診断テストの確認
コマンド プロンプトにて dcdiag /v コマンドを実行し、各テストにエラーが無く、”合格しました” と表示されることを確認します。 Advertising に合格していることで、ドメイン コントローラー、およびグローバル カタログとして正常に機能していると判断できます。
dcdiag /v
出力結果一部例)
テストを開始しています: Advertising
The DC DC02 is advertising itself as a DC and having a DS.
The DC DC02 is advertising as an LDAP server
The DC DC02 is advertising as having a writeable directory
The DC DC02 is advertising as a Key Distribution Center
The DC DC02 is advertising as a time server
The DS DC02 is advertising as a GC.
......................... DC02 はテスト Advertising に合格しました
環境によってはコマンドの結果が英語表示になる可能性があります。その場合は、”合格しました” となっていることを確認する代わりに、”passed” と表示されていることを確認します。
FrsEvent、DFSREvent、KccEvent、SystemLog テストに関しては、24 時間以内の過去ログを表示していますので、降格・昇格に伴う再起動時に発生する警告イベント等で出力されるようなものでも、記録されていればテストを失敗させるという動作となっています。そのため、重要なエラー、警告イベントが記録されているものの、その後復旧している場合においても、これらのテストが失敗してしまうことがあります。したがって、これらのテストが失敗していることにより、確実に異常が発生していることを示しているわけではないことにご留意ください。
adprep /rodcprep コマンドを実行していない環境においては、NCSecDesc テストで “NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS には Replicating Directory Changes In Filtered Set 名前付けコンテキストへのアクセス権がありません” というエラーが発生することがあります。この場合、当該エラーについては無視して問題ありません。
4. 各種イベント ログの確認
システム、ディレクトリ サービス、DNS サーバー、DFS Replication の各種イベント ログにおいて、異常を示唆するようなエラーや警告のイベントが記録されていないか確認します。
以上が DC の正常性の確認方法となります。
(補足) 降格させた DC の情報が存在しないことの確認手順
上述の内容は DC の正常性を確認するための一般的な方法となりますが、DC の降格を行った後に正常に降格ができたか、残存している情報がないかを確認したい場合には、
上記の内容に加えまして以下の項目をご確認いただき、降格させた DC の情報が残存していないことをご確認下さい。
作業の流れは以下の通りとなります。
- 複製に使用する接続オブジェクトが削除されていることの確認
- DC のコンピュータ オブジェクトが削除されていることの確認
- FRS または DFSR のオブジェクトが削除されていることの確認
- DNS レコードが削除されていることの確認
1. 複製に使用する接続オブジェクト
- [ファイル名を指定して実行] から dssite.msc を実行します。
- 左ペインのツリーを [Sites] - [<任意のサイト>] - [Servers] - [<削除対象の DC 以外の任意の DC>] - [NTDS Settings] を選択します。
- 右ペインの [レプリケート元サーバー] 列が削除対象の DC となっているオブジェクトが存在している場合には、左ペインの [NTDS Settings] を右クリックし、[すべてのタスク] - [レプリケーション トポロジの確認] をクリックします。
- [レプリケーション トポロジの確認] のダイアログが表示されたら、[OK] をクリックします。
- 左ペインの [NTDS Settings] を右クリックし、[最新の情報に更新] をクリックします。右ペインから削除対象の DC のオブジェクトが削除されていることを確認します。
- 上記の手順 2 から 5 までの手順を、削除対象の DC を除く、すべての DC について実施します。
- 左ペインのツリーを [Sites] - [<削除対象の DC が所属するサイト>] - [Servers] - [<削除対象 DC>] の順に展開します。
- 左ペインの [Servers] 配下の削除対象の DC を右クリックし、[削除] をクリックします。
- “‘<削除対象の DC>’ という名前の サーバー を削除しますか?” と表示されたら、[はい] をクリックします。
2. DC のコンピュータ オブジェクト
DC を降格すると、[ Domain Computers ] 配下にコンピューター オブジェクトが移動します。
そのため、[Active Directory ユーザーとコンピュータ] の MMC スナップインを開き、 [ Domain Controllers ] 配下に降格させた DC が削除されているか確認します。
3. FRS または DFSR のオブジェクト
- [ファイル名を指定して実行] から adsiedit.msc を実行します。
- 左ペインの [ADSI エディター] を右クリックし、[接続] をクリックします。
- [既知の名前付けコンテキストを選択する] から [既定の名前付けコンテキスト] が選択されていることを確認し、[OK] をクリックします。
- 左ペインのツリーを [既定の名前付けコンテキスト] - [<ドメインの DN>] - [CN=System] - [CN=File Replication Service] - [CN=Domain System Volume (SYSVOL share)] の順に展開します。
([CN=File Replication Service] 配下に [CN=Domain System Volume (SYSVOL share)] が存在しない場合には、FRS が使用されていないため、手順 6 に進みます。) - 中央ペインに [CN=<削除対象の DC>] のオブジェクトが存在していれば、そのオブジェクトを右クリックし、[削除] をクリックします。その際に “このオブジェクトを削除しますか?” と表示されたら、[はい] をクリックします。手順 6 以降はスキップします。
- 左ペインのツリーを [既定の名前付けコンテキスト] - [<ドメインの DN>] - [CN=System] - [CN=DFSR-GlobalSettings] - [CN=Domain System Volume] - [CN=Topology] の順に展開します。
- 中央ペインに [CN=<削除対象の DC>] のオブジェクトが存在していれば、そのオブジェクトを右クリックし、[削除] をクリックします。その際に “このオブジェクトを削除しますか?” と表示されたら、[はい] をクリックします。
4. DNS レコード
- [ファイル名を指定して実行] から dnsmgmt.msc を実行します。
- [前方参照ゾーン] - [_msdcs.<フォレスト ルート ドメインの FQDN>] 配下を展開していき、[データ] 列が削除対象の DC もしくは削除対象の DC の IP アドレスとなっているレコードが存在すれば、そのレコードを削除します。(A レコードや CNAME レコード、SRV レコードは対象のレコードを右クリックし、[削除] をクリックすることによって削除できます。NS レコードに関しては一旦そのレコードのプロパティ画面を開いた上で、対象のレコードを削除する必要があります。)
- 同様に、[前方参照ゾーン] - [<ドメインの FQDN>] 配下を展開していき、[データ] 列が削除対象の DC もしくは削除対象の DC の IP アドレスとなっているレコードが存在すれば、そのレコードを削除します。
更新履歴
2023/03/30 : 本ブログの公開