无法获得where-object& -gt一起工作

时间:2016-03-09 22:26:33

标签: powershell

我只是想过滤掉" PeakWorkingSetSize"的变量。过程使输出只能大于5000.无论我尝试什么组合,数字都不会过滤。请帮忙。

get-wmiobject -class Win32_Process | where-object {$_.PeakWorkingSetSize -gt "5000"} | format-table -auto

感谢@Matt!

我实际上还不知道问题是什么。 XD 以下是有效的代码:

get-wmiobject -class Win32_Process | where-object {$_.PeakWorkingSetSize -gt "5000" | format-table -property Name,PeakWorkingSetSize -auto

1 个答案:

答案 0 :(得分:1)

此查询没有任何问题,它应该在您编写时运行。 Format-Table会产生一些奇怪的输出大小,其中一些属性不能很好地转换为字符串。您的查询和选择一些特定属性会为我产生预期的结果。 5000虽然是一个非常低的数字。

PS C:\Users\Matt> get-wmiobject -class Win32_Process | where-object {$_.PeakWorkingSetSize -gt "5000"} | select name,processid,peakworkingsetsize 

name                                   processid peakworkingsetsize
----                                   --------- ------------------
System                                         4              15588
csrss.exe                                    580              35412
csrss.exe                                    732              47356
services.exe                                 780              11820
winlogon.exe                                 812               8832
.... output truncated.....

如果仍有问题,我认为我们需要查看您的预期输出以了解错误。