Compartilhar via


Declaração de atributo de cmdlet

O atributo Cmdlet identifica uma classe do 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 executada pelo cmdlet. Para obter mais informações sobre verbos de cmdlet aprovados, consulte de nomes de verbo de 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 de Declaração de Cmdlet e diretrizes de desenvolvimento altamente 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 altere 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 variável $ConfirmPreference. Esse parâmetro deve ser especificado somente quando o parâmetro SupportsShouldProcess for especificado.

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

Há um caso em que o Windows PowerShell não pode usar o conjunto de parâmetros padrão mesmo se um nome de conjunto de parâmetros padrão for especificado. O runtime do Windows PowerShell não pode distinguir entre conjuntos de parâmetros baseados 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 deve ser usado com base nos valores passados para o cmdlet, nem usar o conjunto de parâmetros padrão. Nesse caso, mesmo se você especificar um nome de conjunto de parâmetros padrão, o Windows PowerShell gerará uma mensagem de erro ambígua do conjunto de parâmetros.

SupportsTransactions (System.Boolean) Parâmetro nomeado opcional. True indica que o cmdlet pode ser usado em uma transação. Quando True é especificado, o runtime do Windows PowerShell 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.

Observações

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

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

VerbName-NounName

Os parâmetros de cmdlet Confirm e WhatIf estão disponíveis apenas para cmdlets que dão suporte a 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 do Tutorial getproc.

Consulte Também

gravando um cmdlet do Windows PowerShell