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
ouValueFromPipelineByPropertyName
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.
- Afeta todos os conjuntos de parâmetros para o parâmetro associado, mesmo se houver um conjunto de parâmetros no qual