使用PowerShell编辑和保存XML文件时遇到问题

时间:2014-09-05 14:29:37

标签: xml powershell

我对PowerShell比较陌生,我在创建使用PowerShell修改和保存XML文件(web.config)的脚本时遇到了问题。 XML文件的结构如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
       <add key="Password" value="Test1234" />
  </appSettings>
</configuration>

我尝试过多种方法试图让PowerShell编辑密码值并再次保存,但非正常工作。我的最新消息是:

$webConfig = "Z:\TEMP\Web.config"
$doc = new-object System.Xml.XmlDocument
$doc.Load($webConfig)
$doc.get_DocumentElement()."appSettings".WebAdminPassword.value = "$Password"
$doc.Save($webConfig)

变量$ Password是在脚本中先前生成的随机15字符密码。任何人都可以建议我哪里出错了?谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

$xml = [xml]@'
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <appSettings>
        <add key="Password" value="Test1234" />
   </appSettings>
 </configuration>
 '@

$xml.configuration.appSettings.add | Where {$_.Key -eq 'password'} |
                                     Foreach {$_.value = 'newpassword'}
$xml.Save()

据我所见,没有名为WebAdminPassword的元素或属性。