2013-10-29 10 views

Antwort

12

Weisen Sie Anwendungen einem anderen Pool zu, benennen Sie den umbenannten um. Weisen Sie Anwendungen wieder Ihrem Pool zu.

IIS unterstützt keine anderen Optionen

+0

Ich habe gerade diese Pflicht erledigt. Es ist nicht so schlimm und es funktioniert. –

3

Nein, gibt es nicht.

Legen Sie entweder den Namen auf oder erstellen Sie einen neuen App Pool und weisen Sie die Anwendungen einzeln zu.

Wenn Sie es auf mehreren Servern wiederholen müssen, können Sie sogar automatisieren sie mit ADSI und JavaScript oder VBScript:

0

Dies war die einfachste Art und Weise, dass ich es funktionieren könnte aus obwohl ich nicht glauben kann, dass das nicht einfacher ist.

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