Ответ 1
Назначьте приложения в другой пул, переименуйте тот, который вы хотите переименовать. Повторно назначьте приложения обратно в ваш пул.
IIS не поддерживает другие параметры
У меня есть пул приложений, которому назначено множество приложений, он не позволит мне переименовать.
Помимо удаления и создания нового пула приложений, все равно, чтобы получить новое имя для моего пула приложений? Я не хочу идти и переназначать каждое приложение в нем.
Назначьте приложения в другой пул, переименуйте тот, который вы хотите переименовать. Повторно назначьте приложения обратно в ваш пул.
IIS не поддерживает другие параметры
Нет, нет.
Либо поставить имя, либо создать новый пул приложений, и назначать приложения один за другим.
Если вам нужно повторить его на нескольких серверах, вы можете даже автоматизировать его с помощью ADSI и JavaScript или VBScript:
Это был самый простой способ, с помощью которого я мог бы это исправить, хотя я не могу поверить, что это не так просто.
Import-Module WebAdministration
$oldName = "OldAppPool";
$newName = "NewAppPool";
if(-not (Test-Path IIS:\AppPools\TempPool)){
New-WebAppPool TempPool
}
$tempAppPool = Get-Item IIS:\AppPools\TempPool
foreach($site in Get-ChildItem IIS:\Sites){
$apps = $site | Get-ChildItem | Where-Object { $_.ApplicationPool -eq $oldName }
foreach($app in $apps){
$path = ("IIS:\Sites\{0}\{1}" -f $site.name, $app.name)
$path
Set-ItemProperty $path applicationPool TempPool
}
}
Set-ItemProperty "IIS:\AppPools\$oldName" -Name name -Value $newName
foreach($site in Get-ChildItem IIS:\Sites){
$apps = $site | Get-ChildItem | Where-Object { $_.ApplicationPool -eq "TempPool" }
foreach($app in $apps){
$path = ("IIS:\Sites\{0}\{1}" -f $site.name, $app.name)
$path
Set-ItemProperty $path applicationPool $newName
}
}
Remove-WebAppPool TempPool