是否有任何简单的方法(可能通过脚本)获取从Windows 2008 Server上的NIC发送和接收的累积字节数?
例如,NIC当前显示大约18 MB的已发送数据和765 MB的已接收数据。
由于我的服务器提供商无法轻松查看每月带宽使用情况,因此获取NIC数据似乎是最可靠的。
我知道我可以使用PRTG通过SNMP获取当前的使用数据,但它只是一个平均值,因为传感器每隔60秒检查一次。
答案 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连接并获取网卡数据。非常好:))