在 Powershell 的表中格式化计数器数据
Posted
技术标签:
【中文标题】在 Powershell 的表中格式化计数器数据【英文标题】:Formatting Counter Data in a Table in 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”。 【参考方案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;
【讨论】:
以上是关于在 Powershell 的表中格式化计数器数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在 sql server 2008 的同一张表中使用计数和分组方式和自连接?