有没有简单的方法可以使用PowerCLI根据ESX主机的总体利用率对其进行排序?

时间:2014-03-09 19:13:24

标签: sorting powershell vmware powercli utilization

我尝试使用与此类似的代码对主机进行排序(这可能稍微不正确,因为我目前没有安装PowerCLI的盒子):

$hosts = Get-VMHost
$SortedHosts = $hosts | Sort-Object CPUUsageMhz,MemoryUsageGB

问题在于它首先根据CPUUsageMhz对其进行排序,然后按MemoryUsageGB对其进行排序。我想对它进行排序,以便总体使用率最低的主机(内存和CPU)位于列表的顶部/前面,而最常用的主机位于底部。我使用当前排序方法遇到的一个问题是具有最低CPUUsageMhz的主机具有最高的MemoryUsageGB。

1 个答案:

答案 0 :(得分:0)

查看Sort-Object help中的示例6。

get-childitem *.txt | sort-object -property @{Expression={$_.LastWriteTime - $_.CreationTime}; Ascending=$false}

这说明了如何使用独立的升序首选项设计自定义排序算法。

您需要自己设计算法,因为没有标准的方法来对CPU和RAM的使用进行排序。根据复杂程度,您可能需要自己处理排序,而不是使用Sort-Object。

祝你好运!