0

我想使用 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 中进行此更改?

4

2 回答 2

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"
于 2019-02-11T12:48:29.720 回答
1

添加/提交:

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

如果你想使用 appcmd

于 2020-05-15T09:30:11.763 回答