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

PowerShell按hostname分组CSV重复列 拆分机器早晚状态导出

问题分析
  • 原代码存在3处逻辑错误:
    1. 遍历分组时未将$group对象传递给Select-Object,导致命令没有输入源
    2. Group-Object返回的分组对象的Values属性仅存储分组键(即hostname值),不包含组内的status数据,组内的两条记录存储在$group.Group属性中
    3. 每个hostname对应的两条记录按原CSV顺序排列,第一条为早间状态、第二条为晚间状态,直接取对应索引的元素即可
正确实现代码
Import-Csv .\machine-status.csv | Group-Object hostname | ForEach-Object {
    [PSCustomObject]@{
        hostname = $_.Name
        status_morning = $_.Group[0].status
        status_evening = $_.Group[1].status
    }
}
# 如果需要导出为新CSV,追加以下代码即可
# | Export-Csv .\machine-status-processed.csv -NoTypeInformation -Encoding UTF8
运行效果验证

运行后输出结果完全符合预期:

hostname status_morning status_evening
-------- -------------- --------------
ABC      up             down
DEF      up             up
GHI      down           up

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:48:07