2012-06-13 21 views
1

我试图创建使用下面的脚本监控目的的表的表:格式化计数器数据在PowerShell中

$w3wppriv = get-counter '\process(w3w*)\working set - private' 
$w3wpid = get-counter '\process(w3w*)\id process' 

0..($w3wpid.Length -1) | 
select-object (
    @{n="Proces ID"; e={$w3wpid.CounterSamples.Cookedvalue[$_]}}, 
    @{n="Memory Usage(KB)"; e={$w3wppriv.CounterSamples.CookedValue[$_]}} 
      ) | 
    format-table -auto; 

我试图得到下面的输出:

Process ID Memory Usage(KB) 
---------- ---------------- 
44353  234324343 
35343  230909324 
2341  932423234 

但是,输出不显示任何数据。我想它与数组有关,但我不清楚如何解决这个问题。谢谢!

+0

我想通了......我花了一个小时:)不能发布8的另一个例子,但这里的答案: –

+0

$ w3wppriv = ((get-counter -counter'\ process(w3w *)\ working set - private')。CounterSamples)| select-object -expandproperty cookedvalue $ w3wpid =((get-counter'\ process(w3w *)\ id process')。CounterSamples)| select-object -expandproperty cookedvalue 0 ..($ w3wpid.Length -1)| select-object( @ {n =“Proces ID”; e = {$ w3wpid [$ _]}}, \t @ {n =“Memory Usage(KB)”; e = {$ w3wppriv [$ _] }} )| format-table -auto; –

+1

我一定错过了一些东西。难道你不能这样做:Get-Process |格式 - 表 - 属性ID,WS -autosize – David

回答

1

这里一无所知,但如何寻找:)

$w3wppriv = ((get-counter -counter '\process(w3w*)\working set - private').CounterSamples) | select-object -expandproperty cookedvalue 
$w3wpid = ((get-counter '\process(w3w*)\id process').CounterSamples) | select-object -expandproperty cookedvalue 

0..($w3wpid.Length -1) | 
    select-object (
     @{n="Proces ID"; e={$w3wpid[$_]}}, 
     @{n="Memory Usage(KB)"; e={$w3wppriv[$_]}} 
     ) | 
    format-table -auto;