2013-10-29 10 views

risposta

12

Assegnare le applicazioni a un altro pool, rinominare quello che si desidera rinominato. Riassegna le applicazioni di nuovo al tuo pool.

IIS non supporta altre opzioni

+0

Ho appena finito questo lavoro. Non è male e funziona. –

0

Questo è stato il modo più semplice che ho potuto lavorare fuori , anche se non posso credere che non sia più facile.

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