VMware中执行Get-VM cmdlet传入未定义$vm_name的结果是什么?
运行结果实测结论
当$vm_name未定义(PowerShell中未定义变量默认取值为$null)时,在VMware PowerCLI环境下执行命令:
Get-VM -Name $vm_name -ErrorAction SilentlyContinue
会得到如下结果:
- 没有任何可见的控制台输出
- 命令最终的返回值为
$null
额外验证说明
如果去掉-ErrorAction SilentlyContinue参数执行相同逻辑,会触发明确的参数校验错误:
Get-VM : 无法验证参数“Name”的参数。该参数为 Null 或为空。请提供一个不为 Null 且不为空的参数,然后重试该命令。 所在位置 行:1 字符: 11 + Get-VM -Name $null + ~~~~~~ + CategoryInfo : InvalidData: (:) [Get-VM],ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationError,VMware.VimAutomation.ViCore.Cmdlets.Commands.GetVM
添加-ErrorAction SilentlyContinue后,所有错误输出被完全抑制,也无有效虚拟机对象返回。
内容的提问来源于stack exchange,提问作者T M Suhas
相关产品推荐
相关产品推荐

