前言:
在自定义 PowerShell 函数时,如何设置函数通过管道(Pipeline)接收输入参数。先看一个例子,用管道作为输入参数的函数:
function Test-Pipeline {
param(
[Parameter(ValueFromPipeline=$true)]
$InputObject
)
process
{
“Working with $InputObject”
}
}
使用管道作为输入参数,函数的执行情况如下:
PS> 1..4 | Test-Pipeline
Working with 1
Working with 2
Working with 3
Working with 4
在 Test-Pipeline 函数中,InputObject 是一个接收管道输入的参数。InputObject 参数之前,我们用了[Parameter(ValueFromPipeline=$true)]这个条指令,从指令的名称来看,我们就发现了 ValueFromPipeline,表示从管道获取值。
另外,汇站要说的是,在PowerShell所有的系统自带函数中,从管道获取值的参数名称都叫 InputObject,我们在开发的过程中应该继承并发扬这一风格。