2012-06-13 3 views
1

je tente de créer une table des fins de surveillance en utilisant le script suivant:compteur de données dans un tableau 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; 

Je tente d'obtenir la sortie suivante:

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

Cependant, la sortie n'affiche aucune donnée. J'imagine que cela a quelque chose à voir avec les tableaux, mais je ne sais pas comment résoudre ce problème. Merci!

+0

j'ai tout compris ... m'a pris une heure :) Ne peut pas poster pour 8, mais voici la réponse: –

+0

$ = w3wppriv ((get-counter -counter '\ process (w3w *) \ jeu de travail - private'). CounterSamples) | select-object -expandproperty cookedvalue $ w3wpid = ((get-counter '\ processus (w3w *) \ processus \'). CounterSamples) | select-object -expandproperty cookedvalue 0 .. ($ w3wpid.Length -1) | select-object ( @ {n = "ID du processus"; e = {$ w3wpid [$ _]}}, \t @ {n = "Utilisation de la mémoire (Ko)"; e = {$ w3wppriv [$ _] }} ) | format-table -auto; –

+1

Je dois manquer quelque chose. Ne pourriez-vous pas faire ceci: Get-Process | Format-Table -property Id, WS -autosize – David

Répondre

1

Voici un autre exemple de ne rien savoir, mais comment rechercher :)

$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; 
Questions connexes