SE の雑記

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

Archive for the ‘Active Directory’ Category

Active Directory 環境の DHCP サーバーの承認について

leave a comment

昨日、問い合わせがあったので DHCP の承認について少し調べていました。

Active Directory 環境のメンバサーバーに DHCP サーバーを構築する場合、[承認] という処理が必要となります。

TechNet では DHCP の承認について以下のように記載されています。

DHCP サーバーを承認する

これらの問題を解決するため、Windows Server 2003 を実行する DHCP サーバーは、クライアントにサービスを提供する前に、Active Directory で承認済みとして検証されます。これによって、構成が誤っていたり、誤ったネットワーク上で構成された DHCP サーバーを実行したために発生する被害を回避することができます。

また、DHCP サーバーを承認するためには [Enterprise Admins] の権限が必要となります。
こちらについても TechNet に記載があります。

Active Directory の DHCP サーバーを承認する

Active Directory ドメイン環境で DHCP サーバーが承認されるためには、まずサーバーを追加するエンタープライズの
Enterprise Admins グループのメンバとしてログオンする必要があります。

 

 

■Enterprise Admins が必要な理由

DHCP の承認状況に関しては、Active Directory のパーティションの中でも、[構成パーティション] という場所に格納がされます。

image 
ADSI Edit で確認した構成パーティション

Active Directory 上では、[CN=Configuration,DC=<ドメイン>]  となっている情報ですね。

この構成パーティションを変更できるのはデフォルトの設定では、[Enterprise Admins] のユーザーとなります。
認証されたユーザー [Authenticated Users] であれば、[読み取り] の権限がついていますので、通常のユーザーでも
構成を読み込むことはできるのですが変更はできません。
変更をするためには [Enterprise Admins] グループのユーザーの必要があります。

image  image
[CN=Configuration] のセキュリティ情報

 

■DHCP サーバーを承認すると何が起きるか

DHCP サーバーを承認した際に [Enterprise Admins] の権限を使用して何をしているかを確認してみました。

承認を実行すると、構成パーティションの中の [CN=NetServices,CN=Services] に承認された DHCP サーバーの
オブジェクトを作成しているようです。

下の画像が、対象の内容を表示したものになります。
[CN=DhcpRoot] はデフォルトで作成されているオブジェクトになるのですが、[CN=dhcp-2000.dom2.domain.local] というのが、
Windows 2000 Server で実行している DHCP サーバーの情報になります。

image
[CN=Netservices,CN=Services] の内容

DHCP の管理コンソールで、[承認されたサーバーの管理] で確認をすると、[CN=NetServices,CN=Services] に
作成されている、オブジェクトの情報が表示されていることが確認できます。
image 
承認されたサーバーの管理

[承認の解除] を実行すると対象のサーバーのオブジェクトも削除されます。
image image
承認の解除

image 
承認の解除後の [CN=NetServices,CN=Services] の内容

承認操作をすることで [CN=NetServices,CN=Services] のオブジェクト操作が実行されます。
この操作を実行するために [Enterprise Admins] の権限が必要となります。

 

■Windows 2000 Server と Windows Server 2003 の承認処理の違い

Windows Server 2003 で承認した DHCP が Windows 2000 Server の DHCP の管理コンソールの [承認されたサーバーの管理] で
表示されないという問い合わせがありました。

下の画像が、Windows Server 2003 の DHCP の管理コンソールで [承認されたサーバーの管理] を表示した内容です。
一台、サーバーが承認されているのが確認できます。
image 
Windows Server 2003 の DHCP 管理コンソールの [承認されたサーバーの管理] の表示内容

それでは、Windows 2000 Server で、[承認されたサーバーの管理] を表示するとどうなるでしょう。
スコープがアクティブになっているので、承認され有効な DHCP サーバーとして認識はされているのですが、
[承認されたサーバーの管理] には表示がされません。
image
Windows 2000 Server の DHCP 管理コンソールの [承認されたサーバーの管理] の表示内容

[承認されたサーバーの管理] の表示内容ですが、2000 と 2003 で取得方法に違いがあるようです。

 

■Windows 2000 Server の表示

Windows 2000 Server の [承認されたサーバーの管理] の表示ですが、[CN=NetServices,CN=Services] の
[CN=DhcpRoot][dhcpServers] という属性の内容を元に表示をしているようです。

image
[CN=DhcpRoot] の設定内容

[CN=DhcpRoot] の [dhcpServers] に属性が設定されるのは、Windows 2000 Server で DHCP を承認
した場合になるようです。

今回は Windows Server 2003 で DHCP サーバーを承認しているので、この属性に値が設定されていません。
1 台、Windows 2000 Server で DHCP を承認した後の表示が以下になります。

  image  image
Windows 2000 Server で DHCP を承認

[DhcpRoot] の [dhcpServers] に値が設定されているため、この属性に設定されているサーバーはWindows 2000 Server の
[承認されたサーバーの管理] で表示されるようになります。
# 実際には、[dhcpServers] 属性の内容を分割して表示しているようですが。

 

■Windows Server 2003 の表示

Windows Server 2003 の場合は、[DhcpRoot] の [dhcpServers] 属性と、[DhcpRoot] 以外の [dhcpServers] 属性の
情報をベースに表示しているようです。

そのため、2000 / 2003 のどちらで承認されたサーバーについても表示されます。
image 
Windows Server 2003 の DHCP 管理コンソールの [承認されたサーバーの管理] の表示内容

Windows Server 2003 で承認した場合は、[DhcpRoot] の [dhcpServers] 属性は設定されないのですがその代わりに、
承認したサーバーの [dhcpServers] 属性が設定されます。

image 
– Windows Server 2003 で承認した DHCP サーバー –

Windows 2000 Server で承認された DHCP サーバーの場合は、[DhcpRoot] に [dhcpServers] 属性が設定されているため、
DHCP サーバーのオブジェクトには、[dhcpServers] 属性は設定されていません。

image 
Windows 2000 Server で承認した DHCP サーバー

2000 と 2003 の承認処理では実行される内容に差があるようですね。
DHCP サーバーが承認されているかどうかに関しては、[CN=NetServices,CN=Services] 内にオブジェクトが存在するかで、
判断がされているようですので、属性が設定される場所が異なっていても特に影響はないようです。

■コマンドで DHCP サーバーを承認

DHCP サーバーの承認は DHCP サーバーの管理コンソールで実行できるのですが、コマンドでも承認 / 承認解除を
実行することができます。

DHCP サーバーの承認
netsh dhcp add server <サーバー名> <IP アドレス>

DHCP サーバーの承認解除
netsh dhcp delete server <サーバー名> <IP アドレス>

承認されている DHCP サーバーの取得
netsh dhcp show server

実行される内容は管理コンソールと同じです。

DHCP サーバーの一覧取得に関しては Script Center Gallery に VBScript のサンプルコードが掲載されていました。
承認された DHCP サーバーのレコードについて確認するにはかなり便利だと思います。
Enumerate All Authorized DHCP Servers in Active Directory

また、Microsoft のブログでも、古い DHCP サーバーをリストから削除する方法ということで [dhcpServers] 属性を
削除する方法が紹介されていました。
Old DHCP Servers appear in the list of Authorized servers after a Domain Rename

 

問い合わせがあるまで、OS のバージョンによって承認処理が違うことを意識していませんでした。

Written by masayuki.ozawa

3月 31st, 2010 at 4:02 pm

Posted in Active Directory

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 用のアプリケーション ディレクトリ パーティションが存在しているのが確認できますね。

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

        Written by masayuki.ozawa

        3月 24th, 2010 at 1:58 pm

        Posted in Active Directory

        Hyper-V で Windows NT ドメインを Active Directory にインプレースアップグレード

        leave a comment

        Happy Birthday Active Directory !
        Active Directory 誕生 10 周年おめでとうございます。

        昨日から Active Directory 関係の投稿を何かしようと考えていのですが、引き出しがありませんでした…。
        そこで、Windows NT ドメインからいろいろな OS のバージョンの Active Directory ドメインへインプレースアップグレードする
        検証を実施してみました。

        ■Hyper-V で Windows NT を起動するために

        Hyper-V では Windows NT は非サポートですが、[Windows NT など、古いオペレーティングを実行する] を有効にすることで、
        インストールして動作させることができます。
        また、統合サービスが使用できないので、エミューレートのネットワークアダプタと、SCVMM にリモートデスクトップで
        アクセスしている時はキーボードで操作する必要があります。
        image
         

        ■Windows NT ドメインの作成

        まずはインプレースアップグレード元となる NT ドメインの作成です。

        1. Windows NT 4.0 を PDC としてインストールします。
           image image
          image
        2. Windows NT 4.0 SP6a をインストールします。

          image image

        この環境を使ってインプレースアップグレードを試していきます。

        ■パターン1
        Windows 2000 Server Active Directory へアップグレード

        まずは、NT → 2000 Active Directory にアップグレードです。

        1. Windows 2000 Server のインストールメディアを挿入し、インプレースアップグレードします。
          image image
          image
          # 上記画面の処理が長いですが待っていると進みます。
        2. インプレースアップグレードの中で Active Directory 化を実施します。
          image image
          image
        3. Windows 2000 Server SP4a をインストールして最新化の完了です。
          image image

        このパターンは問題なくアップグレード完了です。

        ■パターン 2
        Windows Server 2003 Active Directory へアップグレード

        Windows NT から Windows Server 2003 へインプレースアップグレードすると Windows 2000 Server の時と同様、
        Active Directory の設定画面が表示されます。

        ウィザードに従って作業をすると Active Directory 化の完了です。
        image image

        フォレストの機能レベルの選択画面が表示されるのですがNT ドメインコントローラーとの併用モードしか選択できません。
        image

        無事に NT ドメイン → 2003 Active Directory への移行完了です。
        image

        今回は With SP2 で実施しているので SP のインストールは無しです。
        こちらも問題なくアップグレード完了です。

        ■パターン 3
        2000 → 2003 Active Directory へアップグレード

        NT → 2000 → 2003 という順番でアップグレードした場合です。
        NT → 2000 はパターン 1 と一緒ですね。

        1. Windows Server 2003 R2 Standard Edition with SP2 のメディアで [adprep /forestprep] [adprep /forestprep / gpprep] を
          実行します。
          image
        2. Windows Server 2003 R2 Standard Edition with SP2 のメディアでインプレースアップグレードします。
          image image

        2000 の段階で統合サービスをインストールしているとこの画面の後にブルースクリーンになってしまいました。
         imageimage
        image

        統合サービスがインストール時にどうしてもタイムアウトしてしまうんですよね。
        # 私の環境特有なのかも知れないのですが、SCVMM でWindows 2000 Server に統合サービスをインストールすると
          かなり時間がかかるんですよね。
        image

        マウスは動くので、統合サービスはインストールされているようではあるのですが。
        image 

        ■回避策

        ブルースクリーンが発生してしまった後の回避ができていないのですが、アップグレード前に環境を整備しておけば、
        ブルースクリーンを発生させないことができます。

        1. 統合サービスをインストールしない
          統合サービスをインストールしなければ現象は発生しません。
          まぁ当然のお話だとは思いますが…。
        2. 統合サービスをインストールした場合はアンインストールするSCVMM で統合サービスのインストールに失敗した状態ではアプリケーションの追加と削除に表示がされません。
          そのため、アンインストールができない状態になります。
          image

          そこで、Hyper-V マネージャーの VMCONNECT を使って、統合サービスを一度インストールします。
          image 
          imageimage 

          一度 VMCONNECT からインストールして、アプリケーションの追加と削除に表示され、アンインストールできるようになります。
          タイムアウトしていなければ最初から表示されていると思いますので、その場合は再インストールせずに削除します。
          image image

        統合サービスがインストールされていない状態であれば、ブルースクリーンは発生せずアップグレードをすることが可能です。image

         
        この現象ですが

        • Windows 2000 Server SP4a + 統合サービス → Widnows Server 2003 R2 with SP2

        へのアップグレードでも発生しました。
        私の環境では、統合サービスありの状態でアップグレードすると発生してしまうようですね。
        Windows 2000 からアップグレードをする場合は統合サービスをアンインストールしておいた方がよさそうですね。

        ■パターン 4
        Windows Server 2008 Active Directory へアップグレード

        インストールメディアの ISO をマウントしても読めなかったので、一度 VHD に ISO の内容をコピーしてアップグレードを実行しています。
        Windows Server 2008 x86 With SP2 を実行しているのですが残念ながらアップグレードパスはありません。
        image 

        ■パターン 5
        2000 → 2008 Active Directory へアップグレード

        SP4 以降であれば Windows Server 2008 のインストーラーを実行可能です。
        image

        ただし、SP4 以降にしても Windows NT では C ドライブの容量を 4G に設定するパターンになっていると思いますので、
        そのままでは、容量不足でアップグレードができません。
        image

        仮想環境は VHD なので、一度 Hyper-V マネージャで拡張して、その仮想ディスクを VHD マウントしてパーティション拡張しました。
        ボリューム拡張後はアップグレードが可能になります。
        今回は 4 G から 40G に拡張しました。
        image 

        AD のアップグレードですので、2008 のメディアから[adprep] 関連の作業を事前に実行しています。

        OS の選択はできるのですが、
        image

        アップグレードはできない状態です。
        image

        そのため、[windows.old] が使用される形でのインストールとなります。
        image
        どうなるかが気になるので、ひとまずこのままインストールをしてみました。
        image

        インストールが終了するとこの画面に。
        # 統合サービスはインストールしたままですが、2008 にはアップグレード可能でした。
        image

        きれいに再インストールされてしまいました。
        image 

        ■パターン 6
        2000 → 2003 SP2 → 2008 Active Directory へアップグレード

        2000 の段階で 4G → 40G にパーティションは拡張済みです。

        Windows Server 2003 では NonSP の状態でもインストーラーを起動可能です。
        image

        ただし、SP1 以降でないとアップグレードはできません。
        image 

        NT → 2000 → 2003 R2 With SP2 というステップでアップグレードした環境に対して、 2008 x86 のインプレース
        アップグレードを試してみました。

        2000 → 2003 へは特に問題もなくアップグレード完了です。
        image

        ログオン後に統合サービスをインストールして 2008 x86 にアップグレードです。
        ドメインの機能レベルを 2000 ネイティブ以上にして、2008 の [ADPREP] を実行してからアップグレードを実行します。

        OS の条件とドメインの条件 (ADPREP) を満たしていると、アップグレードがクリックできます。
        image

        互換性のレポートを確認するとアップグレードが開始されます。
        image image

        [vmbus] でエラーが発生し、起動しませんでした…。
        image

        そのあとの画面で、[Windows セットアップ Rollback] があるのですが、これを実行すると Windows Server 2003 の状態に
        ロールバックすることが可能です。
        image

        2008 のベースは入っているはずなので、SCVMM から統合サービスのインストールを試したのですが、残念ながらインストールできず…。
        image

        一度ロールバックしてみます。
        # このような機能があることを知りませんでした。
        image

        Windows Server 2003 が起動しました!!ロールバックできるものですね~。
        image image image

        一度、統合サービスをアンインストールして再度 2008 にアップグレードしてみます。
        image

        統合サービスをアンインストールした状態だとアップグレードが成功します。
        image image

        2008 にアップグレードしたタイミングで、システムルートが [WINNT] → [Windows] に変更されるんですね。
        image image

        Active Directory 誕生 10 周年ということでいろいろな OS を使って NT ドメインからインプレースアップグレードしてみました。

        10 年前といえばまだ学生で、Windows 98 を多少触れるぐらいの IT スキルだった気がします。
        社会人になってから支給された社用 PC が Windows 2000 Professional でそのとき初めて NT 系の OS を触ったことを覚えています。

        それから開発系の仕事をメインに携わり、プログラマーとして業務をしていきたいと考えていたこともあるのですが、
        今は ITPro として製品を詳しく理解したいという気持ちが強くなっています。10 年たつとスキルの志向も変わるものですね~。

        Active Directory を触り始めて 3 年ぐらい。誕生してからの半分の期間も触れていないんですね。
        誕生 15 周年、20 周年の時にはもう少し Active Directory のスキルを付けていたいものです。

        次の Active Directory の記念日に備え、これからも勉強に精進したいと思います!!

        Written by masayuki.ozawa

        2月 17th, 2010 at 3:00 pm

        Posted in Active Directory

        Exchange 2000 に対応している Active Directory について

        leave a comment

        ここまでの投稿で作成したドメインコントローラーをサイトを分けて以下の用に配置しました。
        また、このドメインには Exchange 2000 Server が存在しています。

        image

        Exchange 2000 Server は使用できるドメインコントローラーのバージョンには制限があるようで、US の Exchange チームの
        ブログの以下の投稿で記載がされています。
        Exchange Server and Windows Server 2008

        Exchange 2000 Server は Windows Server 2008 のドメインコントローラーに対応していないようです。

        Exchange 2000 Server Service Pack 3 and all previous versions of Microsoft Exchange are not for use with Windows Server 2008 directory servers.

         

        各サイトにサブネットを設定して Exchange 2000 を再起動し、サービスが起動するかどうかを試して見たいとおもいます。

        ■Windows 2000 Server のサイトにサブネットを設定

        Exchange 2000 Server のサブネットを Windows 2000 Server のサイトに設定しました。

        image

        再起動後にドメインユーザーでログインして SET コマンドを実行してみます。
        2000 のドメインコントローラーになっていますね。
        image

        各サービスも正常に起動しています。
        image

        この作業をサブネットを設定するサイトを変更しながら繰り返していきます。
        # サイトリンクも初期のままなので、サブネット変更後は [repadmin /syncall /AedP "TEST-2000-01"] を実行して、
          2000 AD の変更内容をプッシュで伝搬させています。

        ■Windows Server 2003 R2 のサイトにサブネットを設定

        今度は、Windows Server 2003 R2 x64 にサブネットを割り当てます。

         image

        SET コマンドを実行すると 2003 R2 のサーバーが表示されています。
         image

        各サービスも正常に起動していますね。
        image

        ■Windows Server 2008 のサイトにサブネットを設定

        ここからが本題です。
        サブネットを Windows Server 2008 のサイトに設定しました。

        image

        SET コマンドの実行結果は、2008 になっていますね。
        image

        では、各サービスの起動状態を確認してみたいと思います。
        image 
        サービスはすべて起動していますね。
        以前試したときは [Microsoft Exchange Information Store] が起動しなかったのですが、今回の環境では起動してしまいました。

        ■Windows Server 2008 R2 のサイトにサブネットを設定

        続いて 2008 R2 で実験です。

        image

        SET コマンドは 2008 R2 になっています。
        image

        サービスも一通り起動していますね。
        image

         

        以前、2000 AD + 2008 AD DS の環境で試した際には、Exchange 2000 を 2000 AD のサイトに設定しないと、
        正常にサービスが起動しなかった場合があったのですが、今回はうまくいってしまいましたね~。
        2008 AD DS を使用する場合は 2000 または 2003 の AD が使われるようにサイトの設定をすることが
        必要になるという投稿がしたかったのですがうまく結果が残せませんでした…。

        Written by masayuki.ozawa

        2月 14th, 2010 at 2:53 pm

        Posted in Active Directory

        2000 Active Directory に 2008 R2 Active Directory を追加

        leave a comment

        最後に 2008 R2 の Active Directory を追加してみます。

        2008 R2 の場合、ADPREP はインストールメディアの [supportadprep] ディレクトリにあります。

        今までと同じように [adprep /forestprep] を実行すると以下のエラーになります。
        image

        R2 の場合、ADPREP は x64 専用になっています。
        x86 の場合は、ADPREP32 を実行します。

        といことで今回は [adprep32 /forestprep] [adprep /domainprep /gpprep] [adprep /rodcprep] を実行します。
        # 2008 のドメインコントローラーを追加している場合は、[adprep32 /forestprep] [adprep /domainprep] を
         実行すれば良さそうです。

        これで 2008 R2 のドメインコントローラーを追加することが可能です。
        image

        [adprep32] についてはいろいろな方がブログで書かれていますので、目新しい情報ではないかと思いますが、
        わからないとはまりそうですね。

        今回の検証の目的は一通りの AD を構築するのではなく、この環境で Exchange 2000 Server を実行した際の
        注意点をブログに投稿することを目的に構築してみました。

        Exchange 2000 Server を実行している場合の Active Directory アップグレード時の注意点については次の投稿で。

        Written by masayuki.ozawa

        2月 14th, 2010 at 12:07 pm

        Posted in Active Directory

        2000 Active Directory に 2008 x64 Active Directory を追加

        leave a comment

        先ほど 2003 R2 を追加した環境に今度は Windows Server 2008 x64 SP2 を追加してみます。

        前回の投稿で、2000 Active Directory で ADPREP を実行した理由なのですが、ドメインコントローラーになっていない、
        Windows Server 2003 R2 x64 上で ADPREP を実行すると以下のようなエラーが発生するためです。

        下の画像は、Windows Server 2008上で実行したものなのですが、2003 でも同様のエラーになります。
        image 
        2003 x64 の ADPREP は x86 上では実行できないため、x86 で実行可能な ADPREP を準備する必要がありました。

        Windows Server 2008 x64 の ADPREP に関しては、Windows 2000 Server で実行することができます。
        # ADPREP はインストールメディアの [sourcesadprep] ディレクトリに格納されています。
        image

        ということで今回の場合は、[adprep /forestprep] [adprep /domainprep /gpprep] [adprep /rodcprep] を実行します。

        [adprep /forestprep] [adprep /rodcprep] は Windows 2000 Server インストール直後の機能レベルで実行できるのですが、
        [adprep /domainprep /gpprep] に関しては、ドメインの機能レベルを [ネイティブ モード] に変更している必要があります。
        image

        そこで、[Active Directory ドメインと信頼関係] から、ドメインの機能レベルを変更します。
        デフォルトは、[混在モード] ですので、[モードの変更] をクリックして [ネイティブ モード] に変更します。
        # NT ドメインお疲れさまでした。
        image
        image 
        image
        image 

        これで 2008 Active Directory を追加できる状態になりました。
        image

        Windows Server 2008 で [DCPROMO] を実行して、ドメインコントローラーを追加すると作業終了です。
        image

        2008 を最初に追加する場合も Exchange 2000 用の競合回避をする必要がありますので、Exchange 2000 導入済みの場合は、
        前回の投稿 + 今回の投稿の作業を実施することになります。

        Written by masayuki.ozawa

        2月 14th, 2010 at 11:42 am

        Posted in Active Directory

        2000 Active Directory に 2003 R2 x64 Active Directory を追加

        leave a comment

        Exchange 2000 と Active Directory についての投稿をするために、2000 Active Directory に 2003 Active Directory を
        追加しようとしていたところ、2003 R2 x64 の ADPREP 実行時に以下のエラーが。

        image

        x86 環境で x64 の ADPREP を実行しようとしたから発生したみたいですね。
        x86 の 2003 R2 も持っているので、そちらの ADPREP を実行してもよかったのですが、メディアがない場合はどうするのだろうと
        思って調べてみたところ以下の技術情報がありました。

        Windows Server 2003 フォレストの Windows Server 2003 R2 x64 Edition ベースのドメイン コントローラーを展開することはできません。

        修正プログラムがダウンロードできるのですが、その中身は LDF ファイルと各プロセッサバージョンの ADPREP になります。
         image

        このファイルを Windows 2000 Server 上で実行するのですが、実行するプロセッサバージョンの ADPREP と LDF が
        同一のディレクトリ内になるように配置してから実行する必要があります。
        今回は x86 ディレクトリの中の ADPREP を配置しています。
        image

        x86 ディレクトリ内の ADPREP を実行すると以下のエラー (LDF ファイルが見つからない) エラーとなり AD の準備ができません。
        image 

        ADPREP と LDF ファイルが同一のディレクトリにあると正常に実行ができます。
        image

        今回は、Exchange 2000 をインストールしている環境なので、
        Windows 2000 ドメイン コントローラーを Windows Server 2003 にアップグレードする方法
        # こちらは参考、Windows Server 2003 Service Pack 1 および修正プログラム 324392 の Adprep.exe に対する拡張機能
        の対応をしてからでないと AD の拡張ができないことを今思い出しました…。

        image

        ということでまずはこの作業を。

        1. コマンドプロンプトで、[regsvr32 schmmgmt.dll] を実行して、MMC で [Active Directory スキーマ] を実行可能にします。
        2. [MMC] で [Active Directory スキーマ] を追加し、開きます。
          image
        3. [Active Directory スキーマ] を右クリックして、[操作マスタ] をクリックします。
          image
        4. [このドメイン コントローラーでスキーマの修正が可能] を有効にし、[OK] をクリックします。
          image
        5. 以下の内容のテキストファイルを作成します。

          dn:CN=ms-Exch-Assistant-Name,CN=Schema,CN=Configuration,DC=X
          changetype:Modify
          replace:LDAPDisplayName
          LDAPDisplayName:msExchAssistantName

          dn:CN=ms-Exch-LabeledURI,CN=Schema,CN=Configuration,DC=X
          changetype:Modify
          replace:LDAPDisplayName
          LDAPDisplayName:msExchLabeledURI

          dn:CN=ms-Exch-House-Identifier,CN=Schema,CN=Configuration,DC=X
          changetype:Modify
          replace:LDAPDisplayName
          LDAPDisplayName:msExchHouseIdentifier

          dn:
          changetype:Modify
          add:schemaUpdateNow
          schemaUpdateNow:1

           

        6. 以下のコマンドを実行して競合を回避します。

          ldifde -i -f <作成したファイル> -v -c DC=X "domain name path for forest root domain"

          実行例)
          ldifde -i -f inetorgpersonprevent.ldf -v -c DC=X "DC=exchange,DC=local"

        これで ADPREP を実行する準備は完了です。

        [adprep /forestprep] [adprep /domainprep /gpprep]

        を実行して、2003 R2 x64 の Active Directory を追加可能にします。
        image

        久しぶりに 2000 AD からのアップグレードを試したら方法をすっかり忘れていました…。

        Written by masayuki.ozawa

        2月 14th, 2010 at 10:47 am

        Posted in Active Directory

        Active Directory のトレースログを取得 – Windows Server 2008 R2 –

        leave a comment

        昨日投稿したトレースログの 2008 R2 版です。

        最初は 2008 で書こうかと思っていたのですがせっかくなので 2008 R2 にアップグレードした環境を準備してみました。

        ■Windows Server 2008 R2 でトレースログを取得

        Windows Server 2008 / R2 のトレースログは、[管理ツール] の [パフォーマンス モニター] から取得をします。
        [ファイル名を指定して実行] から実行する場合は Windows Server 2003 同様 [perfmon.exe] になります。
        image
        image

        この中の、[イベント トレース セッション] に新規データコレクターセットを作成することで Active Directory の
        トレースログを取得できます。
        image 

        それではさっそく作成してみたいと思います。

        1. [イベント トレース セッション] で右クリックして、[データ コレクター セット] をクリックします。
          image
        2. 名前を入力して、[次へ] をクリックします。
          image
        3. [追加] をクリックし、[Active Directory Domain Services: Core] を追加します。
          image image
        4. [次へ] をクリックします。
          この段階でフィルターを設定して取得情報が絞り込めればいいのですが、フィルターの使い方がわかりませんでした…。
          image
        5. データの保存場所を指定し、[次へ] をクリックします。
          image
        6. [完了] をクリックします。
          image

        これでトレースの設定は終了です。
        先ほど、すぐに開始にはしなかったので、取得するタイミングで右クリックして、[開始] をクリックします。
        image

        今回は PC 起動時のログを確認してみたいと思いますので、ログインはしない状態で。image

        取得が終わりましたら停止します。
        image

        取得されたファイルは、2003 と同様 ETL ファイルになりますので今回も成形します。
        image

         

        ■ログの成形

        使用するコマンドは Windows Server 2003 と同様 [tracerpt] になります。

        c:PerfLogs>tracerpt "Active Directoy Trace.etl" -of CSV -o log.txt -f HTML -report report.html

        入力
        —————-
        ファイル:
             Active Directoy Trace.etl

        100.00%

        出力
        —————-
        DumpFile:         log.txt
        レポート:             report.html

        コマンドは、正しく完了しました。

        後は FIND でログを切り出します。

        find log.txt "DsDirSearch" > report.txt

        今回はログオン前なので、コンピュータアカウント (EXCHANGE-XP-02$) の情報を切り出してみました。

        Event Name,       Type,     Event ID,    Version,    Channel,      Level,     Opcode,       Task,            Keyword,        PID,        TID,     Processor Number,  Instance ID,   Parent Instance ID,                              Activity ID,                      Related Activity ID,           Clock-Time, Kernel(ms),   User(ms), User Data

        DsDirSearch,      Start,            0,          4,          0,          0,          1,          0, 0x0000000000000000, 0x000001FC, 0x00000984,                    0,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   129104577092364013,        105,        210, "DS", 4, 6, 1141178432,        0, "LSA", "deep", "DC=exchange,DC=local", " (sAMAccountName=EXCHANGE-XP-02$) ", "[types_only]", "SDflags:0x0;",  0x5404000000000B0000000000
        DsDirSearch,        End,            0,          4,          0,          0,          2,          0, 0x0000000000000000, 0x000001FC, 0x00000984,                    0,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   129104577092366011,        105,        210, "DS", 4, 6, 1157955648,        0, "0", " (sAMAccountName=EXCHANGE-XP-02$) ", "idx_sAMAccountName:1:N;", "1", "1", "NTDS", "",  0x54040000000050145404

        DsDirSearch,      Start,            0,          4,          0,          0,          1,          0, 0x0000000000000000, 0x000001FC, 0x00000984,                    0,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   129104577093494882,        105,        210, "DS", 4, 6, 1141178432,        0, "NTDSAPI", "deep", "DC=exchange,DC=local", " (sAMAccountName=EXCHANGE-XP-02$) ", "distinguishedName", "", "", "",  0x0000540400000000
        DsDirSearch,        End,            0,          4,          0,          0,          2,          0, 0x0000000000000000, 0x000001FC, 0x00000984,                    0,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   129104577093497496,        105,        210, "DS", 4, 6, 1157955648,        0, "0", " (sAMAccountName=EXCHANGE-XP-02$) ", "idx_sAMAccountName:1:N;", "1", "1", "NTDS",  0x00314EFCFE070000E0060901

        DsDirSearch,      Start,            0,          4,          0,          0,          1,          0, 0x0000000000000000, 0x000001FC, 0x00000984,                    0,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   129104577093738939,        105,        225, "DS", 4, 6, 1141178432,        0, "NTDSAPI", "deep", "DC=exchange,DC=local", " (sAMAccountName=EXCHANGE-XP-02$) ", "distinguishedName", "", "", "",  0x0000540400000000
        DsDirSearch,        End,            0,          4,          0,          0,          2,          0, 0x0000000000000000, 0x000001FC, 0x00000984,                    0,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   129104577093741473,        105,        225, "DS", 4, 6, 1157955648,        0, "0", " (sAMAccountName=EXCHANGE-XP-02$) ", "idx_sAMAccountName:1:N;", "1", "1", "NTDS",  0x00314EFCFE070000E0060901

        DsDirSearch,      Start,            0,          4,          0,          0,          1,          0, 0x0000000000000000, 0x000001FC, 0x00000530,                    0,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   129104577094493737,        165,        825, "DS", 4, 6, 1141178432,  4194304, "10.2.0.2:1052", "base", "CN=EXCHANGE-XP-02,CN=Computers,DC=exchange,DC=local", " (objectClass=*) ", "objectClass", "",  0xAC2981770000000000005404
        DsDirSearch,        End,            0,          4,          0,          0,          2,          0, 0x0000000000000000, 0x000001FC, 0x00000530,                    0,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   129104577094494885,        165,        825, "DS", 4, 6, 1157955648,  4194304, "0", "[]", "[]", "1", "1", "NTDS", "",  0x0F000000000000000000

        DsDirSearch,      Start,            0,          4,          0,          0,          1,          0, 0x0000000000000000, 0x000001FC, 0x00000530,                    0,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   129104577094915903,        165,        825, "DS", 4, 6, 1141178432,  4194304, "10.2.0.2:1052", "base", "CN=Windows Virtual Machine,CN=EXCHANGE-XP-02,CN=Computers,DC=exchange,DC=local", " (objectClass=*) ", "objectClass", "", "", "",  0x5404000000000B00
        DsDirSearch,        End,            0,          4,          0,          0,          2,          0, 0x0000000000000000, 0x000001FC, 0x00000530,                    0,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   129104577095060716,        165,        825, "DS", 4, 6, 1157955648,  4194304, "0", "[]", "[]", "1", "1", "NTDS", "",  0x0F000000000000000000

         

        出力の項目は増えているようですが、[Start] [End] [TID] で一組になっているのは変わらないようですね。
        [Windows Virtual Machine] となっているものが面白そうですので、これを使って [dsquery] を実行してみたいと思います。

        dsquery *  "CN=Windows Virtual Machine,CN=EXCHANGE-XP-02,CN=Computers,DC=exchange,DC=local" -filter " (objectClass=*) " -attr *
        objectClass: top
        objectClass: leaf
        objectClass: connectionPoint
        objectClass: serviceConnectionPoint
        cn: Windows Virtual Machine
        distinguishedName: CN=Windows Virtual Machine,CN=EXCHANGE-XP-02,CN=Computers,DC=exchange,DC=local
        instanceType: 4
        whenCreated: 02/11/2010 07:57:43
        whenChanged: 02/11/2010 07:57:43
        uSNCreated: 78287
        uSNChanged: 78287
        showInAdvancedViewOnly: TRUE
        name: Windows Virtual Machine
        objectGUID: {2608F212-1FBE-4F97-913A-7DF0AA097AB5}
        objectCategory: CN=Service-Connection-Point,CN=Schema,CN=Configuration,DC=exchange,DC=local
        dSCorePropagationData: 01/01/1601 00:00:00
        ADsPath: LDAP://EXCHANGE-AD-01.exchange.local/CN=Windows Virtual Machine,CN=EXCHANGE-XP-02,CN=Computers,DC=exchange,DC=local

        今まで気にしたことがなかったのですが、コンピュータアカウントの下に [Windows Virtual Machine] というコンテナがあったんですね。
        image

        2003 / 2008 / R2 ともに基本的な操作は変わらないですね。

        2008 / R2 の注意点としては、イベントトレースセッションは再起動すると消えてしまうということでしょうか。
        image

        常時起動や、設定を残しておきたい場合は、テンプレートとして保存するか、スタートアップ イベント トレース セッションとして作成して、
        イベント トレース セッションとして開始する必要がありそうです。
        image
        image

        イベントトレースセッションは、使いこなせるとトラブルシューティング時にとても便利そうなのですが、情報を集められていません…。
        まだまだ勉強が足りないですね~。 自分の懐の浅さを思い知る限りです。

        Written by masayuki.ozawa

        2月 12th, 2010 at 3:19 pm

        Posted in Active Directory

        Active Directory のトレースログを取得 – Windows Server 2003 –

        leave a comment

        以前、AD の勉強をしていた時にクライアントから発行される AD の LDAP クエリはキャプチャできないのかな~と思い調べたことがあり、
        パフォーマンスモニタのトレースログで AD の情報を取得することで、LDAP クエリがキャプチャできそうでした。
        今週、このトレースを久しぶりに取得してみる機会があったので、せっかくなのでブログにも投稿を。
        # この辺の情報があまり見つけられず、これであっているのかがいまいちわからないのですがそれらしい情報が取得できます。

        私の検証環境に Windows Server 2003 / Windows Server 2008 の AD がありましたのでこれを使ってトレースログを
        取得してみたいと思います。
        今回は Windows Server 2003 で。

        ■Windows Server 2003 でトレースログを取得

        トレースログはパフォーマンスモニタから取得することができます。

        1. パフォーマンスモニタは [管理ツール] の [パフォーマンス] または、[ファイル名を指定して実行] から [perfmon.exe] を実行します。
          image
          image 
          パフォーマンスモニタの [パフォーマンス ログと警告] の中に [トレース ログ] があります。
          このトレース ログを使用することで AD のクエリ情報を取得できそうです。
          image 
        2. トレース ログを右クリックして、[新しいログの設定] をクリックします。
          image
        3. ログの名前を入力して、[OK] をクリックします。
          image
        4. ここでシステム外のプロバイダの [追加] をクリックし、[Active Directory: Core] を追加します。
          image image
        5. デフォルトの設定では、作成したと同時に開始されてしまいますので、スケジュールを [手動] にしておきます。
          image
        6. [OK] を押して準備完了です。
          image 

          ログの出力先のディレクトリが存在していない場合は、警告メッセージが表示されるので [はい] をクリックして、
          ディレクトリを作成します。
          image

        7. 作成したトレース ログを開始すると取得が始まります。
          image

        取得したファイルは出力先のディレクトリに、[etl] ファイルとして出力されます。
        image

        ここで、クライアント端末からログインをしてみます。
        image

        ログインが終わったらログの取得を停止します。
        image

        ■ログの成形

        取得したログはバイナリ形式ですのでそのままでは内容を確認できません。

        以前、WSFC のログについて で投稿した、[tracerpt] コマンドを使ってログを成形することができます。
        以下はコマンドの例になります。

        C:perflogs>tracerpt "Active Directory Trace_000001.etl" -o log.txt

        入力
        —————-
        ファイル:
             Active Directory Trace_000001.etl

        100.00%

        出力
        —————-
        テキスト (CSV):         log.txt

        コマンドは、正しく完了しました。

        このログファイルの中で [DsDirSearch] となっている個所が、LDAP のクエリ検索に使用された情報になるようですので、
        [FIND] コマンドでこの行だけを切り出します。

        find log.txt “DsDirSearch” > report.txt

        切り出した内容がこちらです。
        クライアントのログイン処理に関連しそうな情報を貼り付けてみました。
        [10.2.0.2] はクライアントに割り当てている IP になります。

        Event Name,       Type,        TID,           Clock-Time, Kernel(ms),   User(ms), User Data

        DsDirSearch,      Start, 0x000001EC,   129103742780181356,        180,       1200, "DS", 3, 3, 1141178432,        0, "NTDSAPI", "deep", "DC=exchange,DC=local", "0, 0
        DsDirSearch,        End, 0x000001EC,   129103742780181356,        180,       1200, "DS", 3, 5, 1157955648,        0, "0", " (sAMAccountName=user_2010)", "idx_sAMAccountName:1:N;", "1", "1", "0, 0

        DsDirSearch,      Start, 0x000001EC,   129103742780337608,        180,       1200, "DS", 3, 3, 1141178432,        0, "NTDSAPI", "deep", "DC=exchange,DC=local", "0, 0
        DsDirSearch,        End, 0x000001EC,   129103742780337608,        180,       1200, "DS", 3, 5, 1157955648,        0, "0", " (sAMAccountName=user_2010)", "idx_sAMAccountName:1:N;", "1", "1", "0, 0

        DsDirSearch,      Start, 0x00000A40,   129103742780493860,         15,        105, "DS", 3, 3, 1141178432, 1075970048, "10.2.0.2", "deep", "DC=exchange,DC=local", "0, 0
        DsDirSearch,        End, 0x00000A40,   129103742780493860,         15,        105, "DS", 3, 5, 1157955648, 1075970048, "0", " (distinguishedName=DC=exchange,DC=local)", "idx_distinguishedName:1:N;", "1", "1", "・0, 0

        DsDirSearch,      Start, 0x000003F4,   129103742780650112,        510,       5895, "DS", 3, 3, 1141178432, 1612840960, "10.2.0.2", "base", "CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=exchange,DC=local0, 0
        DsDirSearch,        End, 0x000003F4,   129103742780650112,        510,       5895, "DS", 3, 5, 1157955648, 1612840960, "0", "[]", "[]", "1", "1", "0, 0

        DsDirSearch,      Start, 0x00000A40,   129103742780806364,         15,        105, "DS", 3, 3, 1141178432, 1075970048, "10.2.0.2", "deep", "cn=policies,cn=system,DC=exchange,DC=local", "0, 0
        DsDirSearch,        End, 0x00000A40,   129103742780806364,         15,        105, "DS", 3, 5, 1157955648, 1075970048, "0", " (distinguishedName=CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=exchange,DC=local) 0, 0

        Start と End で1 ブロックのようです。Start と End は同一の TID となるようですね。
        ログインに使用したユーザー名の情報が出力されています。
        また、IP アドレスが記載されているものもありますね。

        試しに [0x00000A40] の情報を使って AD に問い合わせをしてみたいと思います。
        問い合わせには、[dsquery] コマンドを使用します。

        dsquery * -filter " (distinguishedName=CN={31B2F340-016D-11D2-945F-C04FB984F9},CN=Policies,
        CN=System,DC=exchange,DC=local) " -attr *

        objectClass: top
        objectClass: container
        objectClass: groupPolicyContainer
        cn: {31B2F340-016D-11D2-945F-00C04FB984F9}
        distinguishedName: CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=exchange,DC=local
        instanceType: 4
        whenCreated: 01/17/2010 11:06:20
        whenChanged: 02/11/2010 11:53:57
        displayName: Default Domain Policy
        uSNCreated: 17776
        uSNChanged: 17776
        showInAdvancedViewOnly: TRUE
        name: {31B2F340-016D-11D2-945F-00C04FB984F9}
        objectGUID: {37E0FE6E-DFA9-47FE-8BCA-E5AC7FFA57FA}
        flags: 0
        versionNumber: 65539
        systemFlags: -1946157056
        objectCategory: CN=Group-Policy-Container,CN=Schema,CN=Configuration,DC=exchange,DC=local
        isCriticalSystemObject: TRUE
        gPCFunctionalityVersion: 2
        gPCFileSysPath: exchange.localsysvolexchange.localPolicies{31B2F340-016D-11D2-945F-00C04FB984F9}
        gPCMachineExtensionNames: [{35378EAC-683F-11D2-A89A-00C04FBBCFA2}{53D6AB1B-2488-11D1-A28C-00C04FB94F17}][{827D319E-6EAC-11D2-A4EA-00C04F79F83A}{803E14A0-B4FB-11
        D0-A0D0-00A0C90F574B}][{B1BE8D72-6EAC-11D2-A4EA-00C04F79F83A}{53D6AB1B-2488-11D1-A28C-00C04FB94F17}]
        gPCUserExtensionNames: [{3060E8D0-7020-11D2-842D-00C04FA372D4}{3060E8CE-7020-11D2-842D-00C04FA372D4}]
        ADsPath: LDAP://EXCHANGE-AD-02.exchange.local/CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=exchange,DC=local

        この情報はグループポリシーのために発行したクエリのようですね。

        トレースは、dsquery の LDAP フィルタの式のサンプルとしても利用することが可能です。
        クライアント PC 起動時に AD 側でトレースを取得しているとコンピュータアカウントで発行されたクエリが取得できます。

        次回は Windows Server 2008 で同様の作業を実施してみます。
        こちらは、クライアント PC 起動時の情報を取得するシナリオを実施したいと思います。

        Written by masayuki.ozawa

        2月 11th, 2010 at 3:50 pm

        Posted in Active Directory

        2008 R2 Active Directory に移行 – AD DS の降格 –

        leave a comment

        一通り、AD の移行が終わりましたので、今まで使用していた 2008 AD DS を撤去したいと思います。

        [AD の降格]

        AD の撤去は [dcpromo] から実施します。
        AD CS 等、AD 関連の役割がインストールされている場合は事前に役割から削除しておく必要があります。

        1. [ファイル名を指定して実行] から [dcpromo] を実行します。
          image
        2. [次へ] をクリックします。
          image
        3. [OK] をクリックします。
          image
        4. [次へ] をクリックします。
          image
        5. [このサーバーを指している DNS 委任を削除する] のチェックをはずして、[次へ] をクリックします。
          image
        6. パスワードを設定して、[次へ] をクリックします。
          image
        7. [次へ] をクリックします。
          image
        8. [完了時に再起動する] を有効にして、削除が終わるまで待ちます。
          image

        以上で既存ドメインコントローラーの降格は終了です。

        この状態で Exchange Server 2010 RC に影響が出ないか確認をしてみたところ、以下のエラーが発生しました。
        image

        ひとまず、構成ドメイン コントローラーを変更してみました。

        image
        image

        メールボックスの一覧等は表示できるようになったのですが、エラーが出る状況は変わらず。
        どこかにドメインコントローラーの情報が残ってしまっているようです。

        Exchange 2007 では正常に認識ができているのですが、2010 では NG です…。
        仕方ないので、Exchange 2010 を再インストールしみたのですが状態は変わらず。

        アンインストールしようとしたところいろいろと問題が発生して、以下の情報を参考にする必要がありました。
        # メールボックスの削除とパブリックフォルダの削除がうまくできませんでした。

        Exchange 2007 をコンピュータから削除する方法
        Exchange 2010 – What is an arbitration mailbox?
        Uninstall Exchange 2010

        Exchange 2010 の RTM ももうじき TechNet からダウンロードできるようになると思いますので、
        ダウロードできるようになったら RTM でも同様の現象が発生するのか試してみたいと思います。

        Written by masayuki.ozawa

        11月 1st, 2009 at 1:22 pm

        Posted in Active Directory