共用方式為


參數屬性宣告

Parameter 屬性會將 Cmdlet 類別的公用屬性識別為 Cmdlet 參數。

語法

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

參數

MandatorySystem.Boolean) 選擇性具名參數。 True 表示需要 Cmdlet 參數。 如果在叫用 Cmdlet 時未提供必要的參數,Windows PowerShell 會提示使用者輸入參數值。 預設值為 false

ParameterSetNameSystem.String) 選擇性具名參數。 指定這個 Cmdlet 參數所屬的參數集。 如果未指定任何參數集,參數會屬於所有參數集。

PositionSystem.Int32) 選擇性具名參數。 指定參數在 Windows PowerShell 命令中的位置。

ValueFromPipelineSystem.Boolean) 選擇性具名參數。 True 表示 Cmdlet 參數會從管線物件取得其值。 如果 Cmdlet 存取完整的物件,而不只是 對象的 屬性,請指定這個關鍵詞。 預設值為 false

ValueFromPipelineByPropertyNameSystem.Boolean) 選擇性具名參數。 True 表示 Cmdlet 參數會從管線對象的屬性取得其值,該屬性的名稱或與此參數相同的別名。 例如,如果 Cmdlet 具有 Name 參數,而且管線物件也有 Name 屬性,則會將 Name 屬性的值指派給 Cmdlet 的 Name 參數。 預設值為 false

ValueFromRemainingArgumentsSystem.Boolean) 選擇性具名參數。 True 表示 Cmdlet 參數接受傳遞至 Cmdlet 的所有剩餘自變數。 預設值為 false

HelpMessageSystem.String) 選擇性具名參數。 指定參數的簡短描述。 執行 Cmdlet 且未指定強制參數時,Windows PowerShell 會顯示此訊息。

HelpMessageBaseNameSystem.String) 選擇性具名參數。 指定資源識別碼所在的位置。 例如,此參數可以指定資源元件,其中包含您想要本地化的說明訊息。

HelpMessageResourceIdSystem.String) 選擇性具名參數。指定說明訊息的資源識別碼。

DontShowSystem.Boolean) 選擇性具名參數。 True 表示參數會從用戶隱藏,以供索引標籤展開和 IntelliSense 使用。 預設值為 false

言論

  • 如需如何宣告此屬性的詳細資訊,請參閱 如何宣告 Cmdlet 參數

  • Cmdlet 可以有任意數目的參數。 不過,為了獲得更好的用戶體驗,請限制參數數目。

  • 參數必須在公用非靜態字段或屬性上宣告。 參數應該在屬性上宣告。 屬性必須有公用集合存取子,而且如果指定了 ValueFromPipelineValueFromPipelineByPropertyName 關鍵詞,屬性就必須有公用 get 存取子。

  • 當您指定位置參數時,請將參數中的位置參數數目限制為小於 5。 而且,位置參數不一定是連續的。 位置 5、100 和 250 與位置 0、1 和 2 相同。

  • 未指定 Position 關鍵詞時,Cmdlet 參數必須以其名稱參考。

  • 當您使用參數集時,請注意下列事項:

    • 每個參數集都必須至少有一個唯一參數。 良好的 Cmdlet 設計表示,如果可能的話,這個唯一參數也應該是強制性的。 如果您的 Cmdlet 設計為在沒有參數的情況下執行,則不能強制使用唯一參數。

    • 沒有參數集應該包含多個具有相同位置的位置參數。

    • 參數集中只有一個參數應該宣告 ValueFromPipeline = true

    • 多個參數可以定義 ValueFromPipelineByPropertyName = true

  • 如需參數名稱指導方針的詳細資訊,請參閱 Cmdlet 參數名稱

  • 參數屬性是由 System.Management.Automation.ParameterAttribute 類別所定義。

  • DontShow 參數具有下列副作用:

    • 即使有參數集未使用 DontShow,也會影響相關聯參數的所有參數集。
    • 隱藏索引標籤完成和 IntelliSense 中的一般參數。 DontShow 不會隱藏選擇性的一般參數:WhatIfConfirmUseTransaction

另請參閱