我想使用 PowerShell 为我网站上的 /admin 文件夹设置 ip 限制。
我明白,因为这部分是锁定的,所以我必须去 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 管理器中使用编辑功能中我的特定管理文件夹上的 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 中进行此更改?