2

菜鸟警报!我已经开始浏览 PowerShell 的介绍,例如在这里,并且无法很好地描述他们给出的早期示例的情况

get-service | get-member

Get-Service 返回描述正在运行的服务的对象列表。没关系。Get-Member 显示有关对象上成员的信息。没关系。但是,是什么导致从 get-service 出来的对象列表减少到 get-member 的单个对象呢?

4

1 回答 1

3

这就是 Get-Member cmdlet 的工作方式。它接受输入对象,当它是一个集合时,它显示该集合中每个不同类型的输出。否则这将是多余的信息而不是有用的输出格式,不是吗?并且因为 Get-Service 返回类型为“ServiceController”(并且仅属于该类型)的对象集合,所以您只能看到 Get-Member 的一个输出。

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

另一件事:当您想查看集合对象的成员时,您必须在集合前面加逗号。像这样:,(Get-Service) | Get-Member

于 2012-05-01T11:34:06.507 回答