我正在尝试使用以下代码将对象属性分配给字符串:
$VMDynMemMax = Get-SCVirtualMachine $_.Name | Select -Expand DynamicMemoryMaximumMB
但有时DynamicMemoryMaximumMB可能为null。发生这种情况时,脚本会抛出InvalidArgument错误。我相信这是因为我使用-Expand并且Null无法扩展。
我正在使用-Expand,因为我后来在使用label和expression的自定义表中使用字符串$ VMDynMemMax。如果我不使用-Expand,则表中生成的值将显示为
@{VariableName=Value}
而不仅仅是
Value
在扩展或分配之前,我该如何检查属性的Null值?
答案 0 :(得分:0)
我喜欢在[string]下使用IsNullOrEmpty方法来测试Null值,但不是这样,然后执行操作。
If (-NOT [string]::IsNullOrEmpty($VMDynMemMax)) {
#DO WORK
}
答案 1 :(得分:0)
@TessellatingHeckler - 使用(Get-SCVirtualMachine $_.Name).DynamicMemoryMaximumMB
为我工作!