Compartilhar via


UseProcessBlockForPipelineCommand

Nível de gravidade: Aviso

Descrição

As funções que dão suporte à entrada de pipeline sempre devem lidar com a entrada de parâmetro em um bloco de processo. O comportamento inesperado poderá resultar se a entrada for tratada diretamente no corpo de uma função em que os parâmetros declaram suporte ao pipeline.

Exemplo

Errado

Function Get-Number
{
    [CmdletBinding()]
    Param(
        [Parameter(ValueFromPipeline)]
        [int]
        $Number
    )

    $Number
}

Resultado

PS C:\> 1..5 | Get-Number
5

Correto

Function Get-Number
{
    [CmdletBinding()]
    Param(
        [Parameter(ValueFromPipeline)]
        [int]
        $Number
    )

    process
    {
        $Number
    }
}

Result

PS C:\> 1..5 | Get-Number
1
2
3
4
5