Declaração de atributo de cmdlet

O atributo Cmdlet identifica uma classe microsoft .NET Framework como um cmdlet e especifica o verbo e o substantivo usados para invocar o cmdlet.

Sintaxe

[Cmdlet("verbName", "nounName")]
[Cmdlet("verbName", "nounName", Named Parameters...)]

Parâmetros

VerbName (System.String) Obrigatório. Especifica o verbo do cmdlet. Esse verbo especifica a ação tomada pelo cmdlet . Para obter mais informações sobre verbos de cmdlet aprovados, consulte Nomes de verbos do cmdlet e Diretrizes de desenvolvimento necessárias.

NounName (System.String) Obrigatório. Especifica o substantivo do cmdlet. Esse substantivo especifica o recurso em que o cmdlet atua. Para obter mais informações sobre substantivos de cmdlet, consulte Declaração de cmdlet e Diretrizes de desenvolvimento fortemente incentivadas.

SupportsShouldProcess (System.Boolean) Parâmetro nomeado opcional. True indica que o cmdlet dá suporte a chamadas para o método System.Management.Automation.Cmdlet.ShouldProcess, que fornece ao cmdlet uma maneira de solicitar ao usuário antes que uma ação que altera o sistema seja executada. False, o valor padrão, indica que o cmdlet não dá suporte a chamadas para o método System.Management.Automation.Cmdlet.ShouldProcess. Para obter mais informações sobre solicitações de confirmação, consulte Solicitando confirmação.

ConfirmImpact (System.Management.Automation.Confirmimpact) Parâmetro nomeado opcional. Especifica quando a ação do cmdlet deve ser confirmada por uma chamada para o método System.Management.Automation.Cmdlet.ShouldProcess. System.Management.Automation.Cmdlet.ShouldProcess só será chamado quando o valor ConfirmImpact do cmdlet (por padrão, Médio) for igual ou maior que o valor da $ConfirmPreference variável. Esse parâmetro deve ser especificado somente quando SupportsShouldProcess o parâmetro é especificado.

DefaultParameterSetName (System.String) Parâmetro nomeado opcional. Especifica o conjunto de parâmetros padrão que o Windows PowerShell runtime tenta usar quando não pode determinar qual parâmetro deve ser usado. Observe que essa situação pode ser eliminada tornando o parâmetro exclusivo de cada parâmetro definido como um parâmetro obrigatório.

Há um caso em que Windows PowerShell pode usar o conjunto de parâmetros padrão, mesmo se um nome de conjunto de parâmetros padrão for especificado. O Windows PowerShell runtime não pode distinguir entre conjuntos de parâmetros com base apenas no tipo de objeto. Por exemplo, se você tiver um conjunto de parâmetros que usa uma cadeia de caracteres como o caminho do arquivo e outro conjunto que usa um objeto FileInfo diretamente, o Windows PowerShell não poderá determinar qual parâmetro será usado com base nos valores passados para o cmdlet, nem usará o conjunto de parâmetros padrão. Nesse caso, mesmo que você especifique um nome de conjunto de parâmetros padrão, Windows PowerShell uma mensagem de erro do conjunto de parâmetros ambíguo.

SupportsTransactions (System.Boolean) Parâmetro nomeado opcional. True indica que o cmdlet pode ser usado em uma transação. Quando True é especificado, o Windows PowerShell runtime adiciona o parâmetro à UseTransaction lista de parâmetros do cmdlet . False, o valor padrão, indica que o cmdlet não pode ser usado em uma transação.

Comentários

  • Juntos, o verbo e o substantivo são usados para identificar o cmdlet registrado e invocar o cmdlet em um script.

  • Quando o cmdlet é invocado do console Windows PowerShell, o comando é semelhante ao seguinte comando:

VerbName-NounName

Os parâmetros de cmdlet e estão disponíveis apenas para cmdlets que suportam Confirm WhatIf chamadas System.Management.Automation.Cmdlet.ShouldProcess.

Exemplo

A definição de classe a seguir usa o atributo Cmdlet para identificar a classe .NET Framework para um cmdlet Get-Proc que recupera informações sobre os processos em execução no computador local.

[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet

Para obter mais informações sobre o cmdlet Get-Proc, consulte Tutorial do GetProc.

Consulte Também

Escrevendo um Cmdlet do Windows PowerShell