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

导出至CSV:如何将$ModelInfo与$SerialNumber合并为单行输出?

问题解决方法

你的问题根源在于分别导出两个独立的PowerShell对象,$ModelInfo和$SerialNumber是两个不同的对象,Export-Csv会把它们当作两条独立的记录写入CSV,所以会出现分行甚至属性错位的情况。

要让型号和序列号出现在同一行,你需要把这两个对象的属性合并成同一个自定义对象,再一次性导出。下面是修改后的脚本:

$LocalComputer = Read-Host "Enter Local Computer Name"
$ComputerList = Import-Csv "\\$LocalComputer\c$\Scripts\Computerlist.Csv"

foreach ($Computer in $ComputerList) {
    $PingTest = Test-Connection $Computer.Name -Count 1 -Quiet

    if (-not $PingTest) {
        Write-Host $Computer.name -ForegroundColor Red
        $Computer | Select-Object name | Export-Csv "\\$LocalComputer\C$\Scripts\FailedComputer.Csv" -Append -NoTypeInformation
    }
    else {
        Write-Host $Computer.name -ForegroundColor Green
        # 重启WinRM服务(若不需要可移除,或先检查状态再执行)
        Get-Service -ComputerName $Computer.name -Name winrm | Restart-Service
        Start-Sleep -Seconds 1

        # 远程获取电脑型号和序列号,合并为单个对象
        $computerDetails = Invoke-Command -ComputerName $Computer.name -ScriptBlock {
            $systemInfo = Get-WmiObject Win32_ComputerSystem | Select-Object Caption, Model
            $biosInfo = Get-WmiObject Win32_BIOS | Select-Object SerialNumber
            # 创建自定义对象整合所有所需属性
            [PSCustomObject]@{
                ComputerName = $env:COMPUTERNAME
                Caption      = $systemInfo.Caption
                Model        = $systemInfo.Model
                SerialNumber = $biosInfo.SerialNumber
            }
        }

        # 将整合后的对象导出到CSV
        $computerDetails | Export-Csv "\\$LocalComputer\C$\Scripts\Computers.Csv" -Append -NoTypeInformation
    }
}

关键修改说明

  • 重命名源列表变量为$ComputerList,避免和循环变量$Computer重名(原脚本存在变量名冲突隐患)
  • 用一次Invoke-Command同时获取系统和BIOS信息,减少远程调用次数、提升运行效率
  • 通过[PSCustomObject]把分散的属性合并为一个对象,确保CSV中每条记录包含所有需要的字段
  • 添加-NoTypeInformation参数,避免CSV开头出现冗余的类型信息行
  • 简化if条件判断(-not $PingTest更符合PowerShell语法习惯)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:57:10