PowerShell Provider for IIS 7.0 (x86) – CTP2 でアプリケーションプールを作るとエラーになる

 

ネタ元1:アプリケーションプールを作成する方法 (IIS WMI) (元MS社員 の だどさんのサイト)

ネタ元2:New-WebSite error (iis.net)

ネタ元3: PowerShell Provider for IIS 7.0 (x86) – CTP2 (iis.net)

 

元MS社員のだどさん が IIS用のWMI + VBScript を使ったWebサイト記事を更新したそうなのですが、

全部これPowerShellでできるんじゃないかと 思い、

iis.net のサイトから、PowerShell Provider for IIS 7.0 (x86) – CTP2 を入手し、

New-AppPool コマンドレットやWmiClassを使って試しにアプリケーションプールを作ってみました。

しかし、どうも動きがおかしいようです。

 

■VBScriptでIIS7のアプリケーションプールを作成する場合(だどさんのWebサイトで公開中)

Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")
Set oAppPool = oWebAdmin.Get("ApplicationPool")
oAppPool.Create("NewAppPool1")

 

■PowerShell Provider for IIS 7.0 (x86) – CTP2 を使って、New-AppPoolコマンドレットを使った場合

PS IIS:\> New-AppPool -Name NewApplicationPool1
 
Name                     State        Applications
----                     -----        ------------
NewApplicationPool1
 
New-AppPool : オブジェクト識別子が有効なオブジェクトを表現していません。 
(HRESULT からの例外: 0x800710D8)
発生場所 行:1 文字:12
+ New-AppPool  <<<< -Name NewApplicationPool1

 

ただし、New-AppPoolでエラーになるもののアプリケーションプール自体はIISで作られている

 

■PowerShell Provider for IIS 7.0 (x86) – CTP2 とWMIを使ってアプリケーションプールを作成した場合

$pool = ([WmiClass]"\\.\root\MicrosoftIISV2:IIsApplicationPoolSetting").CreateInstance()
$pool.Name = "W3SVC/AppPools/NewApplicationPool1"
$options = New-Object System.Management.PutOptions
$options.Type = [System.Management.PutType]::CreateOnly
$pool.Put($options)
 
"1" 個の引数を指定して "Put" を呼び出し中に例外が発生しました: "null 値の式では
メソッドを呼び出せません。"

発生場所 行:1 文字:10
+ $pool.Put( <<<< $options)

 

ただし、WMI版の方は、実際にアプリケーションプールがIIS上で作成されていない。

 

どうもこれはバグであるという認識はあるようで、次期バージョンのリリースではこのバグは修正される予定とのことです。

IIS7 の PowerShell対応はまだまだこれからですね。

IISのPowerShell化が進むと、Webアプリケーションでシステム組んでいる人はリリース作業が非常に楽になります。

一応、IIS7 + PowerShell に関する情報が非常に少ないので、この情報をUPしておきたいと思います。

コメント

  1. HIRO より:

    IIS + PowerShellですね。
    ほんと、こちらも情報少ないですよね。

    [quote]ただし、WMI版の方は、実際にアプリケーションプールがIIS上で作成されていない。[/quote]
    PowerShellからWmi使ってもうまくいかないんですか…
    だどさんのところでうまくいっているようなので、行けそうな気がするんですけどね。

    [quote]どうもこれはバグであるという認識はあるようで、次期バージョンのリリースではこのバグは修正される予定とのことです。 [/quote]

    情報ありがとうございます。

    また何かわかりましたらよろしくお願いいたします。

タイトルとURLをコピーしました