53

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

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

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

ответ

90

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

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

Существует список изменяемых свойств здесь: http://escrow.aliexpress.com : //msdn.microsoft.com/en-us/library/aa347554 (v = VS.90) .aspx –

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

Вы можете скачать подробный сценарий из how to set the IIS Application Pool to specify version of the .NET Framework

 Смежные вопросы

  • Нет связанных вопросов^_^