我尝试使用与此类似的代码对主机进行排序(这可能稍微不正确,因为我目前没有安装PowerCLI的盒子):
$hosts = Get-VMHost
$SortedHosts = $hosts | Sort-Object CPUUsageMhz,MemoryUsageGB
问题在于它首先根据CPUUsageMhz对其进行排序,然后按MemoryUsageGB对其进行排序。我想对它进行排序,以便总体使用率最低的主机(内存和CPU)位于列表的顶部/前面,而最常用的主机位于底部。我使用当前排序方法遇到的一个问题是具有最低CPUUsageMhz的主机具有最高的MemoryUsageGB。
答案 0 :(得分:0)
查看Sort-Object help中的示例6。
get-childitem *.txt | sort-object -property @{Expression={$_.LastWriteTime - $_.CreationTime}; Ascending=$false}
这说明了如何使用独立的升序首选项设计自定义排序算法。
您需要自己设计算法,因为没有标准的方法来对CPU和RAM的使用进行排序。根据复杂程度,您可能需要自己处理排序,而不是使用Sort-Object。
祝你好运!