Вопрос

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

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

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

Это было полезно?

Решение

С помощью модуля WebAddministration загружается, попробуйте это на пуле, который вы создали:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top