我可以列出进程,但如何让它们按最高使用率而不是按字母顺序显示呢?Wmic path win32_performatteddata_perfproc_process get Name,PercentProcessorTime
Wmic path win32_performatteddata_perfproc_process get Name,PercentProcessorTime
siv3szwd1#
在powershell中,您不需要直接调用wmic,Get-CimInstance旨在轻松查询WMI和CIM类的所有示例,以及输出对象,这些都很容易操作。可以使用Sort-Object对PowerShell中的对象进行排序。
wmic
Get-CimInstance
Sort-Object
Get-CimInstance Win32_PerfFormattedData_PerfProc_Process | Sort-Object PercentPrivilegedTime -Descending | Select-Object Name, PercentProcessorTime
您甚至可以更进一步,在Group-Object的帮助下按名称对对象进行分组:
Group-Object
Get-CimInstance Win32_PerfFormattedData_PerfProc_Process | Group-Object { $_.Name -replace '#\d+$' } | ForEach-Object { [pscustomobject]@{ Instances = $_.Count Name = $_.Name PercentProcessorTime = [Linq.Enumerable]::Sum([int[]] $_.Group.PercentProcessorTime) } } | Sort-Object PercentProcessorTime -Descending
1条答案
按热度按时间siv3szwd1#
在powershell中,您不需要直接调用
wmic
,Get-CimInstance
旨在轻松查询WMI和CIM类的所有示例,以及输出对象,这些都很容易操作。可以使用Sort-Object
对PowerShell中的对象进行排序。您甚至可以更进一步,在
Group-Object
的帮助下按名称对对象进行分组: