Tetszőleges objektumcsoport elemeivel kapcsolatos összegzést átlagolást, stb. végezhetünk el a Measure-Object cmdlet segítségével. A cmdlet két különböző üzemmódban használható, és ennek megfelelően két különböző típusú objektumot adhat kimenetül. Szöveges üzemmódot a -line, -word, -character paraméterek valamelyikével kérhetünk, ekkor a bemenetként érkező objektumok szöveges reprezentációjából származó értékek kerülnek a kimenetbe, vagyis a cmdlet megszámolja a szövegben található sorokat, szavakat és karaktereket.
Például, számoljuk meg egy fájlba kitett könyvtárlista dir.txt sorait, szavait és karaktereit! A megoldás egyszerűen a következő (az -ignorewhitespace paraméter használata esetén a szóközök és tabulátorok nem számítanak bele a karakterek számába):
PS C:\> get-content c:\dir.txt | measure-object -ignorewhitespace -line -word -char | format-table -autosize
Lines Words Characters Property
----- ----- ---------- --------
13 55 403
Ha a -property paraméter után megadjuk a bemenő objektumok valamelyik tulajdonságának nevét, akkor a kimeneten a megadott tulajdonság összege, átlaga, maximális és minimális értéke fog megjelenni.
Például összegezzük a rendszerfolyamatok fizikai memóriafoglalását! A megoldás egyszerűen a következő:
PS C:\> get-process | measure-object -property workingset -sum -average -m
ax -min
Count : 42
Average : 4400664,38095238
Sum : 184827904
Maximum : 80818176
Minimum : 16384
Property : WorkingSet
A count sorban lévő szám ebben az esetben azt jelenti, hogy 42 darab „workingset” tulajdonságot átlagolt, illetve összegzett a cmdlet, vagyis ennyi Process objektumot kapott bemenetként.
Ha csak a fenti statisztika egyik számadatával szeretnénk dolgozni, akkor a szokásos tulajdonsághivatkozással ezt is megtehetjük. Például szeretném a fenti memóriafoglalást megabájtokban kijelezni:
[7] PS I:\>(get-process | measure-object -property workingset -sum).sum / 1m
b
968,5390625