是否有一种简单的方法(可能通过脚本)来获取从Windows Server 2008上的NIC发送和接收的累积字节数?
例如,NIC 当前显示大约 18 MB 的发送数据和 765 MB 的接收数据。
由于我的服务器提供商没有提供查看每月带宽使用情况的简单方法,因此获取 NIC 数据似乎是最可靠的方法。
是否有一种简单的方法(可能通过脚本)来获取从Windows Server 2008上的NIC发送和接收的累积字节数?
例如,NIC 当前显示大约 18 MB 的发送数据和 765 MB 的接收数据。
由于我的服务器提供商没有提供查看每月带宽使用情况的简单方法,因此获取 NIC 数据似乎是最可靠的方法。
在 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";
有netstat -e
帮助吗?它似乎无法区分 NIC,但您的维护接口流量也可能混入其中。
否则,这听起来像是WMI和PowerShell。
您可以使用IronRuby或IronPython脚本并使用System.Net.NetworkInformation命名空间,尽管创建一个快速的 C# 或 VB.NET 控制台应用程序可能更容易。
您可能需要类IPv4InterfaceStatistics。
只是一个简短的说明:
以下内容对我来说非常有效 - 请注意数字为负数,您需要为此建立一些逻辑。我在混合环境中运行,并且没有任何东西都可以使用 PowerShell,所以我的解决方案是使用WMIC:
wmic Win32_PerfRawData_Tcpip_NetworkInterface Get BytesReceivedPersec,BytesSentPersec,BytesTotalPersec
我为我自己的问题找到了一个现有的解决方案,PRTG Network Monitor版本 7。
它具有与WMI接口并获取网卡数据的传感器。非常好 :)