什么是 PowerShell?

已完成

PowerShell 由命令行 shell 和脚本语言两部分组成。 它最初是一种框架,用于在 Windows 中自动执行管理任务。 PowerShell 现已发展为一种跨平台工具,用于执行多种任务。

命令行 shell 缺少图形界面,让你无法使用鼠标与图形元素进行交互。 相反,你需要在计算机控制台中键入文本命令。 下面是使用控制台的一些优点:

  • 与控制台交互通常比使用图形界面快。
  • 在控制台中,可以运行成批命令,因此它非常适合用于持续集成管道的任务自动化。
  • 你可使用控制台与云资源和其他资源交互。
  • 可在文本文件中存储命令和脚本,并使用源代码管理系统。 此功能可能是最大的优点之一,因为你的命令可重复且可审核。 在许多系统(特别是政府系统)中,必须跟踪和评估或审核一切内容。 审核涵盖了从数据库更改到脚本所做的更改的所有内容。

功能

PowerShell 通过传统 shell 共享某些功能:

  • 内置帮助系统:大多数 shell 都有一些帮助系统,你可以在其中了解有关命令的详细信息。 例如,你可以了解命令的作用以及它支持的参数。 PowerShell 中的帮助系统提供有关命令的信息,并与联机帮助文章集成。
  • 管道:传统 shell 使用管道按顺序运行多个命令。 一个命令的输出是下一个命令的输入。 PowerShell 实现了传统 shell 传达的这种概念,但它又有所不同,因为它对文本上的对象进行操作。 本模块稍后会详细介绍此功能。
  • 别名:别名是可用于运行命令的替代名称。 PowerShell 支持使用常见别名,如 cls(清除屏幕)和 ls(列出文件)。 因此,对于熟悉的命令,新用户可利用其对其他框架的知识,而不必记住 PowerShell 名称。

PowerShell 不同于传统的命令行 shell,具体体现在以下几方面:

  • 它对文本上的对象进行操作。 在命令行 shell 中,你必须运行输出和输入可能不同的脚本,因此你最终会对输出进行格式化并提取所需的数据。 而在 PowerShell 中,可以使用对象作为输入和输出。 这意味着格式设置和数据提取所需时间会更少。
  • 它具有 cmdlet。 PowerShell 中的命令称为 cmdlet(念作 commandlet)。 与其他许多 shell 环境不同,在 PowerShell 中,cmdlet 是在常见运行时而不是单独的可执行文件上生成的。 此特性在参数分析和管道行为方面提供了一致的体验。 Cmdlet 通常采用对象输入并返回对象。 PowerShell 中的核心 cmdlet 是在 .NET Core 中生成的,采用的是开放源代码形式。 你可以使用来自社区和其他来源的更多 cmdlet、脚本和函数来扩展 PowerShell,也可以在 .NET Core 或 PowerShell 中生成自己的 cmdlet。
  • 它具有多种类型的命令。 PowerShell 中的命令可以是本机可执行文件、cmdlet、函数、脚本或别名。 运行的每个命令都属于这些类型之一。 由于 cmdlet 是一种命令,因此,命令和 cmdlet 通常可互换使用。

安装

在此模块中,你将练习如何在计算机上使用 PowerShell。 PowerShell 可用于多种平台。 但如果你使用的计算机运行的是 Linux、macOS 或早期版本的 Windows,则需要安装它。

每个 OS 对安装 PowerShell 的说明各不相同。 在继续之前,请花几分钟时间安装 PowerShell 或验证 PowerShell 安装。 此模块的下一个单元将介绍如何验证你的安装。

Windows

如果运行的是 Windows 8 或更高版本,则应已安装名为 Windows PowerShell 的 PowerShell 版本。 此版本与最新的 PowerShell 版本略有不同,但它可用于学习目的。

可从“开始”菜单打开 Windows PowerShell。

其他操作系统

如果你的计算机运行的不是 Windows 8 或更高版本,则需要安装 PowerShell。 若要查找针对你的 OS 的安装说明,请参阅安装各种版本的 PowerShell

适用于 Visual Studio Code 的 PowerShell 扩展

建议你使用适用于 Visual Studio Code 的 PowerShell 扩展来创作 PowerShell 脚本和运行此模块中的命令。 使用此扩展,可运行命令,还有助于执行代码片段、完成代码以及突出显示语法。