How do I set the .NET Framework Version when using New-WebAppPool?

天大地大妈咪最大 提交于 2019-11-30 12:58:38

问题


I'm looking to see how I can use the IIS PowerShell Cmdlet New-WebAppPool to specify the version of the .NET Framework to use. Currently, it defaults to v2.0, however I am using MVC, and this will not work because that's a v4.0 feature. We really want each site to have its own Application Pool, and it seems we must create those pools manually due to the inability to configure them via script. Is there any way to automate this?

I'm afraid the answer is going to be "you can't," because the documentation doesn't appear to offer any parameters for setting it, and Google is turning up squat; it's giving me the impression that only setting up sites in a scripted manner is acceptable, and something about configuring Application Pools is just "not done." I can't possibly imagine why not - if you're automating one major part of the process, why can you not automate the other major part?

Anyone who might have some insight on how to do this via PowerShell would be helping me out greatly.


回答1:


With the WebAdministration module loaded try this on a pool that you've created:

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



回答2:


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       
    } 
  }
} 

You can download detail script from how to set the IIS Application Pool to specify version of the .NET Framework



来源:https://stackoverflow.com/questions/4229082/how-do-i-set-the-net-framework-version-when-using-new-webapppool

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!