2014-09-05 219 views
0

我对PowerShell相对来说比较陌生,而且我在使用PowerShell创建脚本来修改和保存XML文件(web.config)时遇到了问题。 XML文件的结构如下:使用PowerShell编辑和保存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

试试这个:

$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。

+0

非常好谢谢你,你解决了我的问题!没有任何属性WebAdminPassword来自我正在尝试编辑的其他文件。谢谢你的帮助 – 4dogsofwar 2014-09-05 16:23:51

相关问题