背景:
这是一个参数验证,它在powershell 2.0上运行
没有升级WMF的选项。我的问题是......
如果两个参数都为空,则显示指定参数,如果只有P1为空,则显示另一个,如果P2为空,则显示另一个,如果两个都被占用,则显示另一个。我无法找到一种方法让它正常工作......
请帮忙
Function checkParam
{
write-verbose "Parameter Validation"
If ("Lzu","Mlv","Irv" -Contains $MoveDBsTo)
{$param1=1}
else{$param1=0}
If (1,2,3 -Contains $SelectedPref)
{$param2=1}
else{$param2=0}
If ($param1 -and $param2 -eq 0)
{
$ErrorParams4 = @{
Message="SYNTAX ERROR: `n Specify a parameter"
Category="InvalidData"
}
Write-error @ErrorParams4
$paramsEmpty=1
Exit
}
If ($param1 -eq 0 -and $param2 -ne 1)
{
$ErrorParams1 = @{
Message="SYNTAX ERROR: `n Check syntax: -MoveDBsto [Lzu, Mlv, Irv]"
Category="InvalidData"
}
$param1=2
Write-error @ErrorParams1
Exit
}
If ($param2 -eq 0 -and $param1 -ne 1)
{
$ErrorParams2 = @{
Message="SYNTAX ERROR: `n Check syntax: -SelectedPref [1,2,3]"
Category="InvalidData"
}
$param2=2
Write-error @ErrorParams2
Exit
}
If ($param1 + $param2 -eq 2)
{
$ErrorParams3 = @{
Message="SYNTAX ERROR: `n Specify only one parameter"
Category="InvalidData"
}
Write-error @ErrorParams3
Exit
}
}
checkParam