因此,這裏是有趣的時代:我有一個列中的虛擬服務器值的數組等。有一個ForEach循環,每個服務器經歷,我試圖淘汰服務器對磁盤的計數爲0。這裏是我的語法:PowerCLI問題與硬盤驅動器計數返回值
$VMInfo.Disks = Get-HardDisk -VM $VM | Measure-Object | Select-Object Count
在導出的CSV文件中,如果沒有硬盤,該列的值爲@ {Count = 0}。所以我想這個if語句會從報表中剔除掉那些服務器的好方法(這個if語句是給ForEach整體命令的一部分):
if ($VMInfo.Disks -ne "@{Count=0}") {
$Report += $VMInfo
}
然而,當我有if語句,我還是獲取導出的CSV文件中沒有包含硬盤驅動器的服務器。有任何想法嗎?我是否需要將$ VMInfo.Disks -ne「@ {Count = 0}」命令更改爲其他內容?任何幫助將不勝感激!
編輯: 嘗試使用-gt 0,而不是-ne的 「@ {COUNT = 0}」,但得到了以下錯誤:
Cannot compare "@{Count=2}" to "0" because the objects are not the same type or the object "@{Count=2}" does not implement "IComparable".
編輯: 嘗試使用@ {COUNT = 0}而不是「@ {Count = 0}」,但它沒有什麼區別 - CSV仍然在其中包含@ {Count = 0}的列。