Microsoft の一部の製品では、構成情報の格納に AD LDS (以前のADAM) を使用しているものがあります。
# といっても私が使ったことがあるものでは ISA / TMG ぐらいですが。
今日は AD LDS で使用しているディレクトリ パーティション情報の取得について。
AD LDS でどのようなディレクトリ パーティションが設定されているかを確認していきたいと思います。
■インスタンス情報の取得
ディレクトリ パーティションを確認する前にそのサーバーでどのようなインスタンスが起動しているかを確認する必要があります。
サーバー内でどのようなインスタンスが動いているかをみるためには 2 種類の方法があります。
- [ntdsutil] で確認
- サービスで確認
[ntdsutil] で確認
- リモート サーバー 管理ツールの [AD DS スナップインおよびコマンドラインツール] をインストールすることで
[ntdsutil] というコマンドを使用できるようになります。
このコマンドを使うことでサーバーにインストールされているインスタンスの一覧を表示することが可能になります。 - コマンドをプロンプトを開いて [ntdsutil] を実行します。
- ntdsutil を実行したら、[list instance] と入力します。
このコマンドを実行することでインストールされている AD LDS のインスタンスを表示することができます。
以下がコマンドの実行結果になります。
[list instance] を実行することで、インスタンスで使用しているポートを確認することができます。
パーティション情報を確認する際には LDAP で使用しているポート番号が必要になります。
>ntdsutil
ntdsutil: list instanceインスタンス名:??????? ISASTGCTRL
長い名前:????????????? ISASTGCTRL
LDAP ポート:?????????? 2171
SSL ポート:??????????? 2172
インストール フォルダー: C:Windows
データベース ファイル: C:Program FilesMicrosoft Forefront Threat Management GatewayADAMDataadamntds.dit
ログ フォルダー:???????? C:Program FilesMicrosoft Forefront Threat Management
GatewayADAMData
サービスの状態:??????? 実行中
- サービスで確認
- サービス名が [ADAM_xxxxxx]、説明が [AD LDS インスタンス] となっているものがあります。
[ADAM_] の後の値がインスタンス名になります。
以下は TMG 2010 インストール時に作成される AD LDS のインスタンスになります。
[ISASTGCTRL] というインスタンスがインストールされているのが確認できます。?
- ポート番号を調べるためには、[netstat -ano] を使用するのがわかりやすいと思います。
まずは AD LDS で使用しているプロセス ID を取得します。
プロセス ID を取得する方法はいろいろとありますが、[tasklist] コマンドを使って取得してみたいと思います。
コマンドは以下になります。
[tasklist] コマンドの実行結果を [dsamain.exe] でフィルタリングしています。
# AD LDS のサービスは dsamain.exe というプログラムを実行しています。
>tasklist | find "dsamain.exe"
dsamain.exe?????????????????? 1168 Services?????????????????? 0???? 19,500 Kプロセス ID が [1168] となっていることが確認できます。
続いてこのプロセス ID がどのポートを使用しているかを核にします。
-
取得したプロセス ID で [netstat -ano] の結果をフィルタリングします。
>netstat -ano | find "1168"
? TCP??? 0.0.0.0:2171?????????? 0.0.0.0:0????????????? LISTENING?????? 1168
? TCP??? 0.0.0.0:2172?????????? 0.0.0.0:0????????????? LISTENING?????? 1168
? TCP??? 0.0.0.0:2173?????????? 0.0.0.0:0????????????? LISTENING?????? 1168
? TCP??? [::]:2171????????????? [::]:0???????????????? LISTENING?????? 1168
? TCP??? [::]:2172????????????? [::]:0???????????????? LISTENING?????? 1168
? TCP??? [::]:2173????????????? [::]:0???????????????? LISTENING?????? 1168
? UDP??? 192.168.0.1:2171?????? *:*??????????????????????????????????? 1168
? UDP??? [fe80::e9d5:b345:f9da:6f55%13]:2171? *:*???? 1168[ntdsutil] で確認ができたポート [2171] がこの結果からも取得できました。
- サービス名が [ADAM_xxxxxx]、説明が [AD LDS インスタンス] となっているものがあります。
TMG 2010 で使用される AD LDS では、[2171] が使われるように自動で設定されるみたいです。
何サーバーかにインストールしてみたところ全サーバー [2171] が使用されていました。
■ディレクトリ パーティション情報の取得
ここからが本題のディレクトリ パーティション情報の取得になります。
ディレクトリ パーティション情報の取得は [ntdsutil] を使用します。
実行する [ntdsutil] コマンドの形式は以下の内容になります。
[connect to server] の後に [サーバー名:ポート番号] で接続先を指定します。
この時のポート番号に先ほど取得したポート番号を指定します。
# サーバー名に関しては自サーバーの情報のため、localhost を指定しています。
>ntdsutil |
TMG 2010 ではインストールをすると上記 3 つのディレクトリ パーティションが作成される用です。
0 が構成 パーティション / 1 がスキーマ パーティション / 2 がアプリケーション ディレクトリ パーティション になります。
TMG 2010 の構成情報に関しては [CN=FPC2] に格納されます。
■TMG 2010? のアプリケーション ディレクトリ パーティションに接続
パーティション名がわかれば、[ADSI エディター] 等のツールで接続することができます。
ADSI エディター起動後に接続先として以下のように設定をすると TMG 2010 の構成情報に接続ができます。
下の画像が接続した結果になります。
TMG 2010 で設定できる項目がいろいろと格納されていることが確認できます。
?
今回は AD LDS を対象としましたが、この方法は AD DS でも同様に使うことができます。
AD DS に接続する場合はポート [389] を使用します。
# 389 は明示的に指定しなくても接続できます。
>ntdsutil |
AD 統合ゾーンの DNS の機能がインストールされたドメインコントローラーで情報を取得したので、基本の 3 パーティション
(構成 / スキーマ / ドメイン) の他に、DNS 用のアプリケーション ディレクトリ パーティションが存在しているのが確認できますね。
ディレクトリ パーティションの一覧取得方法を忘れてしまうことがしばしばあるのでこの機会にまとめてみました。
# もっとスマートな方法があるとは思うんですけどね。