通过 PowerShell 查看 IIS Web 配置:HTTP 动词

通过 PowerShell 查看 IIS Web 配置:HTTP 动词

我正在配置某些服务器上的 IIS,以将拒绝 HTTP 动词添加到请求过滤部分。这是使用以下命令完成的:

Add-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/security/requestFiltering' -Value @{VERB="OPTIONS";allowed="False"} -Name Verbs -AtIndex 0

…但是,我希望能够在配置完成后确认它的存在。以下显示了一些属性,但不是实际的 HTTP 动词列表:

Get-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter 'system.webServer/security/requestFiltering' -Name Verbs

此后我发现以下命令确实显示了“Verbs”的标题,但无论 IIS 管理控制台中是否存在“OPTIONS”,它都是空的:

Get-WebConfiguration system.webServer/security/RequestFiltering/verbs -Recurse | Select-Object Verbs

我需要添加什么来列出现有的动词?

答案1

尝试:

Get-WebConfiguration -pspath 'MACHINE/WEBROOT/APPHOST' -filter 'system.webServer/security/requestFiltering/verbs/add' | ft verb,allowed

使用完整的 Xpath 到 XML 节点。

有时查看applicationhost.config文件有助于确定数据的确切存储位置。您可以使用 Diff 工具查看在 UI 中更改某些内容后的差异。

要删除特定动词,请使用:

Remove-WebConfigurationProperty  -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.webServer/security/requestFiltering/verbs" -name "." -AtElement @{verb='OPTIONS'}

相关内容