我正在尝试编写一个 PowerShell 脚本,它将每 N 秒连续轮询一个性能计数器,然后将计数器返回的值相加。我的最终目标是将十几个计数器的结果汇总并运送到 Graphite 服务器进行监控和报告。
到目前为止,这是我为一个特定的柜台拼凑而成的,我只是不确定如何在 PowerShell 魔法巫术的土地上获得一些东西。
- 我不知道如何将作业 ID 获取为整数,因此我可以自动执行 while 循环。
仅返回来自 Receive-Job 的 CounterSample 数据,这些数据可以通过管道传输到 Measure-Object 以获得总和。
Start-Job {Get-Counter -Counter "\Network Interface(MyNic)\Bytes Received/sec" -Continuous -SampleRate 1} while ($true) { start-sleep -s 10 Receive-Job -id N }
我也很想知道一种简单或有效的方法来动态确定 PowerShell v1.0 或 v2.0 中 Windows 框上的活动 NIC。"\Network Interface(*)\" 有效,但给了我一切。