我需要过滤掉" IP地址"中的空白。以下PowerCLI脚本的列,但我很难搞清楚。
这是核心脚本。
Get-VM | select Name, @{N="IP Address";E={@($_.guest.IPAddress[3])}}, Guest, PowerState
这是我尝试过的失败的脚本之一。
Get-VM | select Name, @{N="IP Address";E={@($_.guest.IPAddress[3])}}, Guest, PowerState | where-object { @{N="IP Address";E={@($_.guest.IPAddress[3])}} -ne "" }
任何帮助都将不胜感激。
谢谢,
-Rob
答案 0 :(得分:1)
您已经建立了客户财产。您现在可以直接使用它进行过滤
Get-VM | select Name, @{N="IP Address";E={@($_.guest.IPAddress[3])}}, Guest, PowerState | where-object{$_."IP Address"}
或
Get-VM | Where-Object{$_.guest.IPAddress[3]} | select Name, @{N="IP Address";E={@($_.guest.IPAddress[3])}}, Guest, PowerState
如果属性为null或为空,则将评估为false。在您的示例中,您正在评估哈希表的创建。第一个示例检查新创建的IP Address
属性。其次,检查该属性的源数据。他们应该评估相同的方式。