如何在使用New-WebAppPool时设置.NET Framework版本?

我正在查看如何使用IIS PowerShell Cmdlet New-WebAppPool来指定要使用的.NET Framework的版本。 目前,它默认为v2.0,但是我使用的是MVC,这是行不通的,因为这是v4.0的一个特性。 我们真的希望每个站点都拥有自己的应用程序池,因为无法通过脚本来configuration它们,所以我们似乎必须手动创build这些池。 有什么办法可以自动化吗?

恐怕答案将是“你不行”,因为文档似乎没有提供任何设置参数,而Google正在蹲下; 它给我的印象是只能以脚本方式设置网站是可以接受的,关于configuration应用程序池的事情只是“没有完成”。 我不可能想象为什么不能 – 如果你将过程的一个主要部分自动化,为什么不能自动化另一个主要部分呢?

任何人都可以通过PowerShell了解如何做到这一点,这将大大帮助我。

在Webpipe理模块加载的情况下,在您创build的池上尝试:

Set-ItemProperty IIS:\AppPools\<pool_name> managedRuntimeVersion v4.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 } } } 

您可以从如何设置IIS应用程序池指定.NET Framework的版本下载详细脚本