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




Sumário