Active Directory のはじめに確認するポイント


# Active Directory の初期動作確認

---

## はじめに

WindowsのActive Directory（以下、AD）のドメインコントローラ（以下、DC）の正常性確認についての記事です。
何をもって正常とするのか判断することが難しいときなど一つの参考としてもらえればと思います。

## 目的

ADの正常性確認としてまず見るべきところを、個人的なメモとしての記事です。

---

## 利用場面

DCの正常性確認をする場面としては、以下が考えられます。

・ DCを新規作成
・ 既存のDCに昇格
・ 既存のDCから降格（3台構成のDCを2台構成にするときなど。）
・ DCの再起動後の確認（停電対応など。）
・ DCの環境変更後の確認


---
## 環境
検証環境は以下の環境です。
OS　:　Windows Server 2019 Datacenter
AD　:　2台構成
ホスト名：WINAD01
　　　　　WINAD02
ドメイン名：test.local

---
## 作業内容

①FSMOの確認
②グローバルカタログの確認
③ファイル共有の確認
④名前解決の確認
⑤データベース複製実行
⑥データベース複製状況の確認
⑦SYSVOL同期確認
⑧DC診断テスト
⑨グループポリシーの適用確認
⑩イベントログ確認

---

### ①FSMOの確認

PowerShellにて以下のコマンドを実行
FSMOの機能をもっているサーバを確認
>netdom /query fsmo

確認メッセージ
サンプルとなりますが、以下のようなメッセージが確認出来れば問題ありません。

```ps
スキーマ マスター                WINAD01.test.local
ドメイン名前付けマスター        WINAD01.test.local
PDC                         WINAD01.test.local
RID プール マネージャー        WINAD01.test.local
インフラストラクチャ マスター    WINAD01.test.local
```

---

### ②グローバルカタログの確認

PowerShellにて以下のコマンドを実行
グローバルカタログ機能をもっているサーバを確認
```ps
>Get-ADDomainController -Filter * | Select-Object HostName,IsGlobalCatalog
```

確認メッセージ
サンプルとなりますが、以下のようなメッセージが確認出来れば問題ありません。

```ps
HostName           IsGlobalCatalog
--------           ---------------
WINAD01.test.local            True
WINAD02.test.local            True
```

---

### ③ファイル共有の確認

PowerShellにて以下のコマンドを実行
ファイル共有の状態を確認します。
```ps
net share
```

確認メッセージ
サンプルとなりますが、以下のようにSYSVOL,NETLOGONが共有出来ていれば問題ありません。

```ps
共有名       リソース                            注釈

------------------------------------------------------------
C$           C:\                             Default share
IPC$                                         Remote IPC
ADMIN$       C:\Windows                      Remote Admin
NETLOGON     C:\Windows\SYSVOL\sysvol\test.local\SCRIPTS
                                             Logon server share
SYSVOL       C:\Windows\SYSVOL\sysvol        Logon server share
コマンドは正常に終了しました。
```

---

### ④名前解決の確認

PowerShellにて以下のコマンドを実行
名前解決の確認します。
```ps
nslookup test.local
```

確認メッセージ
名前解決が出来れば問題ありません。

```ps
名前:    test.local
Addresses:  IPアドレス
```

---

### ⑤ データベース複製実行

PowerShellにて以下のコマンドを実行
意味は、データベース情報を接続している全てのサイトのDCへ同期（Push)
A:全てのデータベース
e:全てのサイト
P:Push

```ps
repadmin /syncall /AeP
```
</br>

PowerShellにて以下のコマンドを実行
意味は、データベース情報を接続している全てのサイトのDCから同期（Pull)
A:全てのデータベース
e:全てのサイト

```ps
repadmin /syncall /Ae
```

</br>

確認メッセージ</br>
以下のようなメッセージが確認出来れば問題ありません。

```ps
SyncAllはエラーなしで終了しました。
```

---

### ⑥データベース複製状況の確認

PowerShellにて以下のコマンドを実行
意味は、最後に複製した日時を確認するコマンドとなります。
all：入力・出力方向含め確認することが出来ます。既定は、入力方向のみの確認となります。

```ps
repadmin /showrepl /all
```

</br>
確認メッセージ
以下のようなメッセージが確認出来れば問題ありません。

</br>
また、再起動直後などはエラーとなる場合がありますが、大抵は自動で同期されるため、数分後再度コマンドを実行し確認して下さい。

```ps
＊＊＊＊＊の最後の試行は成功しました。
```
---

### ⑦SYSVOLの同期確認

PowerShellにて以下のコマンドを実行
意味は、WINAD02がWINAD01とSYSVOLの同期できているかを確認。

```ps
dfsrdiag backlog /rgname:"Domain System Volume" /rfname:"SYSVOL share" /smem:WINAD01 /rmem:WINAD02
```

</br>
確認メッセージ
以下のようなメッセージが確認出来れば問題ありません。
バックログがある場合は、数分後、上記コマンドを入力しバックログが減っていないようであれば問題があります。

```ps
バックログなし - メンバー ＜winad02＞ はパートナー ＜winad01＞ に同期しています
成功した操作
```

---

### ⑧DC診断テスト

PowerShellにて以下のコマンドを実行
意味は、診断結果を詳細に表示
v:詳細表示
```ps
dcdiag /v
```
確認メッセージ
以下のようなメッセージが確認出来れば問題ありません。
イベントログのチェックで失敗と出力されることがありますがイベントログは別途確認するため問題ありません。

```ps
*****はテスト ***** に合格しました
```

＜例＞
以下コマンドでテスト結果のみを抽出できます。
```ps
dcdiag | Where-Object {$_ -match "はテスト"}
```
---

### ⑨グループポリシーの適用確認

PowerShellにて以下のコマンドを実行
意味は、グループポリシーの適用概要を表示
r : 概要表示

```ps
gpresult /r
```
確認メッセージ

確認ポイントは適用元、適用されてるグループポリシーがドメインから適用出来ているかを確認します。メッセージは環境によって変わるためサンプルとなります。
</br>

```ps
コンピューター設定
-------------------
    CN=WINAD01,OU=Domain Controllers,DC=test,DC=local
    前回のグループ ポリシーの適用時: 2023/01/12 (14:14:18)
    グループ ポリシーの適用元:       WINAD01.test.local
    グループ ポリシーの低速リンクのしきい値:   500 kbps
    ドメイン名:                        TEST
    ドメインの種類:                        Windows 2008 またはそれ以降

    適用されたグループ ポリシー オブジェクト
    -----------------------------------------
        Default Domain Controllers Policy
        Default Domain Policy
```

---

### ⑩イベントログ確認

イベントログの起動方法は、
>[スタートメニュー]右クリック -[イベントビューア]

</br>
[イベントビューア]では、以下のログを確認します。
レプリケーション関連でエラーが出力されていることがありますが、その後正常のメッセージが出力されていれば問題ありません。

・アプリケーション
・システム
・Active Directory Web Services
・DFS Replication
・Directory Service
・DNS Server

---

### おわりに

親子関係を結んでいる環境などもあるかと思いますがその場合は、信頼関係の確認もする必要があります。
また、ドメイン参加している端末・サーバにおいても正常性確認は必要になってきます。
需要があれば、他にも記事を書いていければと思います。