Неоднозначная привязка SwitchParameter в командлете PoweShell
Я хочу добавить два параметра переключателя в мой пользовательский командлет PowerShell следующим образом:
[Parameter(Mandatory = false, ParameterSetName = "p1")]
public SwitchParameter switchOne { get; set; }
[Parameter(Mandatory = false, ParameterSetName = "p2")]
public SwitchParameter switchTwo { get; set; }
Но когда я выполняю свой командлет, он поднимается AmbiguousParameterSet
даже когда я не указываю ни один из них. Я что-то здесь упускаю?
1 ответ
Решение
Установите для обязательного атрибута значение true, если переключатель однозначно указывает на использование набора параметров.
Если это так, то вам может потребоваться пересмотреть использование наборов параметров, каждый набор должен быть уникальным, если вам нужен переключатель для указания уникальности, то, вероятно, вам не нужны наборы параметров.
Однако без полного списка параметров сказать сложно.