PowerShell 函数

2024 年 8 月 29 日 | 阅读 3 分钟

当我们需要在多个脚本中使用相同的代码时,我们会使用PowerShell 函数

函数是一个 PowerShell 语句列表,其名称由用户分配。 当我们执行一个函数时,我们输入函数的名称。

与 cmdlet 类似,函数也可以有参数。 函数参数可以从管道或命令行读取。

PowerShell 中,函数 返回可以分配给变量或传递给 cmdlet 或其他函数的值。 通过使用 return 关键字,我们可以指定返回值。

语法

以下代码块描述了函数的语法

上面的语法包括以下术语

  • 一个函数关键字
  • 一个由你给定的名字
  • 一个作用域(可选)
  • 任意数量的命名参数
  • 一个或多个用花括号 {} 括起来的 PowerShell 命令。

函数的作用域

  • 在 PowerShell 中,函数存在于创建它的作用域中。
  • 如果函数位于脚本中,则它仅对该脚本中的语句可用。
  • 当在全局作用域中指定一个函数时,我们可以在其他函数、脚本和命令行中使用它。

简单函数

以下代码块描述了如何在 PowerShell 中创建最简单的函数

要向函数添加多个语句,我们必须使用分号分隔语句或在单独的行上键入每个语句。

要使用该函数,请键入函数名称,如下面的代码块所示

示例

在 PowerShell 控制台中键入以下命令以获取上述示例的输出

输出

Windows Operating System
Linux operating System

高级函数

高级函数 是可以执行类似于 cmdlet 执行的操作的函数。 当用户想要编写一个函数而无需编写编译的 cmdlet 时,会使用这些函数。

使用编译的 cmdlet 和高级函数之间的主要区别在于,编译的 cmdlet 是 .NET Framework 的类,必须用 .NET framework 语言编写。 并且,高级函数是用 PowerShell 脚本语言编写的。

以下示例描述了如何在 PowerShell 中使用高级函数

在 PowerShell 控制台中键入以下命令以获取上述示例的输出

输出

cmdlet Send-Greeting at command pipeline position 1
Supply values for the following parameters:
Name: Aman
Hi Aman!

函数示例

示例 1:以下示例是一个简单的函数,它返回当前日期

在 PowerShell 控制台中键入以下命令以获取上述示例的输出

输出

15 November 2019 14:41:17

示例 2:以下示例是一个函数,它接受一个参数并返回该参数的值。

键入以下命令以从用户处获取上述示例的输入

输出

Enter a value: 10

键入以下命令将函数的返回值存储在一个变量中,该变量显示函数的输出

以下命令向您显示结果

输出

10 * 10 = 100

下一主题Try Catch Finally