Поделиться через


Объявление атрибута параметра

Атрибут Параметра определяет общедоступное свойство класса командлета в качестве параметра командлета.

Синтаксис

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

Параметры

Mandatory (System.Boolean) Необязательный именованный параметр. True указывает, что требуется параметр командлета. Если обязательный параметр не указан при вызове командлета, Windows PowerShell запрашивает пользователю значение параметра. Значение по умолчанию — false.

ParameterSetName (System.String) Необязательный именованный параметр. Указывает набор параметров, к которому принадлежит этот параметр командлета. Если набор параметров не указан, параметр принадлежит всем наборам параметров.

Position (System.Int32) Необязательный именованный параметр. Указывает положение параметра в команде Windows PowerShell.

ValueFromPipeline (System.Boolean) Необязательный именованный параметр. True указывает, что параметр командлета принимает его значение из объекта конвейера. Укажите это ключевое слово, если командлет обращается к полному объекту, а не только к свойству объекта. Значение по умолчанию — false.

ValueFromPipelineByPropertyName (System.Boolean) Необязательный именованный параметр. True указывает, что параметр командлета принимает его значение из свойства объекта конвейера, имеющего то же имя или тот же псевдоним, что и этот параметр. Например, если командлет имеет параметр Name, а объект конвейера также имеет свойство Name, значение свойства Name назначается параметру Name командлета. Значение по умолчанию — false.

ValueFromRemainingArguments (System.Boolean) Необязательный именованный параметр. True указывает, что параметр командлета принимает все оставшиеся аргументы, передаваемые командлету. Значение по умолчанию — false.

HelpMessage (System.String) Необязательный именованный параметр. Указывает краткое описание параметра. Windows PowerShell отображает это сообщение при запуске командлета, а обязательный параметр не указан.

HelpMessageBaseName (System.String) Необязательный именованный параметр. Указывает расположение, в котором находятся идентификаторы ресурсов. Например, этот параметр может указать сборку ресурсов, содержащую сообщения справки, которые необходимо локализовать.

HelpMessageResourceId (System.String) Необязательный именованный параметр. Указывает идентификатор ресурса для сообщения справки.

DontShow (System.Boolean) Необязательный именованный параметр. True указывает, что параметр скрыт от пользователя для расширения вкладок и IntelliSense. Значение по умолчанию — false.

Замечания

  • Дополнительные сведения об объявлении этого атрибута см. в разделе Объявление параметров командлета.

  • Командлет может иметь любое количество параметров. Однако для лучшего взаимодействия с пользователем ограничьте количество параметров.

  • Параметры должны быть объявлены в общедоступных нестатических полях или свойствах. Параметры должны быть объявлены для свойств. Свойство должно иметь общедоступный метод доступа к набору, а если задано ключевое слово ValueFromPipeline или ValueFromPipelineByPropertyName, свойство должно иметь общедоступный метод доступа.

  • При указании позиционных параметров ограничьте количество позиционных параметров в параметре меньше пяти. И, позиционные параметры не должны быть смежными. Позиции 5, 100 и 250 работают так же, как позиции 0, 1 и 2.

  • Если ключевое слово Position не указано, параметр командлета должен ссылаться на его имя.

  • При использовании наборов параметров обратите внимание на следующее:

    • Каждый набор параметров должен иметь по крайней мере один уникальный параметр. Хороший дизайн командлета указывает, что этот уникальный параметр также должен быть обязательным, если это возможно. Если командлет предназначен для запуска без параметров, уникальный параметр не может быть обязательным.

    • Ни один набор параметров не должен содержать несколько позиционных параметров с той же позицией.

    • Только один параметр в наборе параметров должен объявлять ValueFromPipeline = true.

    • Несколько параметров могут определять ValueFromPipelineByPropertyName = true.

  • Дополнительные сведения о рекомендациях по именам параметров см. в именах параметров командлетов.

  • Атрибут параметра определяется классом System.Management.Automation.ParameterAttribute.

  • Параметр DontShow имеет следующие побочные эффекты:

    • Влияет на все наборы параметров для связанного параметра, даже если есть набор параметров, в котором DontShow не используется.
    • Скрывает общие параметры от завершения вкладки и IntelliSense. DontShow не скрывает необязательные общие параметры: WhatIf, подтвердитьили UseTransaction.

См. также