Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом примере показано, как определить два набора параметров при объявлении параметров для командлета. Каждый набор параметров имеет как уникальный параметр, так и общий параметр, который используется обоими наборами параметров. Дополнительные сведения о наборах параметров, в том числе о том, как указать набор параметров по умолчанию, см. в разделе наборы параметров командлета.
Важно!
Везде, где это возможно, определите уникальный параметр набора параметров в качестве обязательного параметра. Однако если вы хотите, чтобы командлет выполнялся без указания каких бы то ни было параметров, параметр UNIQUE может быть необязательным параметром. Например, уникальный параметр Get-Command командлета является необязательным.
Определение двух наборов параметров
Добавьте
ParameterSetключевое слово в атрибут Parameter для уникального параметра первого набора параметров.[Parameter(Position = 0, Mandatory = true, ParameterSetName = "Test01")] public string UserName { get { return userName; } set { userName = value; } } private string userName;Добавьте
ParameterSetключевое слово в атрибут Parameter для уникального параметра второго набора параметров.[Parameter(Position = 0, Mandatory = true, ParameterSetName = "Test02")] public string ComputerName { get { return computerName; } set { computerName = value; } } private string computerName;Для параметра, который принадлежит обоим наборам параметров, добавьте атрибут Parameter для каждого набора параметров, а затем добавьте
ParameterSetключевое слово в каждый набор. В каждом атрибуте параметра можно указать способ определения этого параметра. Параметр может быть необязательным в одном наборе и обязателен в другом.[Parameter(Mandatory= true, ParameterSetName = "Test01")] [Parameter(ParameterSetName = "Test02")] public string SharedParam { get { return sharedParam; } set { sharedParam = value; } } private string sharedParam;