Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 为什么';t获取服务|获取会员多次显示会员?_Powershell - Fatal编程技术网

Powershell 为什么';t获取服务|获取会员多次显示会员?

Powershell 为什么';t获取服务|获取会员多次显示会员?,powershell,Powershell,注意!例如,我已经开始浏览PowerShell的介绍,但看不到对他们给出的早期示例的良好描述 get-service | get-member Get服务返回描述正在运行的服务的对象列表。没问题。获取成员显示有关对象上成员的信息。没问题。但是,是什么导致get服务中的对象列表减少为get member的单个对象呢?get member cmdlet就是这样工作的。它接受输入对象,当它是一个集合时,它显示该集合中每个不同类型的输出。否则,它将是冗余信息,而不是有用的输出格式,不是吗?由于Get服

注意!例如,我已经开始浏览PowerShell的介绍,但看不到对他们给出的早期示例的良好描述

get-service | get-member

Get服务返回描述正在运行的服务的对象列表。没问题。获取成员显示有关对象上成员的信息。没问题。但是,是什么导致get服务中的对象列表减少为get member的单个对象呢?

get member cmdlet就是这样工作的。它接受输入对象,当它是一个集合时,它显示该集合中每个不同类型的输出。否则,它将是冗余信息,而不是有用的输出格式,不是吗?由于Get服务返回“ServiceController”类型的对象集合(并且只返回该类型的对象),所以您只能看到Get成员的一个输出

如果源集合包含不同类型的对象,您将看到Get成员的多个输出。您可以尝试cmdlet Get-ChildItems,它为文件返回不同类型,为目录返回不同类型。因此,当您键入
getchilditem | getmember
(在您同时拥有目录和文件的目录中)时,您将看到两种类型的成员


还有一件事:当您想查看集合对象的成员时,必须在集合前面加逗号。这样:
,(获取服务)|获取会员

谢谢。get member上的基本文档似乎没有解释这一点。是的,这里肯定没有!另外,逗号用法是MSDN文档页面上最微小的东西:)这不是get成员特有的。这就是PowerShell中所有管道的工作方式。这是最初的问题:为什么Get成员不显示发送到其中的每个项目的输出(这是对输出的预期)。Get成员的行为几乎没有什么不同,因为它只考虑类型而不考虑项。我错了吗?