powershell 语法解析

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

    Get-Service [[-Name] ] [-ComputerName ] [-DependentServices] [-Exclude ] [-Include ] [-RequiredServices] []
    
  2. 概念

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

    按照作者的解释,如果一个cmdlet,它能做两件事,那么我们在语法中列出两条表达的更清晰。 比如我们再看看Get-Process的语法: powershell 语法解析_第2张图片
    这里我用红框框起来的两列语法,第一列是按照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开头的服务

你可能感兴趣的:(PowerShell)