Como posso alterar a ordem do documento padrão do IIS usando o Powershell?

7

Como posso ter certeza de que default.aspx é o primeiro documento padrão para o meu site IIS?

Eu tentei:

Add-WebConfiguration //defaultDocument/files "IIS:\sites\Default Web Site\MyWebSite" -atIndex 0 -Value @{value="Default.aspx"}

mas se default.aspx já estiver na lista, ele reclama

Add-WebConfiguration : Filename: 
Error: Cannot add duplicate collection entry of type 'add' with unique key attribute 'value' set to 'Default.aspx'

Como posso adicioná-lo, se necessário, e movê-lo para o topo da lista, se ainda não estiver lá?

    
por shamp00 13.09.2013 / 18:40

1 resposta

13

O truque é remover 'default.aspx' se já estiver em algum lugar da lista:

$filter = "system.webserver/defaultdocument/files"
$site = "IIS:\sites\Default Web Site\MyWebSite"
$file = "default.aspx"

if ((Get-WebConfiguration $filter/* "$site" | where {$_.value -eq $file}).length -eq 1)
{
   Remove-WebconfigurationProperty $filter "$site" -name collection -AtElement @{value=$file}
}

Add-WebConfiguration $filter "$site" -atIndex 0 -Value @{value=$file}

Primeiro, verificamos a existência do default.aspx, se encontrado, removê-lo e adicioná-lo novamente no início, como você já fez.

    
por 13.09.2013 / 22:26