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