首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Select-Object属性传递给cmdlet

将Select-Object属性传递给cmdlet
EN

Stack Overflow用户
提问于 2017-02-22 04:42:43
回答 3查看 631关注 0票数 0

我需要将属性传递给cmdlet。也就是说,我可能会使用一个调用

代码语言:javascript
复制
$SelList = "ProcessName,Handles" 

然后

代码语言:javascript
复制
get-process | select $sellist

--这是失败的。我的假设是这应该是一个字符串数组,而不是一个字符串。这是在函数调用中完成的,因此下一次调用可能会使用

代码语言:javascript
复制
$SelList = "ProcessName,Handles,ID"

传递单个值,例如$SelList = "ProcessName"似乎可以工作。我的假设是我(真的,真的)忽略了这里的一些东西。是否使用了"Select-Object“中的一个小ForEach循环?这看起来有点过头了,但(如上所述)我确信我忽略了一些东西。

EN

回答 3

Stack Overflow用户

发布于 2017-02-22 04:44:45

那么为什么不传入一个数组呢?

代码语言:javascript
复制
$filter = @('ProcessName','Handles','ID')
get-process | select $filter

此外,Get-Help Select-Object还揭示了以下内容:

代码语言:javascript
复制
Select-Object [[-Property] <Object[]>]

这意味着它接受数组

票数 4
EN

Stack Overflow用户

发布于 2017-02-22 12:01:10

只需像这样将列表值枚举到数组中,@()就不是必需的了:

代码语言:javascript
复制
$filter = 'ProcessName','Handles','ID'
get-process | select $filter
票数 0
EN

Stack Overflow用户

发布于 2017-02-22 05:48:02

答案是数组就是这样做的方法。所以$SelList =@(‘进程名’,‘句柄’) ...在我的例子中,这不能解决问题,因为传递数组仍然失败。然而,这是一个不同的问题。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42377570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档