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

PowerShell:查找自定义对象ArrayList中Jobname属性重复的对象

问题原因

你现有代码的问题出在分组逻辑嵌套错误,和ArrayList的使用无关:你用ForEach-Object遍历了每个自定义对象,又单独取出了每个对象的所有属性集合进行分组,相当于把每个自定义对象拆成了10个独立的属性对象再做匹配,自然无法按Jobname对原始自定义对象完成分组。

正确实现

按Jobname分组所有对象

直接对ArrayList的整体元素调用Group-Object,指定-Property为Jobname即可:

# 按Jobname完成分组,每个分组的Name属性为对应的Jobname值,Group属性为该Jobname下的所有原始对象
$jobGroups = $global:BackupJobObjectArray | Group-Object -Property Jobname

常用场景示例

  • 查看所有Jobname的统计信息
$jobGroups | Format-Table Name, Count -AutoSize
  • 筛选出所有存在重复的Jobname对应的对象(分组内元素数>1)
$duplicateJobs = $jobGroups | Where-Object Count -gt 1 | Select-Object -ExpandProperty Group
  • 提取指定Jobname(比如jobname16)对应的所有对象
$job16List = $jobGroups | Where-Object Name -eq 'jobname16' | Select-Object -ExpandProperty Group

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:06:03