Windows PowerShell 语言规范 3.0

Windows PowerShell 语言规范 3.0 基于 PowerShell 3.0,于 2012 年 12 月发布。 Microsoft 下载中心提供 Microsoft Word 文档格式的规范文档,地址是:https://www.microsoft.com/download/details.aspx?id=36389

该 Word 文档已在 docs.microsoft.com 上转换为演示文稿。 在转换过程中为了适应 Docs 平台的格式设置,进行了一些编辑性更改。 一些拼写错误和小错误已得到纠正。

重要

本文档的内容可能不会反映 PowerShell 最新版本的最新状态。 目前没有计划更新此文档以反映最新状态。 在此提供此文档仅供历史参考。

1.简介

PowerShell 是专门为系统管理员设计的命令行 shell 和脚本语言。

大多数 shell 的工作方式是执行新进程中的命令或实用工具,并以文本方式向用户显示结果。 这些 shell 还有内置在 shell 中并在 shell 进程中运行的命令。 由于内置命令很少,因此创建了许多实用工具对其进行补充。 PowerShell 截然不同。 这种 shell 不处理文本,而是处理对象。 PowerShell 还包括大量内置命令,每个命令都有一致的接口,并且可以与用户编写的命令一起使用。

对象是具有属性(即特性)和方法(即可对对象执行的操作)的数据实体 。 相同类型的所有对象都具有相同的基本属性和方法集,但对象的每个实例可以具有不同的属性值。

使用对象的一个主要优点是,通过管道方式传输命令更简单;也就是说,将一个命令的输出写入另一个命令作为输入。 (在传统的命令行环境中,需要对一个命令的文本输出进行处理以满足另一个命令的输入格式。)

PowerShell 包含非常丰富的脚本语言,支持用于循环、条件、流控制和变量赋值的构造。 此语言的语法功能和关键字与 C# 编程语言 (§C.) 中使用的相似。

PowerShell 有四种类型的命令:脚本、函数和方法、cmdlet 和本机命令。

  • 命令文件称为脚本。 根据约定,脚本的文件名扩展名为 .ps1。 PowerShell 程序的最顶层是脚本,而脚本又可以调用其他命令。

  • PowerShell 支持通过命名过程进行模块化编程。 用 PowerShell 编写的过程称为函数,而由执行环境提供的外部过程(通常用其他语言编写)称为方法 。

  • cmdlet(读作“command-let”)是一种简单的单任务命令行工具。 尽管 cmdlet 可以独自使用,但 cmdlet 的完整功能是在对其进行组合使用来执行复杂任务时实现的。

  • 本机命令是内置于主机环境的命令。

每次 PowerShell 运行时环境开始执行时,它都会建立会话。 然后,命令在该会话的上下文中执行。

此规范定义了 PowerShell 语言、内置 cmdlet 以及通过管道使用对象。

大多数 Shell 都会接受和返回文本;与此不同,Windows PowerShell 是在 .NET Framework 公共语言运行时 (CLR) 和.NET Framework 的基础上生成的,它将接受和返回 .NET Framework 对象。