KB3159706的web.config更改

时间:2016-08-10 00:34:09

标签: powershell scripting web-config

我花了几个小时尝试自己编写代码,但我对编辑web.config并不了解,所有我发现的例子都不能满足我的需求。 CHANGE#1是唯一的,因为它包含典型的key = value。

我希望能够编写(PowerShell)Web.Config所需的修改,但前提是这些值尚不存在。

更改#1:

插上这个 (如果还没有,那么" true"):multipleSiteBindingsEnabled="true"

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>

更改#2:

如果尚未插入,请插入:

<endpoint address=""                        
  binding="basicHttpBinding"
  bindingConfiguration="SSL"
  contract="Microsoft.UpdateServices.Internal.IClientWebService" />
<endpoint address="secured"
  binding="basicHttpBinding"
  bindingConfiguration="SSL"
  contract="Microsoft.UpdateServices.Internal.IClientWebService" />

它介于这里:

<services>
  <service
    name="Microsoft.UpdateServices.Internal.Client"
    behaviorConfiguration="ClientWebServiceBehaviour">
    <!-- ... CODE FROM CHANGE#2 GOES HERE ... -->
  </service>
</services>

这是变更#1(不工作)的代码:

$sWSUSwebConfig = "C:\Program Files\Update Services\WebServices\ClientWebService\Web.Config"
$xFileContent = [Xml](Get-Content $sWSUSwebConfig)
$root = $xFileContent.get_DocumentElement()
foreach ($item in $root."system.serviceModel"."serviceHostingEnvironment") {
  if ($item."multipleSiteBindingsEnabled" -ine "true") {
    $activeConnection = $root.serviceHostingEnvironment
    $activeConnection.SetAttribute("multipleSiteBindingsEnabled", "true")
    #$item.add."multipleSiteBindingsEnabled" = "true"
    $iKeyFound = $true
  }
}
$xFileContent.Save("c:\temp\web.config")

修改参考:kb3159706的第3步。

0 个答案:

没有答案