我想得到计算机在一段时间内发送/接收的总字节数。
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
,但在我想要的值前面仍然有一个很长的路径名。
此外,如果我尝试将输出设置为某个变量,则不会完成任务(变量保持为空)。
如何以合适的格式获取此数据?
注意:目标是保持此信息的运行记录,然后在达到阈值时执行某些操作。我能做到这一点,如果我可以让上述工作,但如果有更好的方法,我很乐意使用它。
答案 0 :(得分:5)
管道到Foreach-Object
并从CounterSamples属性中获取值。 CounterSamples是一个数组,值在第一项中:
Get-Counter -Counter "\Network Interface(Qualcomm Atheros AR9285 Wireless Network Adapter)\Bytes received/sec" -Continuous |
Foreach-Object {$_.CounterSamples[0].CookedValue}