【问题标题】:Formatting Counter Data in a Table in Powershell在 Powershell 的表中格式化计数器数据
【发布时间】:2012-06-13 18:26:32
【问题描述】:

我正在尝试使用以下脚本创建一个用于监控目的的表:

$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

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

【问题讨论】:

  • 我想通了...花了我一个小时 :) 不能发帖 8 但这是答案:
  • $w3wppriv = ((get-counter -counter '\process(w3w*)\working set - private').CounterSamples) |选择对象-expandpropertycookvalue $w3wpid = ((get-counter '\process(w3w*)\id process').CounterSamples) |选择对象-expandpropertycookvalue 0..($w3wpid.Length -1) |选择对象 (@{n="进程 ID"; e={$w3wpid[$_]}}, @{n="内存使用情况(KB)"; e={$w3wppriv[$_]}}) |格式表-auto;
  • 我一定错过了什么。你不能这样做:Get-Process | Format-Table -property Id, WS -autosize
  • 我正在寻找workingset -private...与ws非常不同。
  • 好吧,您可以输出运行“get-process |”时看到的“Get-Process”的任何属性。 get-member',但这并不是重点。我只是建议您可以以比“get-counter”更具方向性的方式使用“get-process”。

标签: arrays powershell formatting performancecounter


【解决方案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;

【讨论】:

    猜你喜欢
    • 2021-12-08
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多