PowerShell 1.0에서 enum 형식의 cmdlet 매개 변수가있는 경우 사용자가 cmdlet 명령 줄에서 해당 매개 변수를 지정했는지 테스트하는 데 권장되는 방법은 무엇입니까? 예를 들면 다음과 같습니다.PowerShell Cmdlet 매개 변수 값이 지정되었는지 어떻게 확인합니까?
MyEnum : int { No = 0, Yes = 1, MaybeSo = 2 }
class DoSomethingCommand : PSCmdlet
...
private MyEnum isEnabled;
[Parameter(Mandatory = false)]
public MyEnum IsEnabled
{
get { return isEnabled; }
set { isEnabled = value; }
}
protected override void ProcessRecord()
{
// How do I know if the user passed -IsEnabled <value> to the cmdlet?
}
더미 값으로 isEnabled를 시드하지 않아도이 작업을 수행 할 수 있습니까? 기본적으로 0과 같을 것이고 모든 매개 변수를 시드하거나 내 열거 형에 더미 값을 추가하지 않아도됩니다. 나는 많은 cmdlets에 100 개의 매개 변수가있을 수 있으므로 더 좋은 방법이 있어야합니다. 이것은 this question과 관련이 있습니다. 그러나 나는 이것을 수행하는 더 깨끗한 방법을 찾고있었습니다. 감사합니다. .
@Jack 스트로 는 "잠재적으로 매개 변수의 100의 많은 cmdlet을 가지고"한 경우에는 해당 기능의 최대의 일부를 깨는보고 할 수 있습니다. PowerShell의 주요 이점 중 하나는 검색 가능성이며 매개 변수가 많으면 자체 검색이 훨씬 어려워집니다. –
@Steven, 죄송합니다. 오해의 소지가 있습니다. 100 개의 매개 변수가있는 각 cmdlet은 아니지만 :) 많은 매개 변수가 나오는 많은 cmdlet입니다. 당신의 의견에 감사드립니다. –