Назад | Перейти на главную страницу

Как я могу изменить порядок документов IIS по умолчанию с помощью Powershell?

Как я могу убедиться default.aspx это первый документ по умолчанию для моего веб-сайта IIS?

Я пытался:

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

но если default.aspx уже в списке жалуется

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

Как я могу добавить его, если необходимо, и переместить в начало списка, если его еще нет?

Уловка состоит в том, чтобы удалить default.aspx, если он уже находится где-нибудь в списке:

$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}

Сначала мы проверяем наличие default.aspx, если он найден, удаляем его, а затем снова добавляем вверху, как вы это уже сделали.