web-dev-qa-db-ja.com

Powershellを使用してIISデフォルトのドキュメントの順序を変更するにはどうすればよいですか?

default.aspxが私のIIS Webサイトの最初のデフォルトドキュメントであることを確認するにはどうすればよいですか?

私が試してみました:

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'

必要に応じて追加し、リストにない場合はリストの一番上に移動するにはどうすればよいですか?

8
shamp00

トリックは、 '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が存在するかどうかを確認し、見つかった場合は削除してから、既に行ったように上部に追加します。

13
Peter Hahndorf