通过 PowerShell 配置 IIS:禁用默认文档

通过 PowerShell 配置 IIS:禁用默认文档

我可以使用以下 PowerShell 代码查询 IIS 中的默认文档列表:

Get-WebConfigurationProperty -Filter "//defaultDocument/files/add" -PSPath 'MACHINE/WEBROOT/APPHOST' -Name "value" | select value

…但我想完全禁用默认文档功能以解决漏洞。我没有找到太多关于通过 PowerShell 禁用该功能的信息,但 MS 文档说可以运行以下命令来删除值:

remove-webconfigurationproperty /system.webServer/defaultDocument -name files -atElement @{value="foo.html"}

这真的是禁用该功能的唯一方法吗?我还没有发现任何证据表明可以像在 IIS 管理控制台中那样简单地禁用它。

答案1

要从 IIS 中删除功能,您应该使用 Dism cmdlet,具体如下:

Disable-WindowsOptionalFeature -Online -FeatureName IIS-DefaultDocument

如果您想在 IIS 内部为整个服务器禁用它,您可以使用:

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.webServer/defaultDocument" -name "enabled" -value "False"

答案2

如果您只想禁用 1 个站点,请使用以下代码:

Set-WebConfigurationProperty -filter "system.webserver/defaultdocument" -pspath "IIS:\sites\Default Web Site" -name "enabled" -Value "False"

替换Default Web Site为您要禁用的网站的名称

感谢 Peter 的原始回答

相关内容