You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell修改XML文件内容失败的问题排查及修正方案咨询

PowerShell修改XML文件内容失败的问题排查及修正方案咨询

嗨,我来帮你梳理下脚本里的问题,看看为什么会报错:

错误原因分析

你遇到的PropertyNotFound错误,主要是因为XML节点的访问路径不完整,还有一处明显的拼写错误:

  • 访问Core下的节点时,漏掉了根节点Topology,正确的路径应该从$xmldata.Topology开始,而不是直接$xmldata.Core
  • 修改AppCredentials下的账号密码时,同样漏掉了上级节点Credentials,而且你写的$xmldata. AppCredentialsPASSWORD是拼写错误,应该是AppCredentials.PASSWORD

修正后的PowerShell脚本

# 加载XML文件
$xmldata = [XML](Get-Content C:\Config.xml)

# 修改Core节点下的SERVER1和SERVER2
$xmldata.Topology.Core.SERVER1.InnerText = 'Admin'
$xmldata.Topology.Core.SERVER2.InnerText = 'Nimda'

# 修改Credentials下AppCredentials的账号密码
$xmldata.Topology.Credentials.AppCredentials.USERNAME.InnerText = 'Account'
$xmldata.Topology.Credentials.AppCredentials.PASSWORD.InnerText = '123'

# 保存修改后的XML文件
$xmldata.Save((Resolve-Path C:\Config.xml).Path)

验证效果

运行这个修正后的脚本后,你的XML文件就会变成你期望的样子:

return (<Topology>
<Core>
<SERVER1 desc="computer name server">Admin</SERVER1>
<SERVER2 desc="computer name server">Nimda</SERVER2>
<CORE1 desc="application core"></CORE1>
<CORE2 desc="application core"></CORE2>
</Core>
<Credentials>
<AppCredentials>
<USERNAME>Account</USERNAME>
<PASSWORD>123</PASSWORD>
</AppCredentials>
<ServicesCredentials>
<SC_USERNAME></SC_USERNAME>
<SC_PASSWORD></SC_PASSWORD>
<SC_DOMAIN></SC_DOMAIN>
</ServicesCredentials>
</Credentials>
</Topology>
)

备注:内容来源于stack exchange,提问作者Mohan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:50:27