TÓPICO
about_Functions_CmdletBindingAttribute
DESCRIÇÃO RESUMIDA
Descreve um atributo que declara uma função que age de modo
semelhante a um cmdlet compilado.
DESCRIÇÃO LONGA
Quando você escreve funções, pode adicionar o atributo
CmdletBinding, para que o Windows PowerShell associe os
parâmetros da função da mesma forma que associa os parâmetros de
cmdlets compilados. Quando esse atributo é declarado, o Windows
PowerShell também define a variável automática $PSCmdlet.
Quando você usa associação de cmdlet, parâmetros desconhecidos e
argumentos de posição, que não têm nenhum parâmetro de posição
compatível, causam uma falha na associação do parâmetro. Além
disso, uma função ou script com associação de cmdlet não usa a
variável $args.
Observação: os cmdlets compilados usam o atributo Cmdlet obrigatório,
que é semelhante ao atributo CmdletBinding descrito
neste tópico.
O exemplo a seguir mostra a estrutura de tópicos de uma função que
especifica todos os argumentos opcionais do atributo CmdletBinding.
Uma descrição resumida de cada argumento segue este exemplo.
{
[CmdletBinding(SupportsShouldProcess=<Boolean>,
ConfirmImpact=<String>,
DefaultParameterSetName=<String>)]
Param ($Parameter1)
Begin{}
Process{}
End{}
}
SupportsShouldProcess
Quando o argumento SupportsShouldProcess é definido como true,
ele indica que a função dá suporte a chamadas ao método
ShouldProcess que é usado para solicitar ao usuário comentários
antes de a função fazer uma alteração no sistema. Quando este
argumento é especificado, os parâmetros Confirm e WhatIf são
habilitados para a função.
Para obter mais informações sobre solicitações de confirmação,
consulte "Requesting confirmation" (em inglês) na biblioteca do
MSDN em https://go.microsoft.com/fwlink/?LinkId=136658.
DefaultParameterSetName
O argumento DefaultParameterSetName especifica o nome do conjunto de
parâmetros que o Windows PowerShell tentará usar quando não puder
determinar qual conjunto de parâmetros usar. Você pode evitar esse
problema tornando obrigatório o parâmetro exclusivo de cada conjunto
de parâmetros.
ConfirmImpact
O argumento ConfirmImpact especifica quando a ação da função
deve ser confirmada por uma chamada ao método ShouldProcess.
A chamada ao método ShouldProcess exibe um aviso de confirmação
somente quando o argumento ConfirmImpact é maior ou igual ao
valor da variável de preferência $ConfirmPreference. (O valor
padrão do argumento é Medium.) Especifique esse argumento
somente quando o argumento SupportsShouldProcess também for
especificado.
CONSULTE TAMBÉM
about_Functions_Advanced
about_Functions_CmdletBindingAttribute
about_Functions_ParameterAttributes