获取从NIC发送和接收的累积字节数

时间:2009-04-05 11:04:33

标签: networking windows-server-2008 prtg

是否有任何简单的方法(可能通过脚本)获取从Windows 2008 Server上的NIC发送和接收的累积字节数?

例如,NIC当前显示大约18 MB的已发送数据和765 MB的已接收数据。

由于我的服务器提供商无法轻松查看每月带宽使用情况,因此获取NIC数据似乎是最可靠的。

我知道我可以使用PRTG通过SNMP获取当前的使用数据,但它只是一个平均值,因为传感器每隔60秒检查一次。

5 个答案:

答案 0 :(得分:7)

在Powershell(CTP2v3)中,以下命令将有所帮助。 (我有三个接口)。但是,一旦重新启动NIC,此信息将清零。

$computer = "LocalHost" ;
$namespace = "root\CIMV2" ;
$Tcpip_NI = Get-WmiObject -class Win32_PerfRawData_Tcpip_NetworkInterface -computername $computer -namespace $namespace ;
$Tcpip_NI | Select BytesReceivedPersec,BytesSentPersec,BytesTotalPersec ;

$netsh_interface_stats = netsh interface ip show interface ;
$netsh_interface_stats | Select-string "In Octets" ;
$netsh_interface_stats | Select-string "Out Octets" ;

答案 1 :(得分:2)

netstat -e有帮助吗?似乎没有区分NIC,但是您也可以将维护界面流量混合到其中。

否则这听起来像WMI和Powershell。

答案 2 :(得分:1)

您可以使用IronRuby或IronPython脚本并使用System.Net.NetworkInformation命名空间,尽管编写快速C#或VB.Net控制台应用程序可能更容易。

编辑:您可能需要的课程是IPv4InterfaceStatistics

答案 3 :(得分:0)

简短说明:
以下对我来说非常合适 - 这个数字包含负数并且您需要为此构建一些逻辑。我在混合环境中运行,并且没有PowerShell可用,所以我的解决方案是使用wmic: wmic Win32_PerfRawData_Tcpip_NetworkInterface Get BytesReceivedPersec,BytesSentPersec,BytesTotalPersec

答案 4 :(得分:-1)

我找到了一个针对我自己的问题的现有解决方案PRTG Network Monitor V7(http://www.paessler.com/prtg)。

它有传感器与WMI连接并获取网卡数据。非常好:))