Compartir a través de


Declaración de atributo de parámetro

El atributo Parameter identifica una propiedad pública de la clase de cmdlet como parámetro de cmdlet.

Sintaxis

[Parameter()]
[Parameter(Named Parameters...)]

Parámetros

Mandatory (System.Boolean) Parámetro con nombre opcional. True indica que se requiere el parámetro de cmdlet. Si no se proporciona un parámetro necesario cuando se invoca el cmdlet, Windows PowerShell solicita al usuario un valor de parámetro. El valor predeterminado es false.

ParameterSetName (System.String) Parámetro con nombre opcional. Especifica el conjunto de parámetros al que pertenece este parámetro de cmdlet. Si no se especifica ningún conjunto de parámetros, el parámetro pertenece a todos los conjuntos de parámetros.

Position (System.Int32) Parámetro con nombre opcional. Especifica la posición del parámetro dentro de un comando de Windows PowerShell.

ValueFromPipeline (System.Boolean) Parámetro con nombre opcional. True indica que el parámetro del cmdlet toma su valor de un objeto de canalización. Especifique esta palabra clave si el cmdlet tiene acceso al objeto completo, no solo una propiedad del objeto . El valor predeterminado es false.

ValueFromPipelineByPropertyName (System.Boolean) Parámetro con nombre opcional. True indica que el parámetro de cmdlet toma su valor de una propiedad de un objeto de canalización que tiene el mismo nombre o el mismo alias que este parámetro. Por ejemplo, si el cmdlet tiene un parámetro Name y el objeto de canalización también tiene una propiedad Name, el valor de la propiedad Name se asigna al parámetro Name del cmdlet. El valor predeterminado es false.

ValueFromRemainingArguments (System.Boolean) Parámetro con nombre opcional. True indica que el parámetro del cmdlet acepta todos los argumentos restantes que se pasan al cmdlet. El valor predeterminado es false.

HelpMessage (System.String) Parámetro con nombre opcional. Especifica una breve descripción del parámetro. Windows PowerShell muestra este mensaje cuando se ejecuta un cmdlet y no se especifica un parámetro obligatorio.

HelpMessageBaseName (System.String) Parámetro con nombre opcional. Especifica la ubicación donde residen los identificadores de recursos. Por ejemplo, este parámetro podría especificar un ensamblado de recursos que contiene mensajes de Ayuda que desea localizar.

HelpMessageResourceId (System.String) Parámetro con nombre opcional. Especifica el identificador de recurso de un mensaje de Ayuda.

DontShow (System.Boolean) Parámetro con nombre opcional. True indica que el parámetro está oculto del usuario para la expansión de pestañas e IntelliSense. El valor predeterminado es false.

Observaciones

  • Para obtener más información sobre cómo declarar este atributo, vea Cómo declarar parámetros de cmdlet.

  • Un cmdlet puede tener cualquier número de parámetros. Sin embargo, para mejorar la experiencia del usuario, limite el número de parámetros.

  • Los parámetros deben declararse en propiedades o campos no estáticos públicos. Los parámetros deben declararse en las propiedades. La propiedad debe tener un descriptor de acceso de conjunto público y, si se especifica la palabra clave ValueFromPipeline o ValueFromPipelineByPropertyName, la propiedad debe tener un descriptor de acceso get público.

  • Al especificar parámetros posicionales, limite el número de parámetros posicionales de un parámetro establecido en menos de cinco. Además, los parámetros posicionales no tienen que ser contiguos. Las posiciones 5, 100 y 250 funcionan igual que las posiciones 0, 1 y 2.

  • Cuando no se especifica la palabra clave Position, se debe hacer referencia al parámetro del cmdlet por su nombre.

  • Al usar conjuntos de parámetros, tenga en cuenta lo siguiente:

    • Cada conjunto de parámetros debe tener al menos un parámetro único. El buen diseño de cmdlets indica que este parámetro único también debe ser obligatorio si es posible. Si el cmdlet está diseñado para ejecutarse sin parámetros, el parámetro único no puede ser obligatorio.

    • Ningún conjunto de parámetros debe contener más de un parámetro posicional con la misma posición.

    • Solo un parámetro de un conjunto de parámetros debe declarar ValueFromPipeline = true.

    • Varios parámetros pueden definir ValueFromPipelineByPropertyName = true.

  • Para obtener más información sobre las directrices para los nombres de parámetros, consulte nombres de parámetros de cmdlet.

  • El atributo de parámetro se define mediante la clase System.Management.Automation.ParameterAttribute.

  • El parámetro DontShow tiene los siguientes efectos secundarios:

    • Afecta a todos los conjuntos de parámetros para el parámetro asociado, incluso si hay un conjunto de parámetros en el que DontShow no se usa.
    • Oculta los parámetros comunes de la finalización de pestañas e IntelliSense. DontShow no oculta los parámetros comunes opcionales: WhatIf, Confirmaro UseTransaction.

Consulte también