53

IIS PowerShellコマンドレットの使用方法を確認するNew-WebAppPoolを使用して、使用する.NET Frameworkのバージョンを指定します。現在、デフォルトはv2.0になっていますが、私はMVCを使用していますが、これはv4.0の機能なので動作しません。実際には各サイトに独自のアプリケーションプールが必要です。スクリプトを使用して設定することができないため、手動でプールを作成する必要があります。これを自動化する方法はありますか?New-WebAppPoolを使用しているときに.NET Frameworkのバージョンを設定するにはどうすればよいですか?

documentationは設定のためのパラメータを提供していないようだから、答えは「できません」と思っています。Googleはスクワットを起こしています。スクリプトによる方法でサイトを設定するだけで十分であるという印象を与えています.Application Poolsの設定については、「完了していません」ということになります。私はおそらく理由を想像することはできません - あなたはプロセスの主要な部分を自動化している場合、なぜあなたは他の主要な部分を自動化できないのですか?

PowerShellでこれを行う方法についていくつかの洞察を持っている人なら誰でも私を大きく助けてくれるでしょう。

答えて

90

WebAdministrationモジュールは、作成したプールにこれを試してみてくださいロード付:

Set-ItemProperty IIS:\AppPools\<pool_name> managedRuntimeVersion v4.0 
+23

から詳細なスクリプトをダウンロードすることができ、ここで設定可能なプロパティのリストがあります:httpは、 ://msdn.microsoft.com/en-us/library/aa347554(v = VS.90).aspx –

0
Import-Module WebAdministration 
#Get all web sites 
dir IIS:\Sites | ForEach-Object { 
    #Go to the app pools root 
    cd IIS:\AppPools\ 
    if (!(Test-Path $_.Name -pathType container)) 
    { 
    #Create the app pool and set .net framework version 
    $appPool = New-Item $_.Name 
    $appPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value $IISAppPoolDotNetVersion 
    #Go to the web sites root 
    cd IIS:\Sites\ 
    $iisApp = Get-Item $_.Name 
    $iisApp | Set-ItemProperty -Name "applicationPool" -Value $_.Name 
    } 
    else { 
    $dotNetVersion = (Get-ItemProperty $_.Name managedRuntimeVersion).Value 
    if ($dotNetVersion -ne $IISAppPoolDotNetVersion){ 
     #Get the app pool and set .net framework version 
     $appPool = Get-Item $_.Name 
     $appPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value $IISAppPoolDotNetVersion  
    } 
    } 
} 

あなたはhow to set the IIS Application Pool to specify version of the .NET Framework

関連する問題