gpt4 book ai didi

powershell - 管道究竟是做什么的?在 PowerShell 中是什么意思?

转载 作者:行者123 更新时间:2023-12-04 17:00:47 24 4
gpt4 key购买 nike

例如:

get-service | export-csv C:\services.csv

这里到底发生了什么?

最佳答案

快速回答Get-Service的输出对象成为Stop-Service的参数的输入接受管道输入。
细节
stop-service的情况下,这个参数是-InputObject ,它接受 ServiceController一个或多个对象( ServiceController[] )。自 Get-Service输出该类型的对象,您可以使用管道将其传递给 Stop-Service .如果有ServiceController的集合对象,Stop-Service将在称为流的过程中为集合中的每个项目调用一次。
当项目在管道上流式传输时,它们会在可用时立即移动。如果您想等到集合完成再传递它,您可以将输入包裹在一组括号中。
查找接受管道输入的参数
如果您曾经使用过 Get-Help要了解特定 cmdlet,您可以滚动到参数部分以查看哪个参数接受管道输入:

PS C:\> Get-Help Stop-Service -full

...

-InputObject <ServiceController[]>

Required? true
Position? 0
Accept pipeline input? true (ByValue)
Parameter set name InputObject
Aliases None
Dynamic? false

-Name <string[]>

Required? true
Position? 0
Accept pipeline input? true (ByValue, ByPropertyName)
Parameter set name Default
Aliases ServiceName
Dynamic? false
因此,通过查看该 cmdlet 的文档,我们看到您可以使用 ServiceController 对象的集合甚至服务的字符串名称作为管道上的输入。以下是使用相关 cmdlet Get-Service 的示例:
#Using a string
PS C:\Users\2.34> "MySQL" | Get-Service

Status Name DisplayName
------ ---- -----------
Running MySQL MySQL

#Using a ServiceController object
PS C:\> Get-Service "MySQL" | Get-Service

Status Name DisplayName
------ ---- -----------
Running MySQL MySQL
更多阅读
如果您对通过属性名称了解管道输入感兴趣,可以查看 TechNet 上的一篇很棒的文章 here .您可以找到 about_Pipelines文档 here .

关于powershell - 管道究竟是做什么的?在 PowerShell 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21028439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com