+++
PS C:\> ps | unique
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
94 7 11688 9828 49 500 audiodg
31 4 1500 4460 57 0,02 2096 conime
495 10 2664 4772 111 552 csrss
152 15 67184 94684 173 7,55 2100 dwm
...
+++
Tegyük csoportokba a processeket a ProcessName property szeint (ez az alapértelmezett csoportosító property):
+++
PS C:\> ps | group
Count Name Group
----- ---- -----
1 System.Diagnostics.Pro... {audiodg}
1 System.Diagnostics.Pro... {conime}
...
2 System.Diagnostics.Pro... {iexplore, iexplore}
...
1 System.Diagnostics.Pro... {NMBgMonitor}
1 System.Diagnostics.Pro... {NMIndexingService}
1 System.Diagnostics.Pro... {NMIndexStoreSvr}
1 System.Diagnostics.Pro... {OUTLOOK}
1 System.Diagnostics.Pro... {powershell}
2 System.Diagnostics.Pro... {rundll32, rundll32}
...
1 System.Diagnostics.Pro... {spoolsv}
13 System.Diagnostics.Pro... {svchost, svchost, svchost, svchost...}
1 System.Diagnostics.Pro... {System}
2 System.Diagnostics.Pro... {taskeng, taskeng}
1 System.Diagnostics.Pro... {TOTALCMD}
...
+++
A Microsoft által írt futú programoknak számoljuk ki az összes és az átlagos memóriahasználatát:
+++
PS C:\> ps |? {$_.Company -ne $null -and $_.Company.StartsWith("Microsoft")} | Measure-Object -Average -Sum -Property WorkingSet
Count : 16
Average : 30749184
Sum : 491986944
Maximum :
Minimum :
Property : WorkingSet
+++
Azért kell vizsgálni a Company property nem nullságát, mert nonadmin nem kérheti le ezt az értéket.
Kombinált példa: csoportosítsuk azokat a processeket, amelyekből több van, majd a csoportok átlagos és összes memóriahasználatát írjuk ki táblázatos formában:
+++
PS C:\> ps | group |? {$_.Count -gt 1} |% {$_.Group | Measure-Object -Sum -Average -Property WorkingSet} | ft Count,Average, Sum
Count Average Sum
----- ------- ---
2 9160704 18321408
2 59123712 118247424
2 5644288 11288576
2 25597952 51195904
13 19103428,9230769 248344576
2 9789440 19578880
+++
Persze miért ne lehetne külső programokat behívni?
Kombináljuk a wget-es feed-lekérést az xml konverzióval és feldolgozással:
+++
PS C:\> ([xml](wget http://feeds.feedburner.com/HUP -q -O -)).rss.channel.Item | select title
title
-----
Linux hajtja majd az Intel MID-jeit
...
+++