次の方法で共有


CIM Studio を使用して IIS 7.0 WMI プロバイダーについて理解する

作成者: IIS チーム

はじめに

このドキュメントでは、WMI 名前空間を探索するためのビジュアル インターフェイスを提供するツールである WMI CIM Studio について説明します。 IIS の "WebAdministration" 名前空間を使用して、名前空間内のクラスを列挙する、クラスのプロパティとメソッドを表示する、"restriction" などの特定の単語のクラスとプロパティを検索するなど、これらすべてをスクリプトを 1 つも記述せずに行う方法について説明します。

WMI で何かを行うには、まず名前空間に接続する必要があります。 このドキュメントの最初のセクションでは、CIM Studio をダウンロードして開き、すべての名前空間を列挙し、特定の名前空間に接続する方法について説明します。

このドキュメントの 2 番目の部分では、名前空間内のクラスのプロパティとメソッドを表示してクラスを探索する方法と、プロパティが読み取り専用か読み取り/書き込みかなどのプロパティ/メソッド メタデータを確認する方法を示します。 最後に、プロパティを設定してメソッドを実行することで、オブジェクト インスタンスを取得し、それらを操作します。 WMI を画像付きで分かりやすく説明します。

開始前の準備

IIS のインストール

このドキュメントの手順を完了するには、IIS 7.0 以降をインストールする必要があります。 http://localhost を参照すると、標準の IIS "Under Construction" ページが表示される場合は、IIS がインストールされています。 IIS がインストールされていない場合、「Windows Vista への IIS のインストール」でインストール手順を参照してください。

WMI プロバイダーのインストール

[管理ツール] (または Web 管理ツール) の下にある [IIS 管理スクリプトとツール] コンポーネントを選択して、IIS WMI プロバイダーをインストールします。 Windows Vista では、これは [Windows の機能] ダイアログの [インターネット インフォメーション サービス]にあります。 Windows Server® 2008 では、これはサーバー マネージャーの Web サーバー (IIS) 役割の下にあります。

[I I S 管理スクリプトとツール] が選択された状態で展開された [管理ツール] ウィンドウのスクリーンショット。

WMI ツールのインストール (CIM Studio を含む)

開始する前に、WMI Tools スイートをインストールします。

必要な特権とユーザー アカウント制御 (UAC)

WebAdministration WMI 名前空間に接続するには、管理者である必要があります。 これは、次のユーザーとしてログインしていることを意味します。

  • Longhorn サーバーのビルトイン Administrator アカウント
  • Administrators グループのメンバーであり、ユーザー アカウント制御 (UAC) を無効にしている
  • Administrators グループのメンバーで UAC が有効になっている

1 番目または 2 番目の状況では、この記事でアクセス許可の問題が発生することはありません。

3 番目の状況では、「アクセスが拒否されました」のエラーが発生します。 これらの問題を回避するには、常にコマンド プロンプトを Administrator として開き、管理者特権でのコマンド プロンプトから CIM Studio を起動します。

Administrator としてコマンド プロンプトを開くには、[スタート][すべてのプログラム][アクセサリ] の順にクリックし、[コマンド プロンプト] を右クリックして、[管理者として実行] をクリックします。

管理者特権でのコマンド プロンプトから CIM Studio を起動するには、次のようにします。

  1. 管理者としてコマンド プロンプトを開きます。
  2. %systemdrive%\Program Files\WMI Tools\studio.htm」と入力し、Enter キーを押します

バックアップを作成する

開始する前に主要な IIS 構成ファイルをバックアップして、完了後にシステムを元の状態に復元できるようにします。

  1. コマンド プロンプトを開きます。
  2. %windir%\system32\inetsrv\appcmd add backup IIS7\_WMI\_CIMStudioLab」と入力します。

想定される出力:

BACKUP object "IIS7_WMI_CIMStudioLab" added
  • 完了したら、管理者としてコマンド プロンプトを開き、「%windir%\system32\inetsrv\appcmd restore backup IIS7\_WMI\_CIMStudioLab」と入力して、IIS を元の状態に復元します。

想定される出力:

Restored configuration  from backup "IIS7_WMI_CIMStudioLab"

1.WebAdministration 名前空間に接続する

[スタート][すべてのプログラム][WMI ツール] の順にクリックし、[WMI CIM Studio] をクリックします。

[W M I ツール] ウィンドウが展開され、[W M I C I M Studio] が選択されていることを示すスクリーンショット。

次のダイアログが表示されたら、[閉じる] をクリックします。

セキュリティ関連の条件を通知する [情報バー] ダイアログ ボックスのスクリーンショット。

黄色の情報バーが、Internet Explorer がアクティブ コンテンツをブロックしていることを示している場合は、情報バーを右クリックし、[ブロックされたコンテンツを許可...] オプションをクリックします。 その後、このファイルにアクティブ コンテンツを実行させるかどうかを確認するセキュリティ警告が表示されます。[はい] をクリックします。

Internet Explorer がアクティブなコンテンツをブロックしていることを示す黄色の情報バーのスクリーンショット。[ブロックされたコンテンツを許可] タブが選択されています。

Note

今後、このセキュリティ警告を回避するには、Internet Explorer 7 の右側にある [ツール] ドロップダウン メニューをクリックし、[インターネット オプション] を選択します。[詳細設定] タブをクリックし、[セキュリティ設定] まで下にスクロールして、[マイ コンピューターのファイルでのアクティブ コンテンツの実行を許可する] を有効にします。 OK をクリックします。

CIM Studio が開くと、以下のダイアログが表示されます。 このダイアログにより、特定の WMI 名前空間に接続できます。 下の赤で囲まれている参照ボタンをクリックします。

[名前空間に接続] ダイアログ ボックスを示すスクリーンショット。[参照] ボタンは赤で囲まれています。

参照ボタンをクリックすると、以下の名前空間参照ダイアログが表示されます。 接続ボタンをクリックします。

[コンピューター名と接続] ボタンのフィールドを示す [名前スペースの参照] ダイアログ ボックスを示すスクリーンショット。

CIM Studio により、下に示すログイン ダイアログが表示されます。 OK をクリックします。

ユーザー名とパスワードのフィールドが表示されている W M I C I M Studio ログインのスクリーンショット。

このダイアログでは、root 名前空間に接続した後、"root" の下に使用可能な名前空間のツリー ビューが表示されます。 一番下までスクロールすると、新しい IIS WMI 名前空間である "WebAdministration" があります。 WebAdministration フォルダー アイコンをダブルクリックして名前空間に接続します。

ルートで使用可能な名前空間のツリー ビューのスクリーンショット。[Web 管理フォルダー] アイコンが選択されています。

CIM Studio によってログイン ダイアログが再び表示されます。 OK をクリックします。

[ユーザー名] ボックスと [パスワード] ボックスが表示された [W M I C I M Studio ログイン] ダイアログ ボックスを示すスクリーンショット。

WebAdministration 名前空間に正常に接続すると、CIM Studio ウィンドウの左側は下のスクリーンショットのようになります。 下に示すように、名前空間の名前が "root\WebAdministration" であることを確認します。

[システム クラス] ウィンドウと [オブジェクト] ウィンドウのツリー ビューが展開された C I M Studio ウィンドウのスクリーンショット。

2.クラスを探索する

WebAdministration 名前空間のクラスの一覧は、下のスクリーンショットのようになります。 赤で囲まれたクラスは、WebAdministration プロバイダーの基底クラスです。囲まれておらず、二重のアンダースコア "__" で始まるクラスは、WebAdministration プロバイダーに特に関連しない WMI 標準クラスです。

Web 管理プロバイダーの基本クラスが赤で囲まれている Web 管理名前空間のクラスの一覧のスクリーンショット。

Object クラスの下のツリーを展開します。 ConfiguredObject クラスの下のツリーを展開します。 下に示すように、Site や Application などの使い慣れた Web サーバー オブジェクトを含むツリー ビューが表示されます。 これらのオブジェクトは、WebAdministration WMI 名前空間の中心となるものであり、ほとんどの場合、これらのオブジェクトの操作に時間を費やします。

スクリーンショットは、Object クラスのツリー ビューを示しています。構成済みのオブジェクト ノードが展開され、サイトやアプリケーションなどのサーバー オブジェクトが表示されます。

Site オブジェクトを選択します。 オブジェクトを選択すると、CIM Studio ウィンドウの右側のペインにそのオブジェクトに関する情報が表示されます。 下のスクリーンショットは、[プロパティ] タブを示しています。[プロパティ] タブには、Site のプロパティの名前、その型、および値が表示されます。 値列には、ほとんどが "<空>" の文字列が含まれています。これは、Site のインスタンスではなく、Site オブジェクトの定義を調べているためです (後でインスタンスを見ています)。 二重のアンダースコア "__" で始まるすべてのプロパティは標準 WMI クラスのプロパティであり、WMI の基本を学習している間は無視してかまいません。

[サイト] が強調表示された [サイト オブジェクト] ノードと [構成済みオブジェクト] ノードのスクリーンショット。

Site の Id プロパティが読み取り専用か、読み取り/書き込みであるかを確認するには、[Id] を右クリックし、[プロパティ修飾子] を選択します。

下のダイアログは、Id プロパティの "修飾子" を示しています。 修飾子は、プロパティに関するメタデータです。 "read" および "write" の各修飾子は、プロパティを読み取りまたは書き込みできるかどうかを表します。Id プロパティの read と write 修飾子の両方の 値が true であるため、このプロパティは読み取り/書き込みです。

読み取り修飾子と書き込み修飾子を含む [プロパティ ID の修飾子] ダイアログ ボックスのスクリーンショット。読み取り修飾子と書き込み修飾子の値は True に設定されます。

  1. [キャンセル] ボタンをクリックします。
  2. [メソッド] タブをクリックして、下に示すように Site のメソッドを表示します。

[メソッド] タブが表示されている W M I C I M Studio のスクリーンショット。

Create メソッドが受け取るパラメーターを確認するには、Create メソッドを右クリックし、[Edit Method Parameters] (メソッドのパラメーターを編集する) を選択します。 このメニュー項目は、下に示すように、Create メソッドのパラメーターの一覧を含むダイアログ ボックスを起動します。 メソッドの戻り値の型は、ダイアログの下部で指定されています。 メソッドのパラメーターを変更しないように注意してください。このダイアログは、メソッドのパラメーターを表示するためにのみ使用してください。

Create メソッドのパラメーターの一覧を含む [メソッド パラメーター] ダイアログのスクリーンショット。[戻り値] ボックスがダイアログの下部に表示されます。

[キャンセル] ボタンをクリックします。

右側のウィンドウの [プロパティ] タブをクリックして、Site のプロパティをもう一度確認します。 Bindings プロパティの型は "array of object:BindingElement" です。つまり、BindingElement オブジェクトの配列です。 次に、BindingElement クラスを見て、BindingElement に含まれるプロパティを確認します。

下の赤で囲まれている検索ボタンをクリックします。

W M I C I M Studio で赤で囲まれている検索ボタンのスクリーンショット。

検索テキスト ボックスに「BindingElement」と入力し、[Go!] (移動) ボタンをクリックします。 "検索結果:" テキスト ボックスには、BindingElement という名前のエントリが表示されます。

[クラスの検索] ダイアログ ボックスのスクリーンショット。[Binding Element]\(バインド要素\) が検索テキスト ボックスに入力されています。

検索結果の BindingElement エントリをダブルクリックして、BindingElement クラス定義に移動します。

W M I C I M Studio ペインの Binding 要素クラス定義のスクリーンショット。

3.オブジェクト インスタンスを取得する

検索を使用して、"Site" クラスをもう一度見つけます。 下の赤い丸で囲まれているインスタンスボタンをクリックすると、Site オブジェクトのすべてのインスタンスが表示されます。

[Instances Of]\(インスタンスの\) ボタンが赤で囲まれた [W M I C I M Studio] ウィンドウの上部を示すスクリーンショット。

Site オブジェクトのすべてのインスタンスは、次に示すように CIM Studio の右側のパネルに青いテキストで表示されます。 Default Web Site インスタンスをダブルクリックすると、その Site オブジェクトに関する詳細情報が表示されます。

W M I C I M Studio の [サイト] ウィンドウのスクリーンショット。Site オブジェクトのすべてのインスタンスが青色で表示されています。既定の Web サイト インスタンスは青で表示されます。

CIM Studio に Default Web Site に関する情報が表示されます。 右側のウィンドウの上部に Site の名前が表示され、[プロパティ] タブのプロパティには "<空>" ではなく実際の値が表示されます。 "LogFile" プロパティの [値] 列には、実際の値ではなく、Object というラベルが付いたボタンがあります。 この [Object] ボタンをクリックします。

ログ ファイル、オブジェクト サイト ログ ファイル、オブジェクトが赤で囲まれている [プロパティ] タブのスクリーンショット。[値] 列に [オブジェクト] ボタンが表示されます。

次に示すように、[Object] ボタンをクリックすると、LogFile オブジェクトのプロパティを示すダイアログが起動します。 これらのプロパティは、ログ記録の有効化/無効化、ログ ファイルの形式の定義、ログ ディレクトリの指定などを行います。

ログ ファイル オブジェクトのプロパティを示す [埋め込みオブジェクト] ダイアログ ボックスのスクリーンショット。

LocalTimeRollover プロパティの [値] フィールド内をクリックします。 ドロップダウンをクリックしてこの値のオプションを表示し、[true] を選択します。 このフィールドに "true" と表示されるようになりました。このプロパティが変更されたため、テキストは青で表示されます。

[埋め込み] ダイアログのスクリーンショットは、[ローカル時間のロールオーバー] プロパティの [値] フィールドを示しています。[値] 列のドロップダウンから True が選択されています。

[OK] をクリックします。 LogFile.LocalTimeRollover プロパティが変更されたため、下の赤で囲んだ [保存] ボタンが使用できるようになりました。 [保存] ボタンをクリックします。

赤で囲まれている [保存] ボタンのスクリーンショット。

構成でこの変更を確認するには、[スタート] をクリックし、[ファイル名を指定して実行] をクリックして、「notepad %windir%\system32\inetsrv\applicationHost.config」と入力します。 [編集] メニューをクリックし、[検索] を選択します。 「localTimeRollover」と入力して、新しく追加された構成を検索します。 構成は下の XML のように表示され、localTimeRollover 構成プロパティは "true" に設定されています。

<site name="Default Web Site" id="1">
   <application path="/">
      <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot" />
   </application>
   <bindings>
      <clear />
      <binding protocol="http" bindingInformation="*:80:" />
   </bindings>
   <logFile localTimeRollover="true" />
</site>

applicationHost.config ファイルを閉じます (メモ帳で変更を保存するかどうかを確認するダイアログが表示されたら、[いいえ] をクリックします)。 次に、Site のメソッドの 1 つを実行します。 [メソッド] タブをクリックし、GetState メソッドを右クリックして、[メソッドの実行] を選択します。 [実行] ボタンをクリックします。

ID 修飾子の順序でパラメーターのボックスが表示された [メソッド パラメーター] ダイアログ ボックスのスクリーンショット。赤で囲まれている戻り値は 1 または開始として設定されます。

戻り値は 1 ("Started") です。 確認するにはどうすればよいでしょうか。 閉じるをクリックします。 GetState メソッドを右クリックし、[メソッド修飾子...] を選択します。 これにより、戻り値が人間が判読できるデータにどのようにマップされるかを記述する ValueMap や Values など、GetState メソッドのメタデータが表示されます。 [Values] 行の [Array] ボタンをクリックすると、さまざまな状態が表示されます。

[状態の取得] メソッドのメタデータを示す [Qualifiers method Get State]\(修飾子メソッドの状態の取得\) ダイアログ ボックスのスクリーンショット。[値] 列で配列が強調表示されています。

まとめ

このドキュメントでは、WMI 名前空間に接続する方法、クラスを検索する方法、クラスのプロパティとメソッドを検出する方法、プロパティが読み取り/書き込みまたは読み取り専用のどちらかを判断する方法、メソッドのパラメーターを検索する方法、特定のオブジェクトのインスタンスを取得する方法、オブジェクト インスタンスのプロパティを対話的に変更する方法、埋め込みオブジェクトのプロパティを表示する方法について説明しました。