SE の雑記

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

Archive for 2010

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

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

Hyper-V に P2V – 検証用環境の作成 –

leave a comment

Windows Server 2000 のサポートも 2010 年 7 月 13 日とアナウンスされており、サポート期間も半年を切っています。
Support changes coming July 2010 for Windows 2000 Server and Windows Server 2003

サポート切れの対応として、Windows Server 2003 / 2008 にインプレースアップグレード、セキュリティリスクを
許容したうえでシステムを使い続ける等、サポート切れに対するポリシーはいろいろとあるかと思います。

インプレースアップグレードするにしろ、システムを使い続けるにしろ既存の H/W ではいろいろと心配があるかと。
# 当時購入した H/W でインプレースアップグレードは厳しいですよね。

そんな時には P2V の出番です。

以前、ML110 G5 を使って SCVMM による Windows Server 2008 の P2V は実施したことがあるのですが、
Windows 2000 Server を P2V して Hyper-V に移行したことはまだありませんでした。

思い立ったら吉日ということでさっそく試してみます。

本当は物理環境が用意できればいいのですが、自宅にそれほどリソースは余っていません…。
どうせ P2V をやるのであれば IDE ではなく、SCSI ディスクを使用した環境で試してみたいものです。
Hyper-V のゲスト OS でブートできるディスクは IDE になりますので移行元が SCSI ディスクで構築されていれば、
SCSI → IDE の検証にもなります。

あとは OS 標準のドライバではなく、テキストセットアップ時にドライバを追加しないとディスクが認識できない環境であれば、
実際に P2V することになった場合に近いシチュエーションになりますよね。

私のメインに使っている PC (ブログを書くのにも使っている T61) には VMWare Workstation 7.0.0 がインストールされているので、
これを使えば物理環境のサーバーに近いものを用意できるのではと思い、さっそく検証用環境を構築してみました。
# 仮想環境を物理環境とみなしたなんちゃって P2V で検証しようかと。

■SCSI アダプタ用ドライバのダウンロード

VMWare Workstation では、仮想マシンを構築する際に、OS のバージョンを選択するのですが、ここで [Windows 2000 Server] を
選択することができます。
image

SCSI アダプタとして、[LSI Logic] を選択することができ、Windows 2000 Server をインストーする場合には、ドライバが
含まれていない可能性があるというメッセージが表示されます。
可能性ではなく、実際に含まれていないのですが。
image image

[LSI Logic のドライバ]
LSI22320-R

[LSI Logic SAS のドライバ]
LSISAS1068

今回は LIS Logic で作成したいと思いますので、LIS22320-R のドライバをダウンロードします。
このドライバですが、本投稿を書いている時点では、Windows 2000 用は [1.28.03] と [WHQL 1.10.02.00] の 2 種類が
提供されています。

インストールには、[WHQL 1.10.02.00] を使用する必要があります。
[1.28.03] を使ってインストールすると Windows 2000 Server 起動時にブルースクリーンになります。
image

■テキストセットアップ用のフロッピー作成

ドライバを入手したら、次はテキストセットアップ時に使用するドライバ用の仮想フロッピーの作成です。
Windows Server 2008 であれば、OSCDIMG.EXE で ISO にして、OS インストール時に使用することができるのですが、
Windows Server 2003 以前のバージョンではフロッピーが必須です。

私は、仮想フロッピーを作る場合、以下のソフトを利用させていただいています。
Virtual Floppy Drive 2.1

今使用している環境は Windows 7 x86 ですが動作します。

ダウロードしたファイルを解凍して、[vfdwin.exe] を実行します。
この EXE は [管理者として実行] する必要があります。
image

実行されたら、[インストール] をクリックします。
?image

続いて、[開始] をクリックします。
?image

そうすると仮想フロッピーディスクドライバが起動されますので、[ドライブ 0] タブの [開く/新規] をクリックします。
image?
仮想フロッピーディスクファイルの保存先を指定して、ディスク種別は [FILE] を選択し、[作成] をクリックします。
# ファイルの拡張子は [.flp] で。

image

[変更] をクリックしてドライブ文字を割り当てます。
image

最後に、[フォーマット] をクリックして、準備完了です。
?image image

フロッピー ディスク ドライブ が追加されているのでダウンロードしたドライバを保存します。
# symmpi_w2000_1100200.zip 直下のファイルをすべてフロッピーに保存します。

image

作業が終了したら、[停止] をクリックします。
?image

これで OS をインストールする準備は完了です。

■OS のインストール

OS のインストールは VMWare Workstation の通常の仮想マシンを作成する手順と一緒です。

OS に [Windows 2000 Server] を選択して、
image

SCSI アダプタには [LSI Logic] を選択して、
image

仮想ディスクは [SCSI] を選択して、仮想マシンを作成します。
image

LSI Logic を使用しているので仮想マシン起動時にメッセージが表示されますが、これは [OK] をクリックします。
image

以下の画面で [F6] を押して、
image?

[S] を押して、
image

作成した仮想フロッピーディスクのイメージを参照して、接続済みに設定し、
image

[Enter] を押します。
image

ドライバは一つしか選択できませんので、[Enter] を押します。
image

これ以上ドライバはインストールしませんので、[Enter] を押します。
image

ここまでくれば後はセットアップにしたがってインストールをします。
image??

ドライバを追加しているのでディスクが認識できています。
image

再起動時にはフロッピーの接続は外しておきます。
?image

あとはグラフィカルセットアップで Windows 2000 Server をインストールして完了です。image

この環境に VMWare Tools と SP4 を適用しました。

これで LSI Logic のアダプタを使用した P2V 元環境の完成です。
image

次の投稿でこの環境を Hyper-V に P2V したいと思います。

Written by Masayuki.Ozawa

2月 9th, 2010 at 11:43 pm

Posted in Hyper-V

Windows Server 2008 R2 で使える USB NIC

2 comments

検証環境の Live Migration 環境はノート PC のため、ネットワークがオンボード NIC 1 枚で構成されています。
Live Migration や MPIO の検証をするためにもう一枚 NIC が欲しいな~と考えていました。

USB NIC を探していたところ、玄人志向の [Gbe-USB] を発見。
GbE-USB

この USB NIC で使用されているチップは [ASIX社製 AX88178] になるのですが、これは Windows 7 x64 用の
ドライバが提供されています。
AX88178 — USB2.0 to 10/100/1000M Gigabit Ethernet Controller with GMII Interface
Windows 7 64-bit Driver

Windows 7 x64 のドライバであれば、Windows Server 2008 R2 でも使えるだろうと考え、先週この USB NIC を
2 個注文していました。
# 1 個 2,000 円以下でした。

本日届いたので、さっそく試してみました。

USB に差した段階では以下のように未認識状態となっています。

image

右クリックして [ドライバー ソフトウェアの更新] を選択し、ダウンロードしたドライバを指定します。

image

image

無事に認識完了です。
image?

IP の割り当てもでき、PING の疎通確認も正常に完了しています。
ノート PC を Live Migration のクラスタ環境で使う時の懸念事項だった物理ネットワークカードに関してはこれで解決できそうです。

Written by Masayuki.Ozawa

2月 8th, 2010 at 2:59 pm

Posted in Windows Server

Live Migration 環境の勉強 – クラスタ環境で仮想マシンを配置できるディスク –

leave a comment

以前にも Live Migration を試したことはあるのですが、他の検証にもサーバーを使っていたため環境をそのままに
しておくことができず、構築して Live Migration による移行を試したらすぐに壊してしまっていました。

ノート PC 2 台でクラスタを組んで Live Migration を主用途としても他に検証がしたいことがあっても影響がでない暗いには
検証環境が整ってきました。

この機会に Live Migration について勉強をしていきたいと思います。

以前投稿した内容では、Hyper-V Server 2008 R2 + Windows Server 2008 R2 でクラスタを組んでいたのですが、
それは一度破棄して、Windows Server 2008 R2 × 2 でクラスタを構築しなおしました。

image?
まずは、CSV にディスクを割り当てていない状態で、SCVMM で仮想マシンを作ってみたいと思います。

仮想マシンの作成でクラスタ化しているホスト OS を選択すると評価の説明に以下のメッセージが表示されます。
image

SCVMM からクラスタ化されたサーバーに仮想マシンを作成する場合は、使用できる共有ディスクが存在していないとエラーとなり、
仮想マシンを作成することができません。

SCVMM でクラスタ環境を操作する場合は、[フェールオーバー クラスター マネージャー] からの操作のように、
高可用性の仮想マシンを作る動作になるようですね。
# フェールオーバー クラスター マネージャー から仮想マシンを作る場合は、クラスタリソースとしての仮想マシンが作成されます。

テスト用の仮想マシン等であれば共有ディスクではなく、ローカルディスクの領域を使って作成したいということもありますよね。

そのような場合は、Hyper-V 標準のツールである [Hyper-V マネージャー] を使って仮想マシンを作成します。
Hyper-V マネージャーはクラスタ化されていない (高可用性ではない) 仮想マシンを作る場合に使うツールですので、
こちらからであればローカルディスクを使用した仮想マシンを作成することが可能です。

image

SCVMM で管理できるホスト OS に対しては、Hyper-V マネージャーで簡単に接続できます。

Hypre-V マネージャーで管理されている、仮想ハードディスクや仮想マシンの既定のパスは各ホスト OS のレジストリに
格納されている内容ですので、SCVMM で管理されているパスとは異なります。
そのため、必要に応じて Hyper-V マネージャーでもパスを設定しておくと便利かと。

image

CSV の領域管理に関しては、フェールオーバー クラスター マネージャーから実行することになりますので、こちらのツールも
SCVMM にインストールしています。
# このような形で管理ツールを 3 種類、スタートメニューに固定させています。
image?

SCVMM だけですべて操作できればよいのですが、管理ツールは状況に応じて使い分ける必要がありそうですね。

Written by Masayuki.Ozawa

2月 7th, 2010 at 1:05 pm

Posted in Hyper-V

Exchange 2010 の OWA に対応した IE のバージョンについて

one comment

Exchange 2010 に OWA に XP SP3 の IE6 でアクセスするとこのような画面が表示されます。

image?
チェックボックスがグレーアウトし、IE 6 だと強制的に OWA Light になります。

Outlook 2003 +Exchange 2010 の組み合わせの場合は、Outlook の [Microsoft Office Outlook と Microsoft Exchange Server 間の
データを暗号化する] を有効にするか Exchange 2010 の EMS で [Set-RpcClientAccess] で [EncryptionRequired] を [False] にする
必要があるというのは有名な話だとは思うのですが、IE に関しては全く気にしていませんでした。
image

IE6 で開いた場合は以下の URL へのリンクが表示されています。
http://go.microsoft.com/fwlink/?LinkId=129362

そのままアクセスすると英語の情報にリダイレクトしますので、日本語の技術情報に関しては以下の URL にアクセスします。
サポートされるブラウザとオペレーティング システム

Microsoft Exchange を使用した Outlook Web Access プレミアムで使用可能なすべての機能を使用するには、Internet Explorer 7 以降のバージョンを使用する必要があります。

IE 7 以降を使わないとフルバージョンが使えないんですね。

この情報ですが、じつは英語の方が技術情報の記載が多かったりします。

To use the complete set of features available in Outlook Web App and the Web management interface, you can use the following browsers on a computer running Windows XP, Windows 2003, Windows Vista, or Linux:

  • Internet Explorer 7 and later versions.
  • Firefox 3.0.1 and later versions.
  • Chrome and later versions.

On a computer running Max OS X, you can use:

  • Safari 3.1 and later versions.
  • Firefox 3.0.1 and later versions.

If you use a Web browser that doesn’t support the full feature set, Outlook Web App will open in the light version

英語の情報だと IE 以外についても記載されています。
そういえば、複数のブラウザに対応しているのが、Exchange 2010 の OWA の機能強化でしたね。

製品サイトに対応している Outlook と IE のバージョンが載っていないかと眺めていたところ記載がありますね。
Exchange Server と Outlook のバージョン別機能比較
Outlook Web App
Outlook Web App Light > お使いになる前に

Exchange 2007 と Outlook の組み合わせに関してはこちらに記載されています。
Outlook と Exchange Server の互換性

Exchange 2010 を展開する場合には IE のバージョンアップも視野に入れる必要がありそうです。
タブブラウザになった際のユーザー教育も必要になると少し大変ですね。

Written by Masayuki.Ozawa

2月 7th, 2010 at 6:51 am

Posted in Exchange

Exchange 2010 の OWA から Exchange 2007 の OWA へリダイレクト

leave a comment

先ほど投稿した Exchange 2003 へのリダイレクトの 2007 版です。

image

現在の設定は、初期状態のままですので、 Exchange の内部 URL は [https://~] となっています。
image

ひとまずこの設定を HTTP に変えたらどうなるか試してみました。
# IIS では https はバインドしたままです。

image

2003 でエラーとなった場合と同じ動きになりました。

イベントビューアをみるとこのようなエラーが。
image?

ログの名前:???????? Application
ソース:?????????? MSExchange OWA
日付:??????????? 2010/02/07 14:06:23
イベント ID:?????? 92
タスクのカテゴリ:????? プロキシ
レベル:?????????? エラー
キーワード:???????? クラシック
ユーザー:????????? N/A
コンピューター:?????? CAS-2010-01.EXCHANGE.local
説明:
Outlook Web App は、その Outlook Web App 仮想ディレクトリの externalURL プロパティが "https" で始まらないため、Exchange 2007 クライアント アクセス サーバーへユーザー /o=EXCHANGE/ou=EXCHANGE/cn=Recipients/cn=user_2007 をリダイレクトすることができませんでした。 プロパティの値は http://cas-2007-01.exchange.local/owa です
イベント XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
? <System>
??? <Provider Name="MSExchange OWA" />
??? <EventID Qualifiers="49152">92</EventID>
??? <Level>2</Level>
??? <Task>6</Task>
??? <Keywords>0x80000000000000</Keywords>
??? <TimeCreated SystemTime="2010-02-07T05:06:23.000000000Z" />
??? <EventRecordID>1710</EventRecordID>
??? <Channel>Application</Channel>
??? <Computer>CAS-2010-01.EXCHANGE.local</Computer>
??? <Security />
? </System>
? <EventData>
??? <Data>/o=EXCHANGE/ou=EXCHANGE/cn=Recipients/cn=user_2007</Data>
??? <Data>http://cas-2007-01.exchange.local/owa</Data>
? </EventData>
</Event>

内部 URL が HTTP の場合は外部 URL を使うのでしょうか。
内部 URL が HTTPS または、内部 URL が HTTP で外部 URL が HTTPS の場合は正常にアクセスすることができます。

Exchange 2010 からのリダイレクトシナリオを実現する場合は、下位バージョンのサーバーで https が受けれる構成しないと
いけなさそうですね。

Exchange 2007 → 2010 のリダイレクトに関しては [/owa] ではなく [/exchange] を使えば実現できるのですが、
シングルサインオンではないんですよね。
# Exchange 2007 に http でアクセスした場合のリダイレクトも正常に動きました。

Exchange 2010 への以降の際にはどのサーバーにどの URL でどのプロトコル (http or https) でアクセスするかを考え、
検証しないといけないですね。

Written by Masayuki.Ozawa

2月 7th, 2010 at 5:40 am

Posted in Exchange

Exchange 2010 の OWA から Exchange 2003 の OWA へリダイレクト

leave a comment

前回の投稿で、Exchange 2010 の OWA に Exchange 2003 のユーザーでログインするとエラーとなっていました。

image

この際、Exchange 2010 のイベントビューアには以下のエラーが出力されています。
image?

ログの名前:???????? Application
ソース:?????????? MSExchange OWA
日付:??????????? 2010/02/07 12:50:26
イベント ID:?????? 90
タスクのカテゴリ:????? プロキシ
レベル:?????????? エラー
キーワード:???????? クラシック
ユーザー:????????? N/A
コンピューター:?????? CAS-2010-01.EXCHANGE.local
説明:
Outlook Web App へのサインインに失敗しました。ユーザー /o=EXCHANGE/ou=EXCHANGE/cn=Recipients/cn=user_2003 はバージョン 0.0.7638.0 のサーバーにメールボックスがあります。しかし、この要求を処理するクライアント アクセス サーバーまたは同じバージョンのフロント エンド サーバーが見つかりませんでした。

Exchange 2003 のユーザーの場合、Exchange 2010 /owa 仮想ディレクトリで Set-OwaVirtualDirectory コマンドレットの Exchange2003URL パラメーターを使用することで、Outlook Web App URL の リダイレクションを構成できます。

Exchange 2007 ユーザーの場合、Exchange 2007 Outlook Web App 仮想ディレクトリで externalURL と internalURL パラメーターを使用することで、Outlook Web App URL の リダイレクションを構成できます。
イベント XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
? <System>
??? <Provider Name="MSExchange OWA" />
??? <EventID Qualifiers="49152">90</EventID>
??? <Level>2</Level>
??? <Task>6</Task>
??? <Keywords>0x80000000000000</Keywords>
??? <TimeCreated SystemTime="2010-02-07T03:50:26.000000000Z" />
??? <EventRecordID>1699</EventRecordID>
??? <Channel>Application</Channel>
??? <Computer>CAS-2010-01.EXCHANGE.local</Computer>
??? <Security />
? </System>
? <EventData>
??? <Data>/o=EXCHANGE/ou=EXCHANGE/cn=Recipients/cn=user_2003</Data>
??? <Data>0.0.7638.0</Data>
? </EventData>
</Event>

?

メッセージにも出力されていますが、Exchange 2010 の [Set-OwaVirtualDirectory] には、[Exchange2003Url] という
オプションが追加されています。
このオプションは初期では [NULL] となっており、設定がない状態です。

そのため、Exchange 2010 では Exchange 2003 のアクセスがあった場合にリダイレクトされずエラーとなっているようです。

では、実際に設定をしてみます。
Exchange 2010 の EMS で以下のコマンドを入力します。

Set-OwaVirtualDirectory ?Identity “<サーバー名>owa (Default Web Site)” ?Exchange2003Url “<Exchange 2003 の OWA のURL>”

例)
Set-OwaVirtualDirectory ?Identity “cas-2003-01owa (Default Web Site)” ?Exchange2003Url “https://cas-2003-01.exchange.local/exchange”

そうすると経路が変更され、以下の用にリダイレクトされます。

image

ここで注意が必要になるのは [Exchange2003Url] で利用ができるのは [https://~] のみのようだということです。

コマンドで [http://~] の URL を設定することもできるのですが、その場合 Exchange 2010 → 2007 のリダイレクトで
エラーになり、Exchange 2010 のイベントビューアに以下のエラーが出力されます。
image?

ログの名前:???????? Application
ソース:?????????? MSExchange OWA
日付:??????????? 2010/02/07 12:38:22
イベント ID:?????? 91
タスクのカテゴリ:????? プロキシ
レベル:?????????? エラー
キーワード:???????? クラシック
ユーザー:????????? N/A
コンピューター:?????? CAS-2010-01.EXCHANGE.local
説明:
Exchange2003URL プロパティで指定された URL は https で始まっていないので、ユーザー /o=EXCHANGE/ou=EXCHANGE/cn=Recipients/cn=user_2003 を Exchange 2003 フロント エンド サーバーにリダイレクトできませんでした。プロパティの値は http://cas-2003-01.exchange.local/exchange です。
イベント XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
? <System>
??? <Provider Name="MSExchange OWA" />
??? <EventID Qualifiers="49152">91</EventID>
??? <Level>2</Level>
??? <Task>6</Task>
??? <Keywords>0x80000000000000</Keywords>
??? <TimeCreated SystemTime="2010-02-07T03:38:22.000000000Z" />
??? <EventRecordID>1695</EventRecordID>
??? <Channel>Application</Channel>
??? <Computer>CAS-2010-01.EXCHANGE.local</Computer>
??? <Security />
? </System>
? <EventData>
??? <Data>/o=EXCHANGE/ou=EXCHANGE/cn=Recipients/cn=user_2003</Data>
??? <Data>http://cas-2003-01.exchange.local/exchange</Data>
? </EventData>
</Event>

[https] で始まっていない URL にはリダイレクトができないようですね。

TechNet で公開されている技術情報をみても大体が [https://mail.contoso.com/owa] を [https://legacy.con
toso.com/exchange] に
リダイレクトするようなシナリオが組まれています。

社内利用を前提としている OWA を構築した場合、HTTPS のアクセス設定はしていない場合もあると思います。
その場合は、Exchange 2010 から 2003 へリダイレクトさせることができないので注意が必要です。

Exchange 2003 から Exchange 2010 のユーザーに HTTP でアクセスした場合はどうなるかも試してみました。
Exchange 2003 の場合は、HTTPS でアクセスしない場合、フォーム認証ではなく、ダイアログによる認証になります。
シングルサインオンとはいかないですが、HTTP の場合は、Exchange 2003 を経由させてアクセスをさせることにより、
共通のアクセス経路を提供することができそうですね。

image

実はこの HTTPS を使うという条件は Exchange 2010 → 2007 にリダイレクトする際にも適用されるようです。
次の投稿では Exchange 2007 で試してみたいと思います。

Written by Masayuki.Ozawa

2月 7th, 2010 at 4:26 am

Posted in Exchange

Exchange 2010 追加時の CAS リダイレクト

leave a comment

Exchange 2010 を追加した際の OWA の遷移を確認したくて、昨日以下の環境を構築していました。
Exchange 2010 で共存可能な Exchange を各バージョン 1 台用意し、クライアントを準備した環境です。

?image

?

海外だと Redirect や Proxy といった形で、[legacy.contoso.com] に転送する設定について、いくつか情報が紹介されています。
Transitioning Client Access to Exchange Server 2010
Exchange 2010: Proxy or Redirect?
Understanding Proxying and Redirection

まずは設定なしの状態で各 Exchange の OWA にアクセスした場合のリダイレクト状況を確認したいと思います。
# AD に証明書サービスをインストールし 、全サーバー HTTPS でアクセス可能にしています。
??? HTTP だけでしかアクセスできない場合は、挙動が変わってしまうんですよね…。

■Exchange Server 2003 の OWA を起点とした場合

アクセス URL : https://cas-2003-01.exchange.local/exchange

  1. Exchange 2003 にメールボックスを持つユーザーで OWA にアクセス

    ????? image?

    この場合は、Exchange 2003 の OWA でログインされます。

  2. Exchange 2007 にメールボックスを持つユーザーで OWA にアクセス

    ?image

    複数のサーバーを経由して Exchange 2007 の OWA が使用可能になります。

  3. Exchange 2010 にメールボックスを持つユーザーで OWA にアクセス
    ?image
    Exchange 2010 にリダイレクトされて、Exchange 2010 の OWA が使用可能になります。

■Exchange Server 2007 の OWA を起点とした場合

アクセス URL : https://cas-2007-01.exchange.local/owa

  1. Exchange 2003 にメールボックスを持つユーザーで OWA にアクセス

    image

    Exchange 2003 にリダイレクトされずにエラーとなります。

  2. Exchange 2007 にメールボックスを持つユーザーで OWA にアクセス

    image?

    この場合は、Exchange 2007 の OWA でログインされます。

  3. Exchange 2010 にメールボックスを持つユーザーで OWA にアクセス

    image

    Exchange 2010 にリダイレクトされずにエラーとなります。

アクセス URL : https://cas-2007-01.exchange.local/exchange

  1. Exchange 2003 にメールボックスを持つユーザーで OWA にアクセス

    image

    ダイアログによる認証を経由して、Exchange 2003 のフォーム認証にリダイレクトされます。

  2. Exchange 2007 にメールボックスを持つユーザーで OWA にアクセス

    image

    Exchange 2010 にリダイレクトしてから Exchange 2007 の OWA にアクセスがされます。
    ?

  3. Exchange 2010 にメールボックスを持つユーザーで OWA にアクセス

    image?

    ダイアログによる認証を経由して 2010 の OWA にアクセスがされます。

■Exchange Server 2010 の OWA を起点とした場合

アクセス URL : https://cas-2010-01.exchange.local/owa

  1. Exchange 2003 にメールボックスを持つユーザーで OWA にアクセス

    ?image

    この場合はリダイレクトされずエラーになります。

  2. Exchange 2007 にメールボックスを持つユーザーで OWA にアクセス

    image

    Exchange 2007 リダイレクト時に再認証は発生しないで Exchange 2007 の OWA にアクセスできます。

  3. Exchange 2010 にメールボックスを持つユーザーで OWA にアクセス

    image

    この場合は、Exchange 2010 の OWA でログインされます。

Exchange 2010 の場合、[/owa] と [/exchange] は同一ですので、投稿に結果は省略しています。
# パターンは試しましたが、[/owa] と一緒の結果でした。

■まとめ

今回アクセスした URL とユーザーのアクセス結果を表にまとめてみました。
Exchange 2003 の OWA でアクセスすると複雑な経路になりますね…。

URL

2003

2007

2010

https://cas-2003-01.exchange.local/exchange


(2003)


(2003→2007→2010→2007)


(2003→2010)

https://cas-2007-01.exchange.local/owa

×
(2007)


(2007)

×
(2007)

https://cas-2007-01.exchange.local/exchange


(2007→2010)


(2007→2010→2007)


(2007→2010)

https://cas-2010-01.exchange.local/owa

×
(2010)


(2010→2007)


(2010)

詳しい情報はまだ集められていないのですが、海外の Tech Ed で OWA のリダイレクトのセッションがあり、そのセッションでは、
Exchange 2010 の OWA を起点にして ISA でリバースプロキシをさせるというシナリオが紹介されていました。
Exchange 2010 を導入した場合は、2010 の OWA を既定にアクセスを考えるのが一般的になるのですかね??

今回、Exchange 2010 の OWA にアクセスした際に、Exchange 2003 のリダイレクトが NG となっていますが、
これに関しては Exchange 2010 で設定可能な、[Exchange2003Url] を設定することで回避ができるようになります。

これについては次の投稿で設定をまとめたいと思います。

Written by Masayuki.Ozawa

2月 7th, 2010 at 2:21 am

Posted in Exchange

Exchange 2007 の OWA で他人の予定表を参照

leave a comment

Exchange 2007 のよくあるお問い合わせに以下の記載があります。
Exchange Server 2007 サポート窓口によく寄せられるお問い合わせ

Q. OWA を使用して、別のユーザーの予定表を参照しようとしてもできません。
参照しようとしているユーザーには参照者権限を与えています。

A. OWA から他のユーザーの予定表を確認するには、ユーザーのメールボックスを開く必要があるため、
メールボックスに対してフル アクセス権を付与する必要があります。
アクセス権を付与するには、Outlook からではなく Exchange Server 上で設定します。
(例)
User02 のメールボックスに対するフル アクセス権を User01 に付与します。
Add-MailboxPermission -Identity "User02" -user User01 -AccessRight Fullaccess -InheritanceType all

注意: Information Store がアクセス権をキャッシュしているためアクセス権の設定変更後、
設定の反映に最大 2 時間程度かかる場合があります。

Exchange 2007 を触るようになったときにこの情報を見て、2007 OWA で他人の予定表を見せるのは厳しいな~と
思ったことがあります。
先日までずっとこの情報が頭にありました。

Exchange 2010 の OWA では、[共有の予定表を開く] という機能があり、OWA 上から他人の予定表を GUI 経由で開くことができます。
# Exchange 2000 / 2003 の OWA では [http://<サーバー名>/<エイリアス名>/予定表] にアクセスして他人の予定表を見ていたかと。
image

この機能について少し調べていたところ、たまたま以下の情報が目に入りました。
Outlook Web Access で別のユーザーの予定表を開く方法

どんな情報が載っているんだろうと思って目を通してみると、このような記載が。

Outlook Web Access を使用して、別のユーザーのメールボックス内の予定表フォルダを開くには、次の操作を行います。
1.以下の URL を入力します。
https:// <Outlook Web Access の URL> /owa/ <他のメールボックスの SMTP アドレス> /?cmd=contents&module=calendar

  • 少なくとも参照者アクセス権を持つユーザー ID を使用して既に Outlook Web App にログオンしている場合は、
    予定表が直ちに開きます。
  • まだ Outlook Web App にログオンしていない場合は、ログオン プロンプトが表示されます。
    少なくとも予定表への参照者アクセス権を持つユーザー ID を使用してログオンします。
  • ?

    なんと、フルアクセス権いらないんですか!!
    検証環境もあるのでさっそく試してみました。

    Exchange 2007 にメールボックスを持つユーザーのアクセス権を以下のように設定してみました。
    [user_2010] は予定表の参照権がある状態です。
    image?

    Exchange 2007 の [user_2007] の予定表を参照するための URL に [user_2010] でアクセスしてみました。

    image

    開きますね、他人の予定表が。
    いままでずっとできないものだとばかり思っていました…。
    image

    さらに情報を探していると以下のブログが見つかりました。
    How To: Open Shared Calendar in OWA

    URL に [View=Weekley] を指定することで表示を週単位に変更できるんですね。
    image
    [View=Monthly] で月単位の表示もできます。
    image

    今まで Exchange 2007 の OWA では他人の予定表は他のメールボックスを開かないといけないものだとばかり思っていました。
    image

    常に最新の情報集めるように心掛けないといけないですね。

    Written by Masayuki.Ozawa

    2月 6th, 2010 at 8:39 am

    Posted in Exchange