パラメーター セットを宣言する方法
この例では、コマンドレットのパラメーターを宣言するときに2つのパラメーターセットを定義する方法を示します。 各パラメーターセットには、一意のパラメーターと、両方のパラメーターセットで使用される共有パラメーターの両方があります。 既定のパラメーターセットの指定方法など、パラメーターセットの詳細については、「 コマンドレットパラメーターセット」を参照してください。
重要
可能な限り、パラメーターセットの一意のパラメーターを必須パラメーターとして定義します。 ただし、パラメーターを指定せずにコマンドレットを実行する場合は、unique パラメーターを省略可能なパラメーターにすることができます。 たとえば、コマンドレットの一意のパラメーター Get-Command
は省略可能です。
2つのパラメーターセットを定義する方法
最初の
ParameterSet
パラメーターセットの unique パラメーターのパラメーター属性にキーワードを追加します。[Parameter(Position = 0, Mandatory = true, ParameterSetName = "Test01")] public string UserName { get { return userName; } set { userName = value; } } private string userName;
ParameterSet
2 番目のパラメーターセットの unique パラメーターの parameter 属性にキーワードを追加します。[Parameter(Position = 0, Mandatory = true, ParameterSetName = "Test02")] public string ComputerName { get { return computerName; } set { computerName = value; } } private string computerName;
両方のパラメーターセットに属するパラメーターについては、各パラメーターセットにパラメーター属性を追加し、
ParameterSet
各セットにキーワードを追加します。 各パラメーター属性では、パラメーターの定義方法を指定できます。 パラメーターは、1つのセットでは省略可能であり、別のセットでは必須です。[Parameter(Mandatory= true, ParameterSetName = "Test01")] [Parameter(ParameterSetName = "Test02")] public string SharedParam { get { return sharedParam; } set { sharedParam = value; } } private string sharedParam;