Partilhar via


Declaração de atributo de parâmetro

O atributo Parameter identifica uma propriedade pública da classe de cmdlet como um parâmetro de cmdlet.

Sintaxe

[Parameter()]
[Parameter(Named Parameters...)]

Parâmetros

Mandatory (System.Boolean) Parâmetro nomeado opcional. True indica que o parâmetro cmdlet é necessário. Se um parâmetro necessário não for fornecido quando o cmdlet for invocado, o Windows PowerShell solicitará ao usuário um valor de parâmetro. O padrão é false.

ParameterSetName (System.String) Parâmetro nomeado opcional. Especifica o conjunto de parâmetros ao qual esse parâmetro de cmdlet pertence. Se nenhum conjunto de parâmetros for especificado, o parâmetro pertencerá a todos os conjuntos de parâmetros.

Position (System.Int32) Parâmetro nomeado opcional. Especifica a posição do parâmetro em um comando do Windows PowerShell.

ValueFromPipeline (System.Boolean) Parâmetro nomeado opcional. True indica que o parâmetro cmdlet obtém seu valor de um objeto de pipeline. Especifique essa palavra-chave se o cmdlet acessar o objeto completo, não apenas uma propriedade do objeto. O padrão é false.

ValueFromPipelineByPropertyName (System.Boolean) Parâmetro nomeado opcional. True indica que o parâmetro cmdlet obtém seu valor de uma propriedade de um objeto de pipeline que tem o mesmo nome ou o mesmo alias que esse parâmetro. Por exemplo, se o cmdlet tiver um parâmetro Name e o objeto pipeline também tiver uma propriedade Name, o valor da propriedade Name será atribuído ao parâmetro Name do cmdlet. O padrão é false.

ValueFromRemainingArguments (System.Boolean) Parâmetro nomeado opcional. True indica que o parâmetro cmdlet aceita todos os argumentos restantes que são passados para o cmdlet. O padrão é false.

HelpMessage (System.String) Parâmetro nomeado opcional. Especifica uma breve descrição do parâmetro. O Windows PowerShell exibe essa mensagem quando um cmdlet é executado e um parâmetro obrigatório não é especificado.

HelpMessageBaseName (System.String) Parâmetro nomeado opcional. Especifica o local onde os identificadores de recursos residem. Por exemplo, esse parâmetro pode especificar um assembly de recursos que contenha mensagens de Ajuda que você deseja localizar.

HelpMessageResourceId (System.String) Parâmetro nomeado opcional. Especifica o identificador de recurso para uma mensagem de Ajuda.

DontShow (System.Boolean) Parâmetro nomeado opcional. True indica que o parâmetro está oculto do usuário para expansão de guia e IntelliSense. O padrão é false.

Comentários

  • Para obter mais informações sobre como declarar esse atributo, consulte Como declarar parâmetros de cmdlet.

  • Um cmdlet pode ter qualquer número de parâmetros. No entanto, para uma melhor experiência do usuário, limite o número de parâmetros.

  • Os parâmetros devem ser declarados em campos públicos não estáticos ou propriedades. Os parâmetros devem ser declarados nas propriedades. A propriedade deve ter um acessador de conjunto público e, se a palavra-chave ValueFromPipeline ou ValueFromPipelineByPropertyName for especificada, a propriedade deve ter um acessador get público.

  • Ao especificar parâmetros posicionais, limite o número de parâmetros posicionais em um conjunto de parâmetros a menos de cinco. E os parâmetros posicionais não têm de ser contíguos. As posições 5, 100 e 250 funcionam da mesma forma que as posições 0, 1 e 2.

  • Quando a palavra-chave Position não é especificada, o parâmetro cmdlet deve ser referenciado por seu nome.

  • Quando você usa conjuntos de parâmetros, observe o seguinte:

    • Cada conjunto de parâmetros deve ter pelo menos um parâmetro exclusivo. Um bom design de cmdlet indica que esse parâmetro exclusivo também deve ser obrigatório, se possível. Se o cmdlet foi projetado para ser executado sem parâmetros, o parâmetro exclusivo não poderá ser obrigatório.

    • Nenhum conjunto de parâmetros deve conter mais de um parâmetro posicional com a mesma posição.

    • Apenas um parâmetro em um conjunto de parâmetros deve declarar ValueFromPipeline = true.

    • Vários parâmetros podem definir ValueFromPipelineByPropertyName = true.

  • Para obter mais informações sobre as diretrizes para nomes de parâmetros, consulte Cmdlet Parameter Names.

  • O atributo parameter é definido pela classe System.Management.Automation.ParameterAttribute.

  • O parâmetro DontShow tem os seguintes efeitos colaterais:

    • Afeta todos os conjuntos de parâmetros para o parâmetro associado, mesmo se houver um conjunto de parâmetros no qual DontShow não é usado.
    • Oculta parâmetros comuns do preenchimento de guias e do IntelliSense. DontShow não oculta os parâmetros comuns opcionais: WhatIf, Confirmou UseTransaction.

Ver também