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

PowerShell如何筛选指定组对象并展开Name属性

PowerShell筛选指定Group的Name值

我有一个名为something的对象,内容如下:

Name                                           : name1
Group                                          : group1

Name                                           : name2
Group                                          : group2

Name                                           : name3
Group                                          : group1

我可以通过以下命令获取所有Name值:

$something | Select -ExpandProperty "Name";

该命令返回:name1 name2 name3

请问如何仅筛选出Group为group1的Name值,使其返回name1 name3?我尝试的命令如下:

$something | Select -ExpandProperty "Name" -Where [Group -eq 'group1'];

正确解法

先筛选出符合Group条件的对象,再提取对应Name属性即可,正确命令如下:

$something | Where-Object { $_.Group -eq 'group1' } | Select-Object -ExpandProperty Name

也可以使用PowerShell支持的简写形式(只要不产生歧义):

$something | Where { $_.Group -eq 'group1' } | Select -Expand Name

错误原因说明

你之前的写法有误,Select-Object(简写为Select)并没有-Where参数。Where是Where-Object的简写,它是独立的过滤命令,需要先用来筛选目标对象集合,再对筛选后的结果提取属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:51:24