是否有1-2行解决方案使用PowerShell从每个组中选择前五项?
例如,Get-Process按名称返回的组进程,并查看前三个wp3进程。
当然我可以按每个唯一名称进行迭代,但我希望有一个更短的解决方案。
答案 0 :(得分:25)
在这里,您可以像以前一样使用Get-Process
。
Get-Process | Group-Object ProcessName | ForEach-Object {
$_ | Select-Object -ExpandProperty Group | Select-Object -First 5
}
这将按属性对事物进行分组,然后为每个组重新将组扩展为其原始形式,并选择前5个条目。
我想你可以在Select-Object -First 5
管道之前进行排序,只能获得它的顶级CPU使用率属性,而不仅仅是5个看似随机的属性。
答案 1 :(得分:1)
对于你想要的,也许Format-Table -GroupBy ProcessName
会是一个更好的选择,例如:
Get-Process | Format-Table -GroupBy ProcessName