1、介绍

PowerShell 是一种命令行 shell 和脚本语言一体化工具。 它被设计为任务引擎,使用 cmdlet 来包装用户需要执行的任务。 在 PowerShell 中,可以在本地或远程计算机上运行命令。 可以执行管理用户和自动执行工作流等任务。

无论你是运营团队的成员还是采用 DevOps 原则的开发团队的成员,均可使用 PowerShell。 你可以使用它来处理各种任务,如管理云资源以及持续集成和持续交付 (CI/CD)。 PowerShell 提供了许多有用的命令,但你可以通过安装模块随时扩展其功能。

2、查找命令

cmdlet(发音为“command-let”)是已编译的命令。 可在 .NET 或 .NET Core 中开发 cmdlet,并在 PowerShell 中将其作为命令进行调用。 PowerShell 安装中提供了数千个 cmdlet。 难点在于了解 cmdlet 是什么,以及它们能为你解决什么问题。

Cmdlet 根据动词-名词命名标准命名。 此模式可帮助你了解它们的作用以及搜索它们的方式。 它还有助于 cmdlet 开发人员创建一致的名称。 可通过使用 Get-Verb cmdlet 来查看已批准的动词的列表。 动词按活动类型和功能进行组织。

下面是运行 Get-Verb 的输出部分:

输出复制

Verb        AliasPrefix Group          Description
----        ----------- -----          -----------
Add         a           Common         Adds a resource to a container, or atta…
Clear       cl          Common         Removes all the resources from a contai…

此列表显示动词及其说明。 cmdlet 开发人员应使用已批准的动词,同时确保动词说明符合其 cmdlet 的功能。

下面的三个核心 cmdlet 可让你深入了解存在哪些 cmdlet 以及它们的作用:

  • Get-Command:Get-Command cmdlet 列出系统上的所有可用 cmdlet。 筛选列表以快速找到所需的命令。
  • Get-Help:运行 Get-Help 核心 cmdlet,以调用内置帮助系统。 还可以运行别名 help 命令来调用 Get-Help,但通过对响应进行分页来改善读取体验。
  • Get-Member:调用命令时,响应是包含多个属性的对象。 运行 Get-Member 核心 cmdlet 向下钻取到该响应并了解其详细信息。

3、使用Get-Command查找命令

在 Cloud Shell 中运行 Get-Command cmdlet 时,将获取 PowerShell 中安装的每个命令的列表。 由于安装了上千个命令,因此需要一种方法来筛选响应,以便可以快速找到所需的命令。

要筛选列表,请记住 cmdlet 的动词-名词命名标准。 例如,在 Get-Random 命令中,Get 是动词,Random 是名词。 使用标志来定位所需命令中的动词或名词。 指定的标志应为一个字符串值。 你可将模式匹配字符添加到该字符串,以确保你明确这样做,例如标志的值应以特定字符串开头或结尾。

以下示例演示如何使用标志来筛选命令列表:

  • -Noun:-Noun 标志以与名词相关的命令名称部分为目标。 也就是说,它的目标是连字符 (-) 后面的所有内容。 下面是命令名称的典型搜索:
    PowerShell复制
Get-Command -Noun a-noun*

此命令搜索名词部分以 a-noun 开头的所有 cmdlet。

  • -Verb:-Verb 标志以与动词相关的命令名称部分为目标。 可结合使用 -Noun 标志和 -Verb 标志来创建更详细的搜索查询和类型。 下面是一个示例:
    PowerShell复制
Get-Command -Verb Get -Noun a-noun*

现在已缩小搜索范围,以指定动词部分需要匹配 Get,名词部分需要匹配 a-noun