仅在使用参数时设置 bool 值 Powershell

Set bool value only when parameter is used Powershell

我有一个可选的布尔参数

[Parameter(Mandatory=$false,Position=15)]
[bool]$MyBoolValue,

我想稍后在代码中设置为我的变量:

$SomeVariable=$MyBoolValue

但前提是在 cmdlet 中设置了参数

Do-MyStuff -Name blabla -MyBoolValue $false

如果 cmdlet 不包含参数

Do-MyStuff -Name blabla 

$SomeVariable 应该保持不变(根据函数的其他元素可能为假或为真)

我发现了这个:

if($MyBoolValue.IsPresent)
  {
  $SomeVariable=$MyBoolValue
  }

但是完全忽略了(没有.IsPresent属性??)

有什么建议吗?

使用$PSBoundParameters自动变量:

if($PSBoundParameters.ContainsKey("MyBoolValue")){
    $SomeVariable=$MyBoolValue
}