检索 Powershell cmdlet 的实际 return 代码
Retrieving actual return code of a Powershell cmdlet
我正在尝试从 Powershell cmdlet 获取 return 代码。此 return 代码将传递到 Saltstack cmd.run
状态 (success_retcodes parameter)
我的应该产生错误的 cmdlet:Get-PSSessionConfiguration test
这将产生错误,因为 test 会话不存在。
运行 $?
之后总是生成 True
无论上述 cmdlet 是否失败。
这个练习的目的是故意不通过我认为采用数字值的上述参数使我在 Saltstack 中的状态失败。
如有任何建议,我们将不胜感激。
为什么不使用好的 ol' try/catch 块?
Try {
Get-PSSessionConfiguration test -ErrorAction stop
return $true
} Catch {
return $false
}
$LASTEXITCODE
returns 最后退出代码。或者,$Error
是存储所有错误的地方。从那里您可以过滤您想要捕获的错误。
$Error | Select Exception
我正在尝试从 Powershell cmdlet 获取 return 代码。此 return 代码将传递到 Saltstack cmd.run
状态 (success_retcodes parameter)
我的应该产生错误的 cmdlet:Get-PSSessionConfiguration test
这将产生错误,因为 test 会话不存在。
运行 $?
之后总是生成 True
无论上述 cmdlet 是否失败。
这个练习的目的是故意不通过我认为采用数字值的上述参数使我在 Saltstack 中的状态失败。 如有任何建议,我们将不胜感激。
为什么不使用好的 ol' try/catch 块?
Try {
Get-PSSessionConfiguration test -ErrorAction stop
return $true
} Catch {
return $false
}
$LASTEXITCODE
returns 最后退出代码。或者,$Error
是存储所有错误的地方。从那里您可以过滤您想要捕获的错误。
$Error | Select Exception