SE の雑記

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

Archive for 3月, 2010

第2回 SQL Server & SQL Azure Bloggers Meeting に参加してきました

leave a comment

続いて後半の [第2回 SQL Server & SQL Azure Bloggers Meeting] のセミナーレポートを。
第1回は参加できなかったので今回 Bloggers Meeting 初参加です。

直近で行われた記者発表の内容をお話いただけました。
# 今後も記者発表の後に、発表いただいた内容を Bloggers Meeting を開催してお話いただけるようです。

発売日と価格体系

SQL Server Product Manager チームの斎藤さんによる発売日と価格、4 月 30 日まで実施しているキャンペーンについてのお話です。

発売日
ボリュームライセンスは 2010 年 5 月 1 日発売
→ボリュームライセンスは月初に発売されるのが通例

パッケージ製品は 2010 年 6 月発売予定

SQL Server 2008 R2 の特徴

SQL Server 2008 R2 は Azure とのシームレスな連携が可能
→ SQL Azure は R2 から派生したバージョンである。(Azure : 10.25 / R2 10.5)

エンドユーザーはオンプレミス / Azure を意識しないで利用できる。

Azure で培ったファプリックの機能をオンプレミスにも連携している。
→統合管理部分

TPC-E の Top1 は SQL Server 2008 R2。

価格
Datacenter Edition が R2 から追加されている。
→従来の Enterprise Edition の 2 倍

ライセンスモデルは従来からのライセンス形態と同一 (プロセッサライセンス , サーバー/クライアント CAL)

プロセッサライセンスは物理プロセッサ単位で課金 (コア単位ではない)
→ Oracle はコアの係数で課金。

今年の後半では 12 コアの CPU (AMD) が発売される予定のため、今後コア単位で価格を考えた場合どんどん安くなっている。

SQL Server は All in one パッケージ
→ Oracle はオプションを購入

各種キャンペーン情報

4 月 30 日までで SQL Server の購入キャンペーンが実施されている。
→ SQL Server 2008 R2 を使うことができる特典も含まれている

キャンペーンの詳細に関してはこちらになります。
Microsoft SQL Server 2008 トリプル キャンペーン!! : SQL Server 2008

■新機能のデモンストレーション

続いては SQL Server Product Manager チームの松澤さんによる PowerPivot のデモ。

難しい / 高い BI からの脱却。
使いやすく、現状使っているツールで利用可能
→ SQL Server 2008 R2 のセルフ サービス BI

自分のローカルに持っている情報、インターネット上の情報を SQL Server で持っている情報とマッチングさせて分析が可能。
情報のリアルタイム性に対応。
自分が欲しい情報をユーザー主体で作成して、複数のユーザーで情報の共有を可能とする。

PowerPivot for Excel 2010 の紹介
今まで、Excel であったピボットテーブルを強化。
インメモリ OLAP として動作する。
→ クライアントにキューブを作成する。

取り込めるデータは、SQL Server だけでなく、他社製 DB , インターネット上のデータを使用することができる。

SSRS の情報を分析対象として使用するデモ。
レポートを開いてデータフィードの出力をすることで、PowerPivot に連携することができる。

PowerPivot に取り込んだデータをピボットテーブで分析を行う。
取り込んだデータはユーザー主体で、値を加工することができる。
→ PowerPivot のデータが変更された場合、ピボットテーブルでも情報が変更されたことを認識し、情報の更新の必要性が通知される。
 ローカルのキューブに変更があったことを通知できる。

SSRS から取り込んだデータと SQL Server 上に存在しているテーブルでリレーションシップを設定することができる。
(異なるデータソースを統合して分析することが可能)
→ 取り込んだデータを使ってピボットテーブルを操作した際に、リレーションシップの必要性がある場合は通知がされる。

スライサーにより、データのフィルタリングを実施することができる。

リンクテーブルの作成を使うことで、Excel 上のデータを PowerPivot に瞬時に取り込むことができる。
→ リンクテーブルで取り込んだものもリレーションシップで使用することができる。

リンクテーブルでデータを指定した場合は、リンクテーブルとして設定したデータソースを変更すると PowerPivot も自動的に変更される。

PowerPivot から SSRS のレポートを直接取り込むことも可能。
→ SSRS の URL を指定して、取り込み対象のレポートを選択する。
SSRS のレポートを直接取り込んだ場合、サーバーのレポートが変更されたら、[最新の情報に更新] することで、更新されたレポートの内容を
PowerPivot で表示できる。

Web 上の HTML のテーブルデータをコピー & ペーストすることで、Web 上のデータを PowerPivot に取り込むことができる。

作ったデータはローカルでのみ使用するのではなく、MOSS 2010 と連携することで情報の共有化が可能となる。
→ PowerPivot.用のライブラリで公開 (PowerPivot for SharePoint を使う)
Excel サービスを使うため、クライアントに Excel が入っていなくてもブラウザ上で情報を利用することができる。

セルフサービス BI により、キューブの作成からエンドユーザーで実施することができる。

管理者用のダッシュボードを使用することで、MOSS 上の PowerPivot の利用状況を確認することができる。
→ ユーザーが任意で作ったキューブを IT 管理者側でウォッチすることができる。

SSRS の RS の新機能

データバー / インジケーター / スパークラインを使うことができる。
# スパークラインは Office 2010 で使えるようになった機能。

地図レポートを簡単に作ることができるようになった。
→ 色分析マップ / バブルマップが使える。
(バブルマップによると関西の人が納豆を食べないというのはそうでもないらしいです)

BingMap と連携することも可能となっている。

2008 R2 では Report Builder が 3.0 となっている。
→ マップウィザードにより、地図を使用したレポートも簡単に作れるようになっている。

SQL Server 2008 R2 の機能に関してはこちらから。
SQL Server 2008 R2 概要

久しぶりにどっぷり SQL Server でとても充実した一日でした~。

Written by Masayuki.Ozawa

3月 26th, 2010 at 1:04 pm

Posted in セミナー

Tech Fielders セミナー 東京 [BI を用いたログ管理(取込みから分析まで)~SQL Server 2008 R2 編] に参加してきました

leave a comment

本日は新宿で [Tech Fielders セミナー 東京 [BI を用いたログ管理(取込みから分析まで)~SQL Server 2008 R2 編]] が
開催されていたので参加してきました。
夜の部の [第2回 SQL Server & SQL Azure Bloggers Meeting] にも続けて参加。
久しぶりに SQL Server にどっぷりな一日です。

今日はそのセミナーレポートを Tech Fielders と Bloggers Meeting にわけて投稿。
まずは前半の Tech Fielders のセミナーレポートから。

■『BIを使ったログ管理(取込みからレポートまで)~SQL Server 2008 R2編』

Microsoft のエバンジェリスト 安納さんによる、SQL Server 2008 R2 を使用したログ管理のセッションです。
SSIS を使用して外部ファイルを SQL Server / SQL Azure に取り込み、PowerPivot で分析をするというシナリオになります。

■BI の 3つの柱

  • データの準備:SSIS
  • データの分析:SSAS
  • データの可視化:SSRS

データの分析には若干のコーディング力が求められるので、エンドユーザーが実施するには敷居が高い…。
→ 2008 R2 からの PowerPivot でエンドユーザーでもデータ分析が、使いやすくなる。
  エンドユーザーが慣れ親しんでいる、Excel のピボットテーブルを使用して、データの分析が可能に。
  エクセルで外部データを取り込んで、分析が行える。
  PowerPivot では、Excel の上限である 100 万行を超えることができる。(大量のデータを取り込むにはメモリは必要)

?

■環境の準備

  • Windows Server 2008 R2 + SQL Server 2008 R2 EE RC
  • Windows Server 2008 R2 + SharePoint Server 2010 RC
  • Windows 7 + Excel 2010 RC + PowerPivot
  • SQL Azure

Office? 2010 は Beta 版となるが、他については評価版で入手が可能。

注意:
OLEDB ドライバの Office 2010 用だと SSIS で使えなかったので、今回は Office 2007 用の OLEDB ドライバを使っている。
また、Office 2007 は x86 のみとなっているので、64 ビットランタイムは無効にする必要がある。

■SSIS の基本的な使い方

郵便番号データを使用した、データの取り込みのシナリオを実施。(新規 / 差分削除 / 差分追加)
# 日本郵便が提供しているデータを使用。

ポイント:
SSIS を使う場合には、変換元と変化先をつなぐ、接続マネージャーを意識する必要がある。

Excel → SQL Server

インポートおよびエクスポート ウィザードを使用して郵便番号データの Excel を取り込むデモ。
→? ウィザードで先頭行が列かどうかを指定することが可能。(他の場所でファイルが開かれていると取り込めない)

変換元として Excel、変換先として SQL Server を指定。
→? すべてのデータをコピーすることも、クエリを記述して元になるファイルの内容を絞り込むことが可能。
  Excel の場合は、取り込むシートを指定することが可能になる。
  テーブルのからむとセルのマップは自動で行われるが、新規テーブルに取り込む場合は、手動でカラムの属性を変更することも可能
  テーブルが既に存在する場合は削除するかを指定することができる。

ウィザードが終了すると SSIS のパッケージが作成されるので、作成したパッケージを実行することでデータを取り込むことができる。

CSV → SQL Server

CSV の場合は、Excel と異なり、データの区切りや、ファイルのコードページ等を指定する必要がある。
CSV もインポートおよびエクスポートウィザードで取り込みが可能。
変換元として [フラット ファイル ソース] 指定する。
→ プレビューで区切り等の設定状況を確認できる。

CSV の場合は各列の属性 (列名、列の型、文字列長) を指定する設定がある。
→ 取り込み先のテーブルの型定義に反映される。
先頭の 1000 行を使った型の推測機能があるが、データの量が多い場合は、推測されたものと実際の内容に乖離があることがあるため、
推測に頼りすぎるのは注意!!

作成されるパッケージの流れは Excel 同一。
データフロータスクが Excel と異なる。(変換元が、CSVになっている)

データフロータスクでは、エラー時のフローを指定することができる。
→ 失敗時のフローを、フラットファイル変換先に接続することで、エラーがあったものを別のテキストに出力することができる。
  [フラットファイルソースのエラー出力列] という項目にエラーとなった行が丸ごと含まれている。

ポイント:
通常、エラーが発生すると SSIS 本体にエラーが返されるので、変換元の [エラー出力] から、[エラー] を [エラーコンポーネント] ではなく
[行のリダイレクト] に設定し、外部ファイルに出力する必要がある。

変換元に指定したものは、そのまま変換タスクに列を渡すのではなく、変換元で外部列 → 出力列 という流れでデータが渡される。
# 変換元のフローの場合は右クリックして、[詳細エディターの表示] を開き、[入力プロパティと出力プロパティ] を表示することで確認ができる。

差分データの削除

差分の削除データを受け取った場合の削除処理の実装方法。

OLE DB コマンドを使用して差分データの削除を指定できる。
→ パラメータ化された SQL 文を指定する。
[詳細エディターの] 列マッピングを使用して、OLE DB コマンドで指定したパラメータ (? で指定) と入力列を対応付けする。
先頭のパラメータから、[Param_x] で連番 (0からの数字) となるので、入力のどの項目とパラメータが対応数r化をマッピングさせ、既存の列を削除することができる。

処理の自動化

作成したプロジェクトを [ビルド] して dtsx ファイルを作成し、SQL Server Agent に [SQL Server Integration Services パッケージ] を
実行するステップを含むジョブとして登録する。

ビルド:BIDS (BI Development Studio)
ジョブの登録 : SSMS (SQL Server Management Studio)

パッケージはファイルシステムとしてローカルに保存した [dtsx] ファイルを指定することが可能。
# パッケージをビルドするとローカルの bin フォルダに dtsx ファイルが保存されるのでそちらを使用。

ポイント:
デフォルトでは、[SQL Server Agent] のサービスは停止しているので、自動起動にする。

CSVl → SQL Azure

SQL Azure のサーバー名を指定することで、SSMS で直接接続することができる。

SQL Azure を使用する場合、認証は [SQL Server 認証] しか、現状使うことができない。
# 接続時された後にオブジェクト エクスプローラーで表示されるアイコンはオンプレミスと SQL Azure で異なる。

SSMS だけでなく、BIDS でも接続することが可能。

CSV ファイルの変換先を SQL Azure に指定して、直接 SQL Azure に投入するデモ。

SQL Azure の文字列データは [Unicode] を使用する。
SQL Azure にテーブルを作成する場合は、 [ID] 列が必ず必要となる。

■SSIS によるイベントログの取り込み

イベントログ → SQL Server

イベントログの再利用。
SQL Server にイベントログを格納することで検索時の利便性向上。

WMI を使用してイベントログの情報を取得し、SQL Server に格納する仕組みを SSIS で構築。
TimeWritten の項目を使用して前回取り込み以降の情報を制御する。
# TimeWritten : イベントが書き込まれた日時

テーブルは、イベントログの種類 (Application / System / Security) に分けている。
各テーブル内には、複数のサーバーの情報が格納される。
イベントログを取得する対象のサーバーはソースリスト用のテーブルに格納している。

コンピュータのリストを取得して、[Foreach ループ コンテナ] で取得したコンピュータリストに対して繰り返し処理を実行する。

  1. SQL 実行タスクでコンピュータリストのテーブルから、全レコードを取得
    結果の取得方法に関しては、[結果セット] で指定する。
    今回は [完全な結果セット] を [User::ComputerList] に格納する。(コンピュータ名とイベントログの名前)
  2. 取得した [User::ComputerList] を Foreach ループコンテナで使用する。
    [ADO オブジェクト ソース変数] に [User::ComputerList] を指定している。
    # Foreach ADO 列挙子

    取得した項目を、[変数のマッピング] で 変数に設定する。
    [User::tmmpComputerName] [user::tmpLogfileName] という変数に取得した値を格納している。
    # ADO 列挙子で取得した値は、インデックス番号 0 から始まる。

    Foreach ループコンテナで [ループの各繰り返しの開始点で停止します] のブレークポイントを指定すると、
    ループで使用されている値がわかりやすい。

  3. テーブル名の動的生成
    コンピュータリストに格納されている、イベントログの名前を使用してテーブルを動的に作成する。
    # 特定のコンピュータにしか指定していない、イベントログが存在する可能性もある。
     そのため、取得したレコードを元に、対象のイベントログの名前のテーブルが存在しているかを確認し、
      存在していない場合は、テーブルの新規作成が必要となる。

    Expression を使用することで、動的に SQL を生成し、実行することができる。

    今回は Expression を使用して、[SqlStatementSource] という、実行する SQL を指定するプロパティの値を動的に生成して、
    実行する SQL を柔軟に設定することを可能にしている。

  4. 取り込み範囲のチェック
    現在処理をしている、コンピュータ 名/ 対象のログの種別から、[TimeWritten] の最大値を取得。

    処理しているコンピュータ名 / ログの種別によって動的に SQL を生成する必要があるためこちらも Expressioin を使用。

    取得した、値を、[User::MaxTimeWritten] に設定する。

  5. イベントログの取得
    [WMI データ リーダー タスク] を使用して、WMI でイベントログのデータを取得。

    今までの SQL 実行と同様、実行する WQL (WMI で実行するクエリ) 波動的に変更される。
    WQL を直接書いてしまうと、特定のサーバーの情報しか取得ができない。

    そのため、[WqlQuerySource] には、WQL を直接記載するのではなく、変数 (今回は [User::WQL]) を指定している。
    Expression を使用して動的に SQL を生成している変数を作成して、実行するクエリとして指定している。

    ポイント:
    範囲指定で使用する、[User::MaxTimeWritten] は日付型なので、文字列にキャストする必要がある。
    取得した結果は [User::EventData] に格納しているが、値の型を [Object] にし、どのような戻り値であっても対応可能とする。
    データ型は画面左の [変数] で確認ができる。
    キャストについては式ビルダで確認することが可能。

  6. 取得したイベントログを繰り返し処理
    Foreach ループコンテナーで取得したイベントログを ADO 列挙子として、指定して繰り返し処理を実行
    変数のマッピングで、取得した ADO 列挙子の内容を、変数に格納
  7. INSERT 文の生成
    イベントログの内容は、改行やシングルクォートが入っている可能性があるため、をのまま INSERT をするとエラーとなる可能性がある。
    # 形式エラーの可能性も (日付型に対しての NULL 値 等)

    そのため、スクリプトタスクで SQL を成形して、SSIS の変数として格納

  8. SQL の実行
    生成した INSERT 文を実行する。
    実行する SQL としてスクリプトタスクで生成した変数を指定する。

■PowerPivot を使用した分析

SQL Server 2008 までは SSAS を使用していたが、R2 では PowerPivot を使用して分析を行うというシナリオになる。
→ 今までと同様、BIDS SSAS そのまま使用することもできるが PowerPivot によって、エンドユーザーにより使いやすくなっている。

今までの、BI は BIDS を使用して準備をしないと使えなかったためファーストステップが難しかった。

IW (インフォメーションワーカー層) が使用できる、セルフサービス BI を SQL Server 2008 R2 で実現。

PowerPivot には以下の 2 種類がある。

  1. PowerPivot for Excel 2010
    Excel の上限を超えた件数のデータに対応
    インメモリエンジン
    ローカル PC のリソースを使用
    PowerPivot のアドインをインストールする必要がある
  2. PowerPivot for SharePoint 2010
    SharePoint の Excel サービスを使用
    for Excel 2010 では自分が使用する機能であり、多数のユーザーに公開ができない
    → for SharePoint ではポータル経由で複数のユーザーに公開ができる。
    ブラウザを介してアクセスするため、サーバーのリソースを使用

PowerPivot を使用することで、SSAS を介さずにデータの分析が可能となる。

ポイント :
PowerPivot はエンドユーザーが SQL Server に直接接続をするため、SQL Server で適切な権限を設定する必要がある。

PowerPivot の利用手順

  1. 計画
    何を分析するのかを明確にする必要がある。
    分析対象が決まらないとキューブを作成することができない。

    何を基準に分析をするか (分析軸) を決めることも重要

  2. 分析軸用のテーブルを準備
    分析対象のデータを何を基準に分析するか。
    分析の基準となる分析軸用のテーブルを作成する。
    → 時間軸 / ログタイプ (情報 / 警告 / エラー / 重大)? / コンピューター名

    分析軸用テーブルは SQL Server 上のテーブルではなく、EXCEL のシートで用意しておけばよい。

    時間軸のテーブルは Excel の [フィル] の [連続データの作成] の [データ予測] を使用すると簡単に作れる。
    → ドラッグして作るのはオートフィル

  3. Excel 2010 から PowerPivot を起動
    PowerPivot のアドインをインストールするとリボンに PowerPivot が追加されている。
    リボンから、PowerPivot for Excel を起動することが可能となる。
  4. 分析に使用するテーブルを読み込み
    デフォルトで他データベースや SQL Azure を選択することも可能。
    → SSRS や ATOM フィードからインポートすることも可能。

    SSIS 同様、クエリによるデータの絞り込みも可能。

    分析に使用するベースとなるデータと分析軸として使用するデータの取り込みを行う。

  5. 計算列の追加
    分析に使用する項目が既存の列を使用して計算をする必要がある場合は列を追加する。

    データと分析軸でリレーションが設定できるように、値の粒度 (精度) を同じにする。
    → 分析軸のデータを分析で使用する粒度に分割することもポイント。

  6. リレーションシップの作成
    [デザイン] の [リレーションシップの作成] からリレーションシップを作成することができる。
  7. ピボットテーブルで分析
    PowerPivot からピボットテーブルを作成し、データの分析を行う。

    スライサーにより、分析対象の選択がしやすくなる。
    → ドラッグアンドドロップでフィルタができる UI を表示することができる。

    ここまでが PowerPivot for Excel で操作する内容。

  8. PowerPivot for SharePoint による分析データの公開
    SharePoint の PowerPivot ライブラリに公開することができる。
    # Excel サービス + PowerPivot サービスをサーバー側で使っている。

    PowerPivot で指定したスライサーも利用することができる。

    アクセス権の制御は SharePoint 上で行う事ができる。
    → MOSS のアクセス許可で設定できる。

    プレビューは Excel のシートを元に表示されるため、空のシートがある場合は削除しておくと見栄えが良い。
    → プレビューには SilverLight が使われている。

?

■ライトニングトーク

最後は、Tech Fielders 恒例のライトニングトークになります。

今回は SQL Server と Oracle の資格体系の比較と TMG についてのライトニングトークでした。
まさか LT で TMG が来るとは思っていませんでした。

SQL Server と Oracle の資格体系の比較では、Oracle の Bronze / Silver / Gold / Platium と比べると、
SQL Server の MCITP は上長のうけと学習の内容の差について。

Oracle Bronze では SQL が範囲にあり、クエリの勉強が必須となりますが MCITP ではあまり構文に触れないと言った
話は確かにそうだな~と思いました。
SQL Server だと構文は MCP ではなく MCA の別体系の資格になってしまうんですよね…。
Oracle の方が一つの資格体系でクエリも含めた基礎から通して勉強できるので話にあったように新入社員の方にも
勧めやすい資格だと思います。

TMG については TMG でこのようなことができますという機能紹介が。
若い方がセキュリティ製品について話をされていたことにまず驚きでした。
バーチャルパッチやウイルス検知、メール保護、SSL検査等の TMG が持っているセキュリティ機能について LT をされていました。
TMG はバーチャライゼーションサミットでも話があったので興味がある方は多かったのではないでしょうか。

?

前半の Tech Fielders に関してはこの辺で。
続いては Bloggers Meeting の内容を。

Written by Masayuki.Ozawa

3月 26th, 2010 at 12:50 pm

Posted in セミナー

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

        TMG 2010 で RD Web アクセスを公開

        2 comments

        先週の頭まで、MCP 70-659 の勉強で検証環境に VDI や RemoteApp を構築していました。
        VDI と RemoteApp は RD (リモートデスクトップ) Web アクセスで公開することができます。

        私の使っている検証環境には TMG 2010 があるので、リバースプロキシ越しで使うことができるのかな?
        と思って RD Web アクセス用のルールを作って試してみました。

        ?

        ■TMG 2010 のファイアウォールポリシー

        リバースプロキシはファイアウォールポリシーで設定をすることになります。
        パスの変換ルールとして [RDWeb] を許可するルールを作る必要があります。

        設定については以下の画像の用になります。
        [/RDWeb/*] のパスに対してのアクセスを許可しています。
        image?

        ブリッジに関しては [HTTPS to HTTPS] (TMG が 443 で受けて RD Web アクセスの 443 に接続) で設定しているのですが、
        これは [HTTPS to HTTP] (TMG が 443で受けて RD Web アクセスの 80 に接続) でもよいかもしれないですね。
        image?

        ざっくりとした概要図を書くと以下のようになります。
        # 正確には RD 接続ブローカーや、RD ゲートウェイも入っていたりするのですが。

        image?

        クライアントからは、TMG 2010 に HTTPS でアクセスできれば RD Web アクセスを経由して、VDI や RemoteAppを
        使用することができるようになります。

        image?

        image

        VDI / RemoteApp は RD ゲートウェイを設定することができ、[接続承認ポリシー] [リソース承認ポリシー] と
        組み合わせることもできます。
        image  image image  image

        TMG と RD ゲートウェイが組み合わされるため、構築していて認証される個所がよくわからなくなってきましたが…。
        設定がきちんとされていれば、TMG 2010 越しで VDI と RemoteAppを使用することができるようになります。

        Windows 7 の [RemoteApp とデスクトップ接続] も TMG 2010 越しで使用することができます。
        image?
        image  image
        image

        リスナーの認証設定によっては、[認証の委任] を [委任できません。クライアントは直接認証できます] に
        設定しないとうまく動作しないことがあるかも知れません。
        # クライアントは直接認証できないのが望ましいんでしょうけど。私の環境はリスナーの認証設定をきちんと整備していないので
         直接認証できないと接続ができないことがしばしばあります。
        image?

        HTTPS を公開することでいろいろなサービスが享受できるようになりますね。

        Written by Masayuki.Ozawa

        3月 22nd, 2010 at 2:33 pm

        Posted in ISA

        SCDPM 2010 RC の保護エージェントをアンインストール

        leave a comment

        今回は保護エージェントのアンインストール編です。

        インストールと同様、アンインストールも以下の 2 種類の方法があります。

      • 手動アンインストール
      • 管理コンソールからアンインストール

        それぞれの方法を見ていきたいと思います。

        ■手動アンインストール

        1. 保護対象のコンピューターから保護エージェントをアンインストール
          1. 保護対象のコンピューターのコントロールパネルから、[プログラムのアンインストール] をクリックします。
            image
            ?
          2. [Microsoft System Center DPM Protection Agent] と [Microsoft System Center DPM 2010 エージェント コーディネーター]
            をアンインストールします。
            image
        2. 管理コンソールからコンピューターを削除
          1. [DPM 2010 管理者コンソール] を実行します。
            image
          2. 手動で保護エージェントをアンインストールしたコンピューターを右クリックして、[アンインストール] をクリックします。
            image
          3. [エージェントのアンインストール] をクリックします。
            image
          4. エージェントをアンインストールしたコンピュータの管理者権限のアカウント情報を入力して、[OK] をクリックします。
            image
          5. 保護エージェントのアンインストールが実行されます。
            image

            既に保護エージェントがアンストールされているのでこの操作は失敗します。
            image

          6. [詳細] に表示されている、[コンピューターのレコードをこの DPM コンピューターから削除する] をクリックします。
            image?

        以上で、保護エージェントの手動アンインストールは完了です。
        image?

      • ■管理コンソールからアンインストール

        保護エージェントは管理コンソールをトリガーとしてアンインストールすることも可能です。
        # 手動でアンインストールした時に管理コンソール側で実行している操作だけでアンインストールすることもできます。

        インストールの時と同様、保護エージェントをインストールしたコンピューターで High-Port のポリシーが許可されていないと
        エラーとなってしまうようです。
        # インストール / アンインストールともにネットワークモニターでは、保護エージェントがインストールされている
          コンピューターの 40000 番台のポートが使用されているようなので、[1024 ~ 65535] でなく、[49152 ~ 65535] の
          許可だけでもインストール / アンインストールができるかもしれないですね。

        image

        1. [DPM 2010 管理者コンソール] を実行します。
          image?
        2. 保護エージェントをアンインストールしたいコンピューターを右クリックして、[アンインストール] をクリックします。
          image
        3. [エージェントのアンインストール] をクリックします。
          image
        4. エージェントをアンインストールするコンピュータの管理者権限のアカウント情報を入力して、[OK] をクリックします。
          image
        5. エージェントのアンインストールが実行されます。
          image image

        エージェントのアンインストールが完了します。
        image

        ?

        手動 / 管理コンソールからのアンインストールともに、保護エージェントをインストールしていたコンピューターの
        [DPMRA_DCOM_135] のファイアウォールのルールは削除されないので、必要に応じて手動で削除します。
        image

        インストール / アンインストールともに管理コンソールで操作する場合は、ファイアウォールの設定がポイントになるようですね。
        さて、これから DPM の操作方法を覚えていかなくては。

        Written by Masayuki.Ozawa

        3月 21st, 2010 at 2:53 pm

        Posted in System Center