Compartilhar via


AvoidShouldContinueWithoutForce

Nível de gravidade: Aviso

Descrição

As funções que usam ShouldContinue devem ter um parâmetro de força booliana para permitir que o usuário o ignore.

Você pode obter mais detalhes executando Get-Help about_Functions_CmdletBindingAttribute e Get-Help about_Functions_Advanced_Methods comando no PowerShell.

Como

Chame o método em funções avançadas quando ShouldProcess o ShouldContinue método retornar$true.

Exemplo

Errado

Function Test-ShouldContinue
{
    [CmdletBinding(SupportsShouldProcess=$true)]
    Param
    (
        $MyString = 'blah'
    )

    if ($PsCmdlet.ShouldContinue('ShouldContinue Query', 'ShouldContinue Caption'))
    {
        ...
    }
}

Correto

Function Test-ShouldContinue
{
    [CmdletBinding(SupportsShouldProcess=$true)]
    Param
    (
        $MyString = 'blah',
        [Switch]$Force
    )

    if ($Force -or $PsCmdlet.ShouldContinue('ShouldContinue Query', 'ShouldContinue Caption'))
    {
        ...
    }
}