Подтвердить что ты не робот

Как установить версию .NET Framework при использовании New-WebAppPool?

Я хочу посмотреть, как я могу использовать командлет IIS PowerShell New-WebAppPool, чтобы указать версию используемой .NET Framework. В настоящее время по умолчанию используется v2.0, однако я использую MVC, и это не сработает, потому что это функция v4.0. Мы действительно хотим, чтобы каждый сайт имел свой собственный пул приложений, и нам кажется, что мы должны создавать эти пулы вручную из-за невозможности их настройки через script. Есть ли способ автоматизировать это?

Я боюсь, что ответ будет "вы не можете", потому что документация не предлагает никаких параметров для настройки, и Google становится приземистым; это создает у меня впечатление, что только настройка сайтов по сценарию приемлема, и что-то о настройке пулов приложений просто "не сделано". Я не могу себе представить, почему нет - если вы автоматизируете одну большую часть процесса, почему вы не можете автоматизировать другую основную часть?

Любой, кто мог бы понять, как это сделать с помощью PowerShell, очень поможет мне.

4b9b3361

Ответ 1

С загруженным модулем WebAdministration попробуйте это в созданном вами пуле:

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

Вы можете загрузить деталь script из как установить пул приложений IIS для указания версии .NET Framework