Declaración de atributo del cmdlet
El atributo Cmdlet identifica una clase .NET Framework microsoft como un cmdlet y especifica el verbo y el nombre que se usan para invocar el cmdlet.
Sintaxis
[Cmdlet("verbName", "nounName")]
[Cmdlet("verbName", "nounName", Named Parameters...)]
Parámetros
VerbName
(System.String) Requerido. Especifica el verbo del cmdlet. Este verbo especifica la acción realizada por el cmdlet . Para obtener más información sobre los verbos de cmdlet aprobados, vea Cmdlet Verb Names and Required Development Guidelines.
NounName
(System.String) Requerido. Especifica el nombre del cmdlet. Este nombre especifica el recurso sobre el que actúa el cmdlet. Para obtener más información sobre los nombres de cmdlet, vea Declaración de cmdlet e Instrucciones de desarrollo muy recomendables.
SupportsShouldProcess
(System.Boolean) Parámetro con nombre opcional. True
indica 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 realizar una acción que cambie el sistema. False
, el valor predeterminado, indica que el cmdlet no admite llamadas al método System.Management.Automation.Cmdlet.ShouldProcess. Para obtener más información sobre las solicitudes de confirmación, vea Solicitar confirmación.
ConfirmImpact
(System.Management.Automation.Confirmimpact) Parámetro con nombre opcional. Especifica cuándo debe confirmarse la acción del cmdlet mediante una llamada al método System.Management.Automation.Cmdlet.ShouldProcess. Solo se llamará a System.Management.Automation.Cmdlet.ShouldProcess cuando el valor ConfirmImpact del cmdlet (de forma predeterminada, Medium) sea igual o mayor que el valor de la $ConfirmPreference
variable. Este parámetro solo se debe especificar cuando SupportsShouldProcess
se especifica el parámetro .
DefaultParameterSetName
(System.String) Parámetro con nombre opcional. Especifica el conjunto de parámetros predeterminado que Windows PowerShell tiempo de ejecución intenta usar cuando no puede determinar qué conjunto de parámetros usar. Tenga en cuenta que esta situación se puede eliminar haciendo que el parámetro único de cada conjunto de parámetros sea un parámetro obligatorio.
Hay un caso en el que Windows PowerShell puede usar el conjunto de parámetros predeterminado incluso si se especifica un nombre de conjunto de parámetros predeterminado. El Windows PowerShell de ejecución no puede distinguir entre conjuntos de parámetros basados únicamente en el tipo de objeto. Por ejemplo, si tiene un conjunto de parámetros que toma una cadena como ruta de acceso de archivo y otro conjunto que toma directamente un objeto FileInfo, Windows PowerShell no puede determinar qué conjunto de parámetros usar en función de los valores pasados al cmdlet ni usa el conjunto de parámetros predeterminado. En este caso, incluso si especifica un nombre de conjunto de parámetros predeterminado, Windows PowerShell un mensaje de error ambiguo del conjunto de parámetros.
SupportsTransactions
(System.Boolean) Parámetro con nombre opcional. True
indica que el cmdlet se puede usar dentro de una transacción. Cuando True
se especifica , el entorno Windows PowerShell tiempo de ejecución agrega el parámetro a la lista de parámetros del UseTransaction
cmdlet. False
, el valor predeterminado, indica que el cmdlet no se puede usar dentro de una transacción.
Comentarios
Juntos, el verbo y el sustantivo se usan para identificar el cmdlet registrado e invocar el cmdlet dentro de un script.
Cuando se invoca el cmdlet desde la Windows PowerShell, el comando se parece al siguiente comando:
VerbName-NounName
- Todos los cmdlets que cambian recursos fuera de Windows PowerShell deben incluir la palabra clave cuando se declara el atributo Cmdlet, lo que permite al cmdlet llamar al método
SupportsShouldProcess
System.Management.Automation.Cmdlet.ShouldProcess antes de que el cmdlet realice su acción. Si la llamada a System.Management.Automation.Cmdlet.ShouldProcess devuelvefalse
, no se debe realizar la acción. Para obtener más información sobre las solicitudes de confirmación generadas por la llamada System.Management.Automation.Cmdlet.ShouldProcess, vea Solicitar confirmación.
Los parámetros de cmdlet y solo están disponibles para los cmdlets que admiten llamadas Confirm
WhatIf
System.Management.Automation.Cmdlet.ShouldProcess.
Ejemplo
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.
[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet
Para obtener más información sobre el cmdlet Get-Proc, vea GetProc Tutorial.