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

如何基于XML与CSV修改PowerShell结果行为,修正ComputerName节点格式错误

问题解决:PowerShell生成XML时多服务器名格式错误问题

问题说明

运行脚本基于主XML模板批量生成XML文件时,计算机名称字段输出不符合预期:

  • 预期格式:每个服务器名独占一个<ComputerName>标签
<ComputerName>Server1</ComputerName>
  • 错误输出:多个服务器名被逗号拼接后放在同一个<ComputerName>标签内
<ComputerName>Server1, server2, server3</ComputerName>

现有问题代码段

已定位问题出在唯一ServerName分组的处理逻辑中,负责拼接计算机名称的代码:

$template -replace '#computername#',"<ComputerName>$(($_.Group.ServerName) -join ',')</ComputerName>" -replace

修复方案

将上述代码替换为以下内容即可:

$template -replace '#computername#', $(($_.Group.ServerName | ForEach-Object { "<ComputerName>$_</ComputerName>" }) -join "`n") -replace

改动说明

  • 原有逻辑是把同IGPID下的所有服务器名用逗号拼接后,外层套统一的<ComputerName>标签,导致格式错误
  • 修复后逻辑:遍历同IGPID下的每一个服务器名,为每个服务器名单独生成<ComputerName>标签,标签之间用换行分隔,完全符合预期格式
  • 该修改仅作用于uniq.csv对应的处理分支,不会影响脚本前半部分dup.csv的处理逻辑

内容的提问来源于stack exchange,提问作者Vijay khurava

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 03:36:08