Active Directory (AD) の環境を調査するときにどこを見ればよいかの覚書です。
何も把握できていないのに既に導入業者と没交渉、という感じのお客様環境を調べる時に使えます!
Windows Server 2003/2008 のドメインコントローラ上で調べることを想定していますが、2003 の場合 Support Tools を必要とする内容もあります。
Windows Server 2003 の時代に書いた (けど放置していた) ものを手直ししています。
フォレスト名、ドメイン名の確認
まず、そのコンピュータが属しているドメインは「コンピューター」のプロパティで確認できます。
関連するドメインを見たい場合は「ドメインと信頼関係」ツールを起動するとドメインが一覧表示されます。
フォレスト名は「ドメインと信頼関係」ツールでツリー最上階層 (「Active Directory ドメインと信頼関係」) のコンテキストメニューから選べる「フォレストの機能レベルをあげる(or 機能レベルの昇格)」の画面で確認できます。
ドメインコントローラの一覧
ドメインコントローラの一覧を得る方法として、まず考えられるのは「Active Directory ユーザとコンピューター」ツールで「Domain Controllers」OU 内の Computer オブジェクトを見ることです。
ここがドメインコントローラを格納する規定の位置です。
Computer オブジェクトのプロパティを確認すれば使用 OS 等の情報も得られます。
しかし、実際はディレクトリをカスタマイズして、これ以外の OU にドメインコントローラ (DC) オブジェクトを動かすこともできます。
その場合は、ディレクトリを検索しなければなりません。
先のリンクのように VB スクリプトを流す他、同じ内容を ldp.exe で検索するという手もあります。
ldp.exe でドメインコントローラのディレクトリサービス (ポート 389番) に対し bind 実行後、以下のように検索すると良いでしょう。(ドメイン名 example.com の場合)
Base Dn: CN=Configuration,DC=example,DC=com
Filter: (objectClass=nTDSDSA)
Scope: Subtree
いずれにせよ、DC オブジェクトが素直に「Domain Controllers」OU 内に無い環境では他にもいろいろなカスタマイズをしている可能性があるので、注意が必要であることに違いありません。
適切な人を見つけ出しヒアリングすることを検討する必要があるでしょう。
それと「Active Directory ユーザとコンピュータ」ツールは「表示」-「拡張機能」を有効にしておきましょう。
2008 だと LDAP 上の任意の属性が確認できるようになっていて便利です。
機能レベル
フォレストの機能レベルとドメインの機能レベルがありますが、それぞれ「ドメインと信頼関係」ツールの「フォレストの機能レベルをあげる」画面と「ドメインの機能レベルをあげる」画面で確認できます。
操作マスタ (FSMO)
各マスタによりどこを見るかが異なります。
同じ画面で操作マスタの転送もできます。
RID、PDC、インフラストラクチャ
「ユーザーとコンピュータ」ツールでドメインを選んで「操作マスタ」メニューを選択します。
ドメイン名前付け
「ドメインと信頼関係」ツールの最上階層を選択後、「操作マスタ」メニュー選択。
ドメイン名前付けマスタはフォレストに 1台です。
スキーマ
「スキーマ」ツールで行いますが、デフォルトではツールがメニューに登録されていないので、使用する前に登録が必要です。
- regsvr32 schmmgmt.dll を実行
- MMC を起動して「スナップインの追加と削除」「Active Directory スキーマ」を追加
- 簡単に呼び出せるように、「名前をつけて保存」で system32\schmmgmt.msc と保存し、これに対するショートカットを作っておく。
スキーマもフォレストレベルでの管理です。
ちなみに、スキーママスタの役割を転送をするにはフォレストルートドメインの Schema Admins グループに入っているユーザでないとダメです。
GC (グローバルカタログ)
「サイトとサービス」ツール内、サーバ配下にある「NTDS Setting」のプロパティの「全般」タブで「グローバルカタログ」にチェックが入っているかどうかを見ます。
ネットワークトポロジ関連
「サイトとサービス」ツールで確認します。
ここで重要なのは以下のような項目です。
- サイト
- サイトリンク
通常「Inter-Site Transports」-「IP」の下のものが重要で「コスト」と「レプリケートの間隔」をチェックしておきます
- サブネット
- AD 接続オブジェクト (Connection)
サーバ配下の「NTDS Settings」の下にあります。たいていは 「<自動生成>」 されています。
KCC (Knowledge Consistency Checker) が「Active Directory 接続」オブジェクトを作ります。
手動で作ることもできますが、後の管理を考えると自動作成に任せた方が良さそうです。
KCC をすぐ動作させたいときは以下のコマンドを実行します。
repadmin /kcc
「NTDS Settings」のコンテキストメニュー、「すべてのタスク」から「レプリケーショントポロジの確認」を実行します。
各サイトにサイト間トポロジジェネレータの役割を持つ DC が存在します。
これは dcdiag.exe で確認できます。
信頼関係
「ドメインと信頼関係」ツールで確認します。
ってこれは迷うこともないですね。
インストール時指定した項目関連
データベースとログ
とりあえず既定のデータベースファイルは以下の通りです。
C:\WINDOWS\NTDS\Ntds.dit
ログファイルも規定ではこのフォルダに作成されます。
領域が足りなくなってきたときは、後から Ntdsutil.exe で位置を変更することができます。
ただし、ディレクトリサービス復元モードでの起動が必要です。
(2008 ではサービス停止のみでオッケーとのこと)
実際の位置は以下のレジストリ値で確認できます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
DSA Database file (データベースファイルのフルパス名)
Database backup path (データベースバックアップファイルフルパス名)
Database log files path (ログ用フォルダ)
SYSVOL
SYSVOL の位置も以下のレジストリキーで確認できます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\SysVol
SYSVOL (SYSVOL フォルダのパス)
復元モードのパスワード
このパスワードは忘れたら確認のしようがないのですが、覚えていれば ntdutil.exe で変更することは可能です。
ネットワーク関連
DNS 関連
DNS 経験者が Windows の DNS サーバを扱う時に、最初わかりづらいのは AD 統合ゾーンだと思います。
AD 統合ゾーンを使えば Windows の複製機能でゾーン情報をサーバ間共有できるので、ゾーン転送の設定が不要になります。
ただし、AD 統合ゾーンはドメインコントローラ上で DNS サーバを動かす場合のみ使うことができます。
AD 統合ゾーンは同期されますが、それ以外のゾーンの内容やフォワーダの設定などはサーバごとに確認する必要があります。
DHCP 関連
Windows サーバ上で DHCP サーバを用いるときは、Active Directory で承認されていなければなりません。
この仕組みは DHCP のベンダー固有オプションを利用して実装されているようで、Windows 以外の DHCP サーバを利用するときは当てはまりません。
承認されたサーバーについては、DHCP 管理ツールで「DHCP」のコンテキストメニュー「承認されたサーバーの管理」から確認できる他、以下のコマンドを実行することで一覧表示することもできます。
netsh dhcp show server
まとめ
自分が Active Directory を触り始めたときにわかりにくかったことをまとめたものなので、これが全てと言うつもりはありませんが、それなりに役立つのではないかと思います。