powershell 语法解析

  1. 首先,通过powershell的帮助系统,我们可以查看一个cmdlet的语法。比如:Get-Help Get-Service,输出:在这里插入图片描述
    这里的红框内部分是我们今天的主角:cmdlet语法。我们要学习怎么读懂这个语法:

    Get-Service [[-Name] <String[]>] [-ComputerName <String[]>] [-DependentServices] [-Exclude <String[]>] [-Include <String[]>] [-RequiredServices] [<CommonParameters>]
    
  2. 概念

    1. cmdlet:powershell引入的概念,读音为command-let,每个cmdlet就是一条有用的命令,你也可以通过管道将多个cmdlet组合成更复杂的命令。在示例中cmdlet为Get-Service,它可以用来获取本地或远程计算机的服务列表。
    2. -:破折号后面跟的是参数名。比如 -Name代表参数名为Name。
    3. <>:尖括号括起来的是实参。比如<String[]>代表实参可以是字符串数组,如果传入多个参数,使用逗号分隔开。
    4. []:中括号括起来的代表是可选参数。比如[[-Name] <String[]>] [-ComputerName <String[]>],你可以选择用这两个参数,也可以不用,只是Get-Service列出所有的服务。
  3. 既然后面都是参数,那么为什么这里的语法要列出三条呢?

    按照作者的解释,如果一个cmdlet,它能做两件事,那么我们在语法中列出两条表达的更清晰。 比如我们再看看Get-Process的语法:在这里插入图片描述
    这里我用红框框起来的两列语法,第一列是按照pid来过滤Get-Process拿到的所有进程,而第二列则是通过名称过滤,这大概就是作者说的意思吧。

  4. 举例

    1. Get-Service:列出所有服务
    2. Get-Service -Name powershell:列出所有名字叫做powershell的服务
    3. Get-Service powershell:列出所有名字叫做powershell的服务 4. Get-Service -Name powershell, b*:列出所有名字叫做powershell或者以b开头的服务

版权声明:本文为weixin_34850743原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。