PowerShell スナップイン: IIS スナップイン名前空間の操作

発行日 : 2008 年 4 月 14 日 (作業者 : thomad(英語))
更新日 : 2009 年 3 月 9 日 (作業者 : thomad(英語))

だれもがファイル システムの構成についてよく知っています。ファイル システムは階層化された名前空間であり、ディレクトリによって構成され、そのディレクトリの中にはファイルや別のディレクトリが格納されます。PowerShell スナップインでは、この良く知られたファイル システムの構造を利用して、その他のデータ ストアを階層化された名前空間として公開できるようにします。ファイルシステムのルートは通常”C:\”であるように、IIS構成システムのルートは”IIS:\”になります。

“IIS:\”ドライブの下には ”Sites” とアプリケーションプール、短縮して ”AppPools” があります。

IIS スナップイン名前空間の構成

 以下は、IIS 7.0 PowerShell スナップインの名前空間の構造です。これらのコンテナーは削除も移動もできません。

  • IIS:\

    • Sites

      • Site Collection

        • Applications and Virtual Directories
    • AppPools

      • WorkerProcesses
    • SslBindings

注 : ワーカー プロセスが開始されている場合は、Worker Process コレクション内に PowerShell Process オブジェクトが存在します。また、Worker Process コレクションには、Request オブジェクトおよび AppDomain オブジェクトが格納されます。これによって、IIS ワーカー プロセスに対して、現在実行されている要求やアプリケーション ドメインのクエリを実行できます。

それでは、試してみましょう。

タスク 1 - IIS プロバイダー名前空間に慣れる

1.1. IIS PowerShell 管理コンソールの起動

[スタート] メニューをクリックし、[すべてのプログラム][IIS 7.0 Extensions] の順にポイントして [IIS PowerShell Management Console] をクリックします。新しい PowerShell コマンド ウィンドウのプロンプトを "IIS:\" (IIS プロバイダー名前空間のルート) に設定します。

 1.2. 名前空間の操作

**「dir」**と入力します。ルートの直下にあるディレクトリは Sites と AppPools の 2 つだけです。

PS IIS:\> dir

Name
----
Sites
AppPools 

次に、Sites ディレクトリに移動します。移動するには、次のコマンドを実行します。

PS IIS:\> cd Sites
PS IIS:\Sites> dir
Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
Default Web Site 1    Started    f:\inetpub\wwwroot             http *:80:

「cd Si」と入力して Tab キーを押すと、PowerShell の標準的な動作であるコマンド ラインの補完が行なわれます。

試してみてください。

1.2 その他の操作

次のコマンドを実行します。

PS IIS:\Sites> Get-Item 'Default Web Site' | Select-Object *

PSPath                     : IIsProviderSnapIn\WebAdministration::\\THDLAP\Sites\Default Web Site
PSParentPath               : IIsProviderSnapIn\WebAdministration::\\THDLAP\Sites
PSChildName                : Default Web Site
PSDrive                    : IIS
PSProvider                 : IIsProviderSnapIn\WebAdministration
PSIsContainer              : True
State                      : Started
name                       : Default Web Site
id                         : 1
serverAutoStart            : True
bindings                   : {binding, binding}
limits                     : Microsoft.Web.Administration.ConfigurationElement
logFile                    : Microsoft.Web.Administration.ConfigurationElement
traceFailedRequestsLogging : Microsoft.Web.Administration.ConfigurationElement
applicationDefaults        : Microsoft.Web.Administration.ConfigurationElement
virtualDirectoryDefaults   : Microsoft.Web.Administration.ConfigurationElement
applicationPool            : DefaultAppPool
enabledProtocols           : http
userName                   :
password                   :
physicalPath               : f:\inetpub\wwwroot
Attributes                 : {name, id, serverAutoStart, state}
ChildElements              : {bindings, limits, logFile, traceFailedRequestsLogging...}
ElementTagName             : site
IsLocallyStored            : True
Methods                    : {Start, Stop}
RawAttributes              : {name, id, serverAutoStart, state}
Schema                     : Microsoft.Web.Administration.ConfigurationElementSchema

CD や DIR といったおなじみの DOS コマンドではなく、初めて PowerShell コマンドレットを使用してみました。IIS 7.0 PowerShell スナップインを使用して効率的に作業するには、これらのコマンドに慣れておくとよいでしょう。

たとえば、Get-Item は、特定の場所にある項目の詳細情報を取得するコマンドです。上記の例では、"Default Web Site" の詳細情報を取得しています (タイピング作業を軽減したい場合は、「get-item D」と入力して Tab キーを押します。PowerShell によってコマンド ラインが自動的に補完されます)。Get-Item の出力をパイプ経由で Select-Object コマンドレットに送り、"Default Web Site" のすべての構成設定を表示しています。 

まとめ

このチュートリアルでは、IIS スナップイン名前空間がどのように構成されているかについて簡単に説明しました。また、IIS 名前空間を操作するための基本的なコマンドについても説明しました。