当前位置:  开发笔记 > 编程语言 > 正文

在IIS Powershell中添加GET HEAD和POST谓词

如何解决《在IISPowershell中添加GETHEAD和POST谓词》经验,为你挑选了1个好方法。

我正在尝试使用以下命令向我的applicationhost.config文件添加三个HTTP请求过滤器:

Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/security/requestFiltering/verbs' -Value @{VERB="GET";allowed="True"} -Name collection
Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/security/requestFiltering/verbs' -Value @{VERB="HEAD";allowed="True"} -Name collection
Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/security/requestFiltering/verbs' -Value @{VERB="POST";allowed="True"} -Name collection

但是,每个后续行都会覆盖前一行,我只能添加一行.我想像这样添加所有三个:

        
            
            
            
        

我最终得到的是第一个GET被写入然后HEAD覆盖GET然后POST覆盖GET...我只想要所有三个列出.

有任何想法吗?



1> Mathias R. J..:

使用Set-WebConfigurationPropertycmdlet时,可以有效地覆盖相关配置节元素的当前值.

如果要将值附加到多值属性,则应使用Add-WebConfigurationProperty:

Add-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/security/requestFiltering' -Value @{VERB="GET";allowed="True"} -Name Verbs -AtIndex 0
Add-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/security/requestFiltering' -Value @{VERB="HEAD";allowed="True"} -Name Verbs -AtIndex 1
Add-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/security/requestFiltering' -Value @{VERB="POST";allowed="True"} -Name Verbs -AtIndex 2

如果要确保集合中存在这三个谓词,请Clear-WebConfiguration在添加之前使用:

Clear-WebConfiguration -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/security/requestFiltering/verbs' 

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有