【问题标题】:Trouble editing and saving and XML file using PowerShell使用 PowerShell 编辑和保存 XML 文件时遇到问题
【发布时间】:2014-09-05 23:38:45
【问题描述】:

我对 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 个字符的密码。谁能告诉我哪里出错了?谢谢!

【问题讨论】:

    标签: xml powershell


    【解决方案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 的元素或属性。

    【讨论】:

    • 非常感谢您解决了我的问题!没有属性 WebAdminPassword 这是来自我试图编辑的另一个文件。谢谢你的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2013-12-30
    • 2020-07-18
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多