为什么appcmd.exe不允许设置ipSecurity allowUnlisted?
Why appcmd.exe does not allow to set ipSecurity allowUnlisted?
我想使用 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
ERROR ( message:Can not set attribute "allowUnlisted" to value "false".. Reason: This configuration section cannot be used at this
path. This happens when the section is locked at a parent level.
我还发现有 appcmd lock/unlock 工具,但这些命令不允许特定位置。我不想改变任何期望我的 $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
我想使用 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
ERROR ( message:Can not set attribute "allowUnlisted" to value "false".. Reason: This configuration section cannot be used at this path. This happens when the section is locked at a parent level.
我还发现有 appcmd lock/unlock 工具,但这些命令不允许特定位置。我不想改变任何期望我的 $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