我可以使用以下 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 的原始回答