Declaración de atributo del cmdletCmdlet Attribute Declaration

El atributo de cmdlet identifica una clase de marco de Microsoft .NET como un cmdlet y especifica el verbo y el sustantivo que se usan para invocar el cmdlet.The Cmdlet attribute identifies a Microsoft .NET Framework class as a cmdlet and specifies the verb and noun used to invoke the cmdlet.

SintaxisSyntax

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

ParámetrosParameters

VerbName(System. String) requerido.VerbName (System.String) Required. Especifica el verbo del cmdlet.Specifies the cmdlet verb. Este verbo especifica la acción realizada por el cmdlet.This verb specifies the action taken by the cmdlet. Para obtener más información sobre los verbos de cmdlet aprobados, consulte nombres de verbo de cmdlet y directrices de desarrollo necesarias.For more information about approved cmdlet verbs, see Cmdlet Verb Names and Required Development Guidelines.

NounName(System. String) requerido.NounName (System.String) Required. Especifica el nombre del cmdlet.Specifies the cmdlet noun. Este nombre especifica el recurso sobre el que actúa el cmdlet.This noun specifies the resource that the cmdlet acts upon. Para obtener más información sobre los nombres de cmdlet, consulte declaración de cmdlets y directrices de desarrollo muy alentadas.For more information about cmdlet nouns, see Cmdlet Declaration and Strongly Encouraged Development Guidelines.

SupportsShouldProcess(System. Boolean) parámetro con nombre opcional.SupportsShouldProcess (System.Boolean) Optional named parameter. Trueindica que el cmdlet admite llamadas al método System. Management. Automation. cmdlet. ShouldProcess , que proporciona al cmdlet una manera de preguntar al usuario antes de que se realice una acción que cambia el sistema.True indicates that the cmdlet supports calls to the System.Management.Automation.Cmdlet.ShouldProcess method, which provides the cmdlet with a way to prompt the user before an action that changes the system is performed. False, el valor predeterminado, indica que el cmdlet no admite llamadas al método System. Management. Automation. cmdlet. ShouldProcess .False, the default value, indicates that the cmdlet does not support calls to the System.Management.Automation.Cmdlet.ShouldProcess method. Para obtener más información acerca de las solicitudes de confirmación, consulte solicitar confirmación.For more information about confirmation requests, see Requesting Confirmation.

ConfirmImpact(System. Management. Automation. Confirmimpact) parámetro con nombre opcional.ConfirmImpact (System.Management.Automation.Confirmimpact) Optional named parameter. Especifica cuándo se debe confirmar la acción del cmdlet mediante una llamada al método System. Management. Automation. cmdlet. ShouldProcess .Specifies when the action of the cmdlet should be confirmed by a call to the System.Management.Automation.Cmdlet.ShouldProcess method. System. Management. Automation. cmdlet. ShouldProcess solo se llamará cuando el valor ConfirmImpact del cmdlet (de forma predeterminada, Medium) sea igual o mayor que el valor de la $ConfirmPreference variable.System.Management.Automation.Cmdlet.ShouldProcess will only be called when the ConfirmImpact value of the cmdlet (by default, Medium) is equal to or greater than the value of the $ConfirmPreference variable. Este parámetro debe especificarse solo cuando SupportsShouldProcess se especifica el parámetro.This parameter should be specified only when the SupportsShouldProcess parameter is specified.

DefaultParameterSetName(System. String) parámetro con nombre opcional.DefaultParameterSetName (System.String) Optional named parameter. Especifica el conjunto de parámetros predeterminado que el tiempo de ejecución de Windows PowerShell intenta usar cuando no puede determinar el conjunto de parámetros que se va a usar.Specifies the default parameter set that the Windows PowerShell runtime attempts to use when it cannot determine which parameter set to use. Tenga en cuenta que esta situación se puede eliminar si hace que el parámetro único de cada parámetro establezca un parámetro obligatorio.Notice that this situation can be eliminated by making the unique parameter of each parameter set a mandatory parameter.

Hay un caso en el que Windows PowerShell no puede usar el conjunto de parámetros predeterminado aunque se especifique un nombre de conjunto de parámetros predeterminado.There is one case where Windows PowerShell cannot use the default parameter set even if a default parameter set name is specified. El tiempo de ejecución de Windows PowerShell no puede distinguir entre conjuntos de parámetros basados únicamente en el tipo de objeto.The Windows PowerShell runtime cannot distinguish between parameter sets based solely on object type. Por ejemplo, si tiene un conjunto de parámetros que toma una cadena como ruta de acceso del archivo y otro conjunto que toma un objeto FileInfo directamente, Windows PowerShell no puede determinar qué conjunto de parámetros debe usar en función de los valores que se pasan al cmdlet, ni tampoco usa el conjunto de parámetros predeterminado.For example, if you have one parameter set that takes a string as the file path, and another set that takes a FileInfo object directly, Windows PowerShell cannot determine which parameter set to use based on the values passed to the cmdlet, nor does it use the default parameter set. En este caso, aunque especifique un nombre de conjunto de parámetros predeterminado, Windows PowerShell genera un mensaje de error de conjunto de parámetros ambiguos.In this case, even if you specify a default parameter set name, Windows PowerShell throws an ambiguous parameter set error message.

SupportsTransactions(System. Boolean) parámetro con nombre opcional.SupportsTransactions (System.Boolean) Optional named parameter. Trueindica que el cmdlet puede usarse dentro de una transacción.True indicates that the cmdlet can be used within a transaction. Cuando True se especifica, el tiempo de ejecución de Windows PowerShell agrega el UseTransaction parámetro a la lista de parámetros del cmdlet.When True is specified, the Windows PowerShell runtime adds the UseTransaction parameter to the parameter list of the cmdlet. False, el valor predeterminado, indica que el cmdlet no se puede usar en una transacción.False, the default value, indicates that the cmdlet cannot be used within a transaction.

ObservacionesRemarks

  • Juntos, el verbo y el nombre se usan para identificar el cmdlet registrado e invocar el cmdlet en un script.Together, the verb and noun are used to identify your registered cmdlet and to invoke your cmdlet within a script.

  • Cuando el cmdlet se invoca desde la consola de Windows PowerShell, el comando es similar al siguiente comando:When the cmdlet is invoked from the Windows PowerShell console, the command resembles the following command:

VerbName-NounNameVerbName-NounName

Los Confirm WhatIf parámetros de cmdlet y solo están disponibles para los cmdlets que admiten llamadas a System. Management. Automation. cmdlet. ShouldProcess .The Confirm and WhatIf cmdlet parameters are available only for cmdlets that support System.Management.Automation.Cmdlet.ShouldProcess calls.

EjemploExample

La siguiente definición de clase usa el atributo cmdlet para identificar la clase .NET Framework para un cmdlet Get-proc que recupera información sobre los procesos que se ejecutan en el equipo local.The following class definition uses the Cmdlet attribute to identify the .NET Framework class for a Get-Proc cmdlet that retrieves information about the processes running on the local computer.

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

Para obtener más información sobre el cmdlet Get-proc , vea el tutorial de GetProc.For more information about the Get-Proc cmdlet, see GetProc Tutorial.

Consulte tambiénSee Also

Escribir un cmdlet de Windows PowerShellWriting a Windows PowerShell Cmdlet