SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

AD LDS のディレクトリ パーティションに接続

leave a comment

Microsoft の一部の製品では、構成情報の格納に AD LDS (以前のADAM) を使用しているものがあります。
# といっても私が使ったことがあるものでは ISA / TMG ぐらいですが。

今日は AD LDS で使用しているディレクトリ パーティション情報の取得について。
AD LDS でどのようなディレクトリ パーティションが設定されているかを確認していきたいと思います。

■インスタンス情報の取得

ディレクトリ パーティションを確認する前にそのサーバーでどのようなインスタンスが起動しているかを確認する必要があります。
サーバー内でどのようなインスタンスが動いているかをみるためには 2 種類の方法があります。

  1. [ntdsutil] で確認
  2. サービスで確認

[ntdsutil] で確認

  1. リモート サーバー 管理ツールの [AD DS スナップインおよびコマンドラインツール] をインストールすることで
    [ntdsutil] というコマンドを使用できるようになります。
    このコマンドを使うことでサーバーにインストールされているインスタンスの一覧を表示することが可能になります。
    image
  2. コマンドをプロンプトを開いて [ntdsutil] を実行します。
  3. 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
    サービスの状態:??????? 実行中

  • サービスで確認
    1. サービス名が [ADAM_xxxxxx]、説明が [AD LDS インスタンス] となっているものがあります。
      [ADAM_] の後の値がインスタンス名になります。
      以下は TMG 2010 インストール時に作成される AD LDS のインスタンスになります。
      [ISASTGCTRL] というインスタンスがインストールされているのが確認できます。
      image?
    2. ポート番号を調べるためには、[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 がどのポートを使用しているかを核にします。

    3. 取得したプロセス 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] がこの結果からも取得できました。

      • TMG 2010 で使用される AD LDS では、[2171] が使われるように自動で設定されるみたいです。
        何サーバーかにインストールしてみたところ全サーバー [2171] が使用されていました。

        ■ディレクトリ パーティション情報の取得

        ここからが本題のディレクトリ パーティション情報の取得になります。

        ディレクトリ パーティション情報の取得は [ntdsutil] を使用します。
        実行する [ntdsutil] コマンドの形式は以下の内容になります。
        [connect to server] の後に [サーバー名:ポート番号] で接続先を指定します。
        この時のポート番号に先ほど取得したポート番号を指定します。
        # サーバー名に関しては自サーバーの情報のため、localhost を指定しています。

        >ntdsutil
        ntdsutil: partition management
        partition management: connections
        server connections: connect to server localhost:2171
        localhost:2171 に結合しています…
        ローカルでログオンしているユーザーの資格情報を使って localhost:2171 に接続しました。
        server connections: quit
        partition management: list
        注意: 国際的な文字または Unicode 文字を含むディレクトリ パーティション名は、
        適切なフォントおよび言語サポートが読み込まれている場合のみ正しく表示されます
        3 個の名前付けコンテキストが検出されました
        0 – CN=Configuration,CN={33AA0486-4E90-4CCA-8CA8-083B663B8311}
        1 – CN=Schema,CN=Configuration,CN={33AA0486-4E90-4CCA-8CA8-083B663B8311}
        2 – CN=FPC2

        TMG 2010 ではインストールをすると上記 3 つのディレクトリ パーティションが作成される用です。

        0 が構成 パーティション / 1 がスキーマ パーティション / 2 がアプリケーション ディレクトリ パーティション になります。

        TMG 2010 の構成情報に関しては [CN=FPC2] に格納されます。

        ■TMG 2010? のアプリケーション ディレクトリ パーティションに接続

        パーティション名がわかれば、[ADSI エディター] 等のツールで接続することができます。
        ADSI エディター起動後に接続先として以下のように設定をすると TMG 2010 の構成情報に接続ができます。

        image

        下の画像が接続した結果になります。
        TMG 2010 で設定できる項目がいろいろと格納されていることが確認できます。
        image

        ?

        今回は AD LDS を対象としましたが、この方法は AD DS でも同様に使うことができます。
        AD DS に接続する場合はポート [389] を使用します。
        # 389 は明示的に指定しなくても接続できます。

        >ntdsutil
        ntdsutil: partition management
        partition management: connections
        server connections: connect to server localhost:389
        localhost:389 に結合しています…
        ローカルでログオンしているユーザーの資格情報を使って localhost:389 に接続しました。
        server connections: quit
        partition management: list
        注意: 国際的な文字または Unicode 文字を含むディレクトリ パーティション名は、
        適切なフォントおよび言語サポートが読み込まれている場合のみ正しく表示されます
        5 個の名前付けコンテキストが検出されました
        0 – CN=Configuration,DC=domain,DC=local
        1 – CN=Schema,CN=Configuration,DC=domain,DC=local
        2 – DC=DomainDnsZones,DC=domain,DC=local
        3 – DC=ForestDnsZones,DC=domain,DC=local
        4 – DC=domain,DC=local

        AD 統合ゾーンの DNS の機能がインストールされたドメインコントローラーで情報を取得したので、基本の 3 パーティション
        (構成 / スキーマ / ドメイン) の他に、DNS 用のアプリケーション ディレクトリ パーティションが存在しているのが確認できますね。

        ディレクトリ パーティションの一覧取得方法を忘れてしまうことがしばしばあるのでこの機会にまとめてみました。
        # もっとスマートな方法があるとは思うんですけどね。

        Share

        Written by Masayuki.Ozawa

        3月 24th, 2010 at 1:58 pm

        Posted in Active Directory

        Leave a Reply