4

我想获取我的计算机在某个时间间隔内发送/接收的总字节数。

Powershell 有一个方便的 cmdlet,可以让我访问该信息(Qualcomm Atheros AR9285 无线网络适配器是我的接口名称):

Get-Counter -Counter "\Network Interface(Qualcomm Atheros AR9285 Wireless Network Adapter)\Bytes received/sec" -Continuous

它可以很好地获取数据,但结果如下:

在此处输入图像描述

我可以用我想要的方式来关闭它,Get-Counter -Counter "\Network Interface(Qualcomm Atheros AR9285 Wireless Network Adapter)\Bytes received/sec" -Continuous | Format-Table -Property Readings但是在我想要的值前面仍然有一个很长的路径名。

此外,如果我尝试将输出设置为某个变量,则不会完成任何赋值(变量保持为空)。

我怎样才能以体面的格式获取这些数据?

注意:目标是保持对这些信息的统计,然后在达到阈值时执行一些操作。如果我可以使上述方法起作用,我可以做到这一点,但是如果有更好的方法来做到这一点,我很乐意改用它。

4

1 回答 1

7

通过管道传输到Foreach-ObjectCounterSamples 属性并从中获取值。CounterSamples 是一个数组,值在第一项中:

Get-Counter -Counter "\Network Interface(Qualcomm Atheros AR9285 Wireless Network Adapter)\Bytes received/sec" -Continuous |
Foreach-Object {$_.CounterSamples[0].CookedValue}
于 2012-08-29T17:43:20.060 回答