我想使用PowerShell将IP限制设置为我网站上的/ admin文件夹。
我确实知道,因为此部分已锁定,所以我必须转到applicationHost.config,除非我解锁,否则无法在该特定文件夹中使用本地web.config。 我还弄清楚了如何使用appcmd.exe添加IP限制规则。
由于allowUnlisted默认为true(允许),我还必须将其设置为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管理器中使用“编辑”功能中我特定的admin文件夹的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中进行此更改?
答案 0 :(得分:1)
我对使用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"
答案 1 :(得分:1)
添加/提交:
.\appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /allowUnlisted:'false' /commit:apphost
如果要使用appcmd进行操作