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

如何在PowerShell中使用foreach循环将搜索结果存储到表中?

在PowerShell中借助foreach循环将搜索结果存储至表格的方法

我来给你详细拆解如何实现这个需求,以及对应的代码细节——核心思路是通过foreach遍历获取到的JAMS历史记录,为每条记录创建自定义的行对象,再将这些行汇总到一个数组(也就是我们所说的“表格”)中。

完整实现代码

# 导入JAMS模块
Import-Module <JAMS>

# 获取指定时间范围内的JAMS历史记录
$JAMSHistories = Get-JAMSHistory -Server TESTDUMMY2 -StartDate "01/20/2020" -EndDate "01/24/2020"

# 初始化空数组,用作存储表格数据的容器
$historyTable = @()

# 遍历每条JAMS历史记录
foreach($JAMSHistory in $JAMSHistories) {
    # 创建一个空的PSObject作为表格的行
    $row = New-Object -TypeName PSObject

    # 打印当前记录的最终严重性(可选,用于调试)
    Write-Host $JAMSHistory.FinalSeverity

    # 根据严重性判断,为行添加对应的属性
    if($JAMSHistory.FinalSeverity -match 'Success') {
        $row | Add-Member -NotePropertyName JobSeveritySuccess -NotePropertyValue ($JAMSHistory.FinalSeverity)
    } else {
        if ($JAMSHistory.FinalSeverity -match 'Error') {
            $row | Add-Member -NotePropertyName JobSeverityError -NotePropertyValue ($JAMSHistory.FinalSeverity)
        }
    }

    # 将当前行添加到表格容器中
    $historyTable += $row
}

# 可以直接输出表格查看结果
$historyTable

关键步骤说明

  • 导入模块与获取数据:首先导入JAMS模块,通过Get-JAMSHistory命令拉取目标服务器、指定时间范围内的历史数据,存储到$JAMSHistories变量中。
  • 初始化表格容器:用@()创建一个空数组$historyTable,PowerShell中数组可以存储多个PSObject对象,从而模拟表格的结构。
  • foreach循环处理每条记录:
    • 每次循环创建一个PSObject实例作为表格的一行,这个对象可以动态添加属性。
    • 通过-match匹配FinalSeverity的值,分别为行对象添加JobSeveritySuccess或JobSeverityError属性,并赋值为对应的严重性内容。
    • 最后将处理好的行对象添加到$historyTable数组中。
  • 查看结果:循环结束后,$historyTable就包含了所有整理后的表格数据,直接输出即可查看。

小优化提示

如果需要让表格的结构更统一(比如每条记录都包含Success和Error属性,只是对应的值为空),可以调整属性添加的逻辑,这样后续处理数据会更方便:

$row = New-Object -TypeName PSObject -Property @{
    JobSeveritySuccess = $null
    JobSeverityError = $null
}

if($JAMSHistory.FinalSeverity -match 'Success') {
    $row.JobSeveritySuccess = $JAMSHistory.FinalSeverity
} elseif ($JAMSHistory.FinalSeverity -match 'Error') {
    $row.JobSeverityError = $JAMSHistory.FinalSeverity
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 12:27:36