Обновите configSource элемента XML в web.config с помощью Powershell, передав Параметры

Я пытаюсь найти способ обновить мой web.config для разных сред, обновив configSource для элемента appSettings в web.config.

Вот как я знаю, как это сделать.

$xml.get_DocumentElement().appSettings.configSource = $replaced_test

Проблема в том, что мне нужен один базовый сценарий, в котором я могу передать в разные узлы сценарий, который я хочу изменить и обновить, но я не уверен, как это сделать.

Например, я хочу иметь возможность вызывать скрипт powershell, как этот

changeWebConfig.ps1 nodeToChange newValueofNode

Я надеюсь, что это было достаточно ясно.

Это код, который я сейчас имею.

$webConfigPath = "C:\web.config"   

# Get the content of the config file and cast it to XML 
$xml = [xml](get-content $webConfigPath) 

#this was the trick I had been looking for  
$root = $xml.get_DocumentElement()."system.serviceModel".client.configSource  = $replace

# Save it  
$xml.Save($webConfigPath)

У меня была проблема с узлом конфигурации

Я должен был изменить это с


это к


Я не уверен, как найти узел с узлом конфигурации в немс первоначальное состояние еще, но яЯ все ближе.

function Set-ConfigAppSetting
([string]$PathToConfig=$(throw 'Configuration file is required'),
         [string]$Key = $(throw 'No Key Specified'), 
         [string]$Value = $(throw 'No Value Specified'))
{
    if (Test-Path $PathToConfig)
    {
        $x = [xml] (type $PathToConfig)
        $node = $x.SelectSingleNode("//client[@configSource]")
        $node.configSource = $Value
        $x.Save($PathToConfig)
    }
} 

set-configappsetting "c:\web.config" CurrentTaxYear ".\private$\dinnernoworders" -confirm

Ответы на вопрос(2)

Ваш ответ на вопрос