我正在尝试自动检查快照的DS可用空间。对于连接了多个DS的VM来说,它变得棘手。如果条件满足,脚本会为此类VM拍摄多个快照。请帮助我了解问题出在哪里。
合并可用空间:
$free = (Get-Datastore -VM $vm | Select @{N="FreeSpace";E={[math]::Round(($_.FreeSpaceMB)*100/($_.CapacityMB),0)}})
现在检查连接了VM的每个DS中是否有可用空间:
foreach ($ds in $free.FreeSpace)
{
if (($ds -gt 25)
{
get-vm $vm | new-snapshot -name "$cmr.$date" -Description $description
}
}
答案 0 :(得分:0)
如果我正确理解了有关处理多个数据存储的问题,那么我将考虑在基于FreeSpaceMB属性的初始Sort-Object
之后引入Get-Datastore
,然后仅选择第一个数据存储区(可用存储空间应最少),然后根据该数据存储区执行计算。
未经测试的示例:
$free = (Get-Datastore -VM $vm | Sort-Object -Property FreeSpaceMB | Select-Object -Property @{N="FreeSpace";E={[math]::Round(($_.FreeSpaceMB)*100/($_.CapacityMB),0)}} -First 1)