2013-10-29 15 views
11

मेरे पास एक ऐसा एप्लिकेशन पूल है जिसमें बहुत से एप्लिकेशन असाइन किए गए हैं, यह मुझे नाम बदलने नहीं देगा।एप्लिकेशन पूल का नाम कैसे बदलें जिसका पहले से ही आवेदन किया गया है?

डिस्प्ले और नया एप्लिकेशन पूल बनाने के अलावा, क्या मेरे आवेदन पूल के लिए नया नाम प्राप्त करने के लिए वैसे भी है? मैं इसमें हर एप्लिकेशन को फिर से दर्ज नहीं करना चाहता हूं।

उत्तर

12

अन्य पूल में एप्लिकेशन असाइन करें, जिस नाम का आप नाम बदलना चाहते हैं उसका नाम बदलें। एप्लिकेशन को अपने पूल में दोबारा असाइन करें।

आईआईएस अन्य विकल्प

+0

मैंने अभी इस कोर को समाप्त कर दिया है। यह बहुत बुरा नहीं है और यह काम करता है। –

3

कोई समर्थन नहीं करता है, वहाँ नहीं है।

या तो नाम के साथ रखा गया है, या एक नया ऐप पूल बनाएं और एप्लिकेशन को एक-एक करके असाइन करें।

आप कई सर्वरों पर यह दोहराने की आवश्यकता है, तो आप भी यह ADSI और जावास्क्रिप्ट या VBScript साथ स्वचालित कर सकते हैं:

0

यह सबसे आसान तरीका है कि मैं इस पर काम कर सकता था , हालांकि मुझे विश्वास नहीं है कि यह आसान नहीं है।

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 
संबंधित मुद्दे