次のpowershellスクリプトを使用してノード値を更新しようとしています
$XMLContents = [XML] (Get-content "C:\Test.xml")
$XPath="/Parameters/Parameter[ParameterName='pTxtRuntimeUserName']/ParameterValue"
$MachineNameInXML= Select-XML -XML $XMLContents -XPath $Xpath
$Userstring=$($MachineNameInXML.Node.'#text')
$Userstring = $Userstring.Replace("WIN2K8R25\administrator","WIN2K8R25\ABC")
$Userstring
$XMLContents.Save("C:\Test.xml")
$Userstring を表示すると、置き換えられた値「WIN2K8R25\ABC」が正しく表示されますが、xml ファイルでは更新されませんでした。古いユーザー名 "WIN2K8R25\administrator" のままです。
私の XML ファイルには多くのパラメーター ノードが含まれています。いくつかのサンプル ノードの値だけをコピーしました。
<Parameters>
<Parameter IsEncrypted="False">
<ParameterName>pTxtRuntimeUserName</ParameterName>
<ParameterValue>WIN2K8R25\administrator</ParameterValue>
</Parameter>
<Parameter IsEncrypted="False">
<ParameterName>pTxtABC</ParameterName>
<ParameterValue>XYCr</ParameterValue>
</Parameter>
</Parameters>
どこを見逃しているのかわかりません。これで何が欠けていますか?