creé una función para crear un sitio en IIS, pero yo "m corriendo en un error de bizzareNew-Item IIS:. Sites nombreDeSitio - Índice fuera de los límites de la matriz
Aquí está la url I han estado utilizando como referencia:
New-Item: Índice fuera de los límites de la matriz
en la línea:. 1 Char: 9 + New-Item < < < < 'IIS: \ Sites \ SiteName' -physicalPath "$ sitePath" -bindings @ {protocol = "$ protocol"; bindingInformation = "$ fullBindings"} + CategoryInfo: NotSpecified: (:) [New-Item], IndexOutOfRangeException + FullyQualifiedErrorId: System.IndexOutOfRangeException, Microsoft.PowerShell.Commands.NewItemCommand
Aquí está el bloque de código que llama a la función:
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
Resulta que si elimina todos los sitios web y grupos de aplicaciones en IIS, siempre se lanza la excepción "Índice fuera de rango". Tengo la sensación de que está intentando generar una identificación del sitio y no puede encontrar la siguiente en la lista. Este artículo me ayudó a resolver el problema. http://forums.iis.net/t/1159761.aspx –
Debe incluir ese comentario en una respuesta real para que sea más fácil de encontrar para otras personas. – zdan