通过PowerShell将<location>元素添加到applicationHost.config

时间:2016-10-31 13:25:24

标签: powershell iis

是否有人知道通过WebAdministration cmdlet将新的根级Get-WebConfigurationLocation元素添加到 applicationHost.config 文件的方法?有Add-WebConfiguration(以及&#34;删除&#34;&#34;重命名&#34; cmdlet版本),但不是&#34;添加。&#34;我使用 Add-WebConfiguration -Filter '/' -AtIndex 0 -Value @{ location = @{ site='bobDev' } } Add-WebConfiguration -Filter '/' -AtIndex 0 -Value '<location site="bobDev" />' Add-WebConfiguration -Filter '/' -AtIndex 0 -Value @{value="bobDev.html" } 尝试了许多不同的方法,但我没有取得任何成功。

我尝试过的一些事情:

Value

我知道{I}我尝试的{{1}}可能不正确,但我至少希望某些添加到我的内容中的applicationHost.config

1 个答案:

答案 0 :(得分:2)

不确定您是否解决了问题。已经好几年了。我遇到了你的帖子。我只想分享我如何解决我的问题,以便其他人可以根据需要使用它。

此链接有很多帮助:Generate Script

以下行将添加新位置,并为您的位置添加参数。

Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'mysite/devtest' -filter "system.webServer/security/ipSecurity" -name "." -value @{ipAddress='10.200.0.0';subnetMask='255.255.0.0';allowed='True'}

Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -location 'mysite/devtest' -filter "system.webServer/security/ipsecurity" -Name "."  -value @{allowUnlisted="false";enableProxyMode="true";denyAction="NotFound"}

输出:

  <location path="mysite/devtest">
    <system.webServer>
      <security>
        <ipSecurity allowUnlisted="false" enableProxyMode="true" denyAction="NotFound">
          <add ipAddress="10.200.0.0" subnetMask="255.255.0.0" allowed="true" />
        </ipSecurity>
      </security>
    </system.webServer>
  </location>