Question

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.

Was it helpful?

Solution

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

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

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top