2014-09-18 35 views
0

我有這樣的代碼可以參數屬於多個參數集嗎?

Param(

    [Parameter(ParameterSetName='InsertException')] 
    [switch]$insert, 

    [Parameter(ParameterSetName='UpdateException')] 
    [switch]$update, 

    [Parameter(ParameterSetName='GetException')] 
    [switch]$get, 

    [Parameter(Mandatory=$True, ParameterSetName='UpdateException')] 
    [string]$userName 
) 

我想使用開關-update或-insert但在使用開關-get參數$用戶名不應該問什麼時候該參數$用戶名是強制性的。

我該怎麼做?

回答

2

看看幫助主題about_functions_advanced_parameters,它會告訴你該怎麼做:

Param 
(
    [parameter(Mandatory=$true, 
       ParameterSetName="Computer")] 
    [String[]] 
    $ComputerName, 

    [parameter(Mandatory=$true, 
       ParameterSetName="User")] 
    [String[]] 
    $UserName 

    [parameter(Mandatory=$false, ParameterSetName="Computer")] 
    [parameter(Mandatory=$true, ParameterSetName="User")] 
    [Switch] 
    $Summary 
) 
相關問題