【发布时间】:2016-04-10 09:36:16
【问题描述】:
我正在尝试通过 PowerShell 命令获取进程名称和进程内存使用情况:
Get-Process | Group-Object -Property ProcessName |
Format-Table Name, @{n='Mem (KB)';e={
'{0:N0}' -f (($_.Group|Measure-Object WorkingSet -Sum).Sum / 1KB)
};a='right'} -AutoSize
但是当我使用ConvertTo-Json 进行管道传输时,输出不同,这让我得到了 ClassID、outOfBand 的详细信息,这不是我期望的输出。
我希望以与屏幕上显示的方式完全相同的方式(名称和内存 (KB))输出,但采用 JSON 格式。
【问题讨论】:
-
不要将
Format-Table输出到ConvertTo-Json- 使用Select-Object而不是Format-Table -
@MathiasR.Jessen 但是我该如何计算内存大小呢?当我使用 Format-Table 它计算但使用 Select-Object 它不计算进程使用的内存
-
Select-Object接受计算属性,就像Format-Table一样。如果您需要合格的帮助,请显示不起作用的代码:) -
@MathiasR.Jessen 谢谢我想通了:) 并回答了这个问题。
标签: json powershell