解释一下 PowerShell 函数。
powershellmicrosoft technologiessoftware & coding更新于 2026/1/8 7:22:17
PowerShell 中的函数是为了减少重复代码的冗余,也就是将重复的代码绑定到一个函数中,并在必要时调用该函数,这样就无需多次编写代码。
示例
假设您想一次性对两个值 5 和 4 执行算术运算(乘、加、除和减),因此您需要为这两个值编写不同的运算,或者将值赋给名为 $val1 和 $val2 的变量,并对它们执行各种运算,如下例所示。
$val1 = 5 $val2 = 4 $val1 * $val2 $val1 + $val2 $val1 / $val2 $val1 - $val2
现在,假设值再次发生变化,比如 20 和 10,并更改变量的值,需要重新编写所有命令。PowerShell 函数在这里起着至关重要的作用。因此,重复的代码可以写在函数内部。
在开始我们的第一个例子之前,我们先来看一下语法。
function FunctionName(Parameter1, Parameter2,.....,ParameterN) {
// 操作命令
// 条件
}
在下面的例子中,我们给出了一个名为 math_operation 的函数,它执行两个变量的所有操作。代码如下。
示例
function math_Operation{
$val1 = 10
$val2 = 5
Write-Host "Multiply : $($val1*$val2)"
Write-Host "Addition : $($val1+$val2)"
Write-Host "Subtraction : $($val1-$val2)"
Write-Host "Divide : $($val1+$val2)"
}
math_Operation
要调用此函数,我们只需按示例所示通过其名称调用它即可。
输出
Multiply : 50 Addition : 15 Subtraction : 5 Divide : 15
编写函数执行脚本后,您也可以使用函数名称从 PowerShell 控制台调用该函数。此处,您需要在脚本执行后在终端中输入 math_operation。

现在,要多次使用该函数,您只需在函数中传递这两个值,即可执行它们之间的运算。为此,我们在函数内部使用 Param 块(指参数)并在其中声明变量。
示例
function math_Operation{
param([int]$val1,[int]$val2)
Write-Host "Multiply : $($val1*$val2)"
Write-Host "Addition : $($val1+$val2)"
Write-Host "Subtraction : $($val1-$val2)"
Write-Host "Divide : $($val1+$val2)"
}
在 PowerShell 控制台中执行上述代码,在终端中,您会看到可以使用两个值($val1 和 $val2)作为参数。因此,每次计算结果时都需要传递两个值。
输出
PS E:\scripts\Powershell> math_Operation -val1 20 -val2 10 Multiply : 200 Addition : 30 Subtraction : 10 Divide : 30
您应该避免为该函数指定标准 cmdlet 名称。

