web.configのappSettings要素のconfigSourceを更新することで、さまざまな環境でweb.configを更新する方法を見つけようとしています。パラメータを渡してPowershellを使用してweb.configのXML要素のconfigSourceを更新します。
ここで私はそれを行う方法を知っている方法です。
$xml.get_DocumentElement().appSettings.configSource = $replaced_test
の問題は、私は私が変更と更新したいが、私はそれを行う方法を確認していないスクリプトに異なるノードに渡すことができます一つの基地スクリプトをしたいということです。例えば
、私は、これは十分に明確だった願っています。この
changeWebConfig.ps1 nodeToChange newValueofNode
のようにPowerShellスクリプトを呼び出すことができるようにしたいです。
これは私が今使っているコードです。
私が持っていた問題は、構成ノード
だった私は、私はどのように確認していない
<configuration>
に
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
このことから、それを変更しなければなりませんでしたコンフィグレーションを持つノードを見つけるイオンノードは元の状態ですが、近づいています。
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
FYIあなたがget_DocumentElement()を使用する必要はありません。ここで
ノードはいただきました!あなたが見ることができます方法です。 $ xml.SelectSingleNode( "...")は、SelectSingleNodeが$ xmlがこの場合にあるXmlDocumentでも利用可能であるため動作します。 –