我对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字符密码。任何人都可以建议我哪里出错了?谢谢!
答案 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的元素或属性。