究竟是什么管道 在PowerShell中意味着什么?

 shilohqiu_144 发布于 2023-02-04 18:55

例如:

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

到底发生了什么?

1 个回答
  • 快速回答

    输出对象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文章.你可以在这里找到about_Pipelines文档.

    2023-02-04 18:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有