为什么appcmd.exe不允许设置ipSecurity allowUnlisted



我想用PowerShell对我网站上的/admin文件夹设置ip限制。

我知道,因为这个部分被锁定了,我必须转到applicationHost.config,除非我解锁,否则我不能在那个特定的文件夹中使用本地web.config。我还想好了如何使用appcmd.exe添加IP限制规则。

由于allowUnlisted默认为true(Allow),我还必须将其设置为false,这是我无法完成的,因为当我使用以下命令时,我得到了错误:

$location = "My Site/admin"
appcmd.exe set config $location -section:system.webServer/security/ipSecurity /allowUnlisted:false

错误(消息:无法将属性"allowUnlisted"设置为值"false"。原因:此配置节不能用于路径当节被锁定在父级别时会发生这种情况。

我还发现有appcmd锁定/解锁功能,但这些命令不允许特定的位置。除了$locations行为之外,我不想更改任何内容,而是在applicationHost.config中执行此操作。

使用GUI是完全可能的,在IIS管理器中,使用编辑功能中对我的参与者管理文件夹的IP限制,我可以将其设置为拒绝,并在applicationHost.config的末尾添加以下行(没有其他更改):

<location path="My Site/admin">
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<add ipAddress="127.0.0.1" allowed="true" />
</ipSecurity>
</security>
</system.webServer>
</location>

问题

如何使用CLI在applicationHost.config中进行此更改?

我对使用appcmd.exe不太了解。但是,如果你想使用powerShell WebAdministration模块,那么你可以使用以下模块:

$location = "My Site/Admin"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location $location -filter "system.webServer/security/ipSecurity" -name "allowUnlisted" -value "False"

添加/提交:

.appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /allowUnlisted:'false'  /commit:apphost

如果你想使用appcmd

相关内容

  • 没有找到相关文章

最新更新