仅在使用参数时设置 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
}
我有一个可选的布尔参数
[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
}