2011-12-01 19 views
15

मैं एक समारोह बनाई गई IIS में एक साइट बनाने के की सीमा के बाहर था, लेकिन मैं "एक bizzare त्रुटि में चल हूँनई आइटम IIS:। साइटें SiteName - सूचकांक सरणी

URL यह मैं 'एक संदर्भ के रूप में प्रयोग किया गया है:

http://learn.iis.net/page.aspx/433/powershell-snap-in-creating-web-sites-web-applications-virtual-directories-and-application-pools/

नई मद: सूचकांक सरणी की सीमा से बाहर था

लाइन में:। 1 वर्ण: 9 + नया-मद < < < < 'आईआईएस: \ साइट्स \ साइटनाम' -फिसिकलपैथ "$ साइटपाथ" -बिंडिंग्स @ {प्रोटोकॉल = "$ प्रोटोकॉल"; बाध्यकारी जानकारी = "$ पूर्ण बाइंडिंग"} + श्रेणीइन्फो: निर्दिष्ट नहीं: (:) [नया आइटम], इंडेक्सऑटऑफेंजेंज अपवाद + FullyQualifiedErrorId: System.IndexOutOfRangeException, Microsoft.PowerShell.Commands.NewItemCommand

यहाँ फ़ंक्शन को कॉल कोड ब्लॉक है:

function Create-FullSite($site, $framework, $userName, $password, $protocol, $port, $enabledProtocols) 
      { 
       #Write-Host "Prompting for path to " 
       $sitePath = Select-Folder 

       #Write-Host $sitePath 

       #Write-Host "Setting up app pool for " 
       $csServicePool = New-Item -Path iis:\AppPools\$site 

       #Write-Host "Configuring app pool" 
       Set-ItemProperty -Path IIS:\AppPools\$site -name managedRuntimeVersion -value $framework 
       $csServicePool.processModel.username = $userName 
       $csServicePool.processModel.password = $password 
       $csServicePool.processModel.identityType = 3 
       $csServicePool | set-item 

       #Write-Host "Creating IIS Site " 

       $fullBindings = ':'+$port.ToString()+':' 
       Write-Host $fullBindings 

       Write-Host $site  
       Write-Host $sitePath 
       Write-Host $protocol 

       New-Item IIS:\Sites\$site -physicalPath "$sitePath" -bindings @{protocol="$protocol";bindingInformation="$fullBindings"} 

       #Write-Host "Assigning App pool to " 



       Set-ItemProperty -Path IIS:\Sites\$site -name ApplicationPool -value $site 

       #Write-Host "setting applicationDefaults.enabledProtocols: " 
       Set-ItemProperty -Path IIS:\Sites\$site -name applicationDefaults.enabledProtocols -value "$enabledProtocols" 

       return $sitePath 
      } 

    $ServicesSiteName = 'MyNewSite' 
      $ServicesPort = '80' 
      $ServiceBindings = 'http' 

      $csWebServiceUserName = 'domain\someUser' 
      $csWebServicePassword = 'AReallyComplexPassword' 

      $v2Framework = 'v2.0' 
      $v4Framework = 'v4.0' 

      Create-FullSite $ServicesSiteName $v2Framework $csWebServiceUserName $csWebServicePassword $ServiceBindings $ServicesPort $ServiceBindings 
+1

यह पता चला है, तो आप सभी वेबसाइटों और IIS में अनुप्रयोग पूल हटाने के लिए, "श्रेणी के सूचकांक आउट" अपवाद हमेशा फेंक दिया है। मुझे लगता है कि यह एक साइट आईडी उत्पन्न करने की कोशिश कर रहा है और सूची में अगला वाला नहीं ढूंढ सकता है। यह लेख मुझे इस मुद्दे को हल में मदद की। http://forums.iis.net/t/1159761.aspx –

+4

आप एक वास्तविक जवाब में उस टिप्पणी छड़ी चाहिए यह आसान अन्य लोगों को खोजने के लिए बनाने के लिए। – zdan

उत्तर

26

यह पता चला है, तो आप आईआईएस, "सूचकांक बाहर की सभी वेबसाइटों को हटाना रेंज का "अपवाद हमेशा फेंक दिया जाता है। मुझे लगता है कि यह साइट आईडी उत्पन्न करने की कोशिश कर रहा है और सूची में अगला वाला नहीं ढूंढ सकता है। इस आलेख ने मुझे इस मुद्दे को हल करने में मदद की। http://forums.iis.net/t/1159761.aspx

+0

यह काम करता है! धन्यवाद – 6opuc

संबंधित मुद्दे