【发布时间】:2009-04-05 11:04:32
【问题描述】:
是否有一种简单的方法(也许通过脚本)来获取从Windows Server 2008 上的NIC 发送和接收的累积字节数?
例如,NIC 当前显示大约 18 MB 的发送数据和 765 MB 的接收数据。
由于我的服务器提供商没有提供查看每月带宽使用情况的简单方法,因此获取 NIC 数据似乎是最可靠的方法。
【问题讨论】:
标签: networking windows-server-2008 prtg
是否有一种简单的方法(也许通过脚本)来获取从Windows Server 2008 上的NIC 发送和接收的累积字节数?
例如,NIC 当前显示大约 18 MB 的发送数据和 765 MB 的接收数据。
由于我的服务器提供商没有提供查看每月带宽使用情况的简单方法,因此获取 NIC 数据似乎是最可靠的方法。
【问题讨论】:
标签: networking windows-server-2008 prtg
在 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";
【讨论】:
wmic path Win32_PerfRawData_Tcpip_NetworkInterface get BytesReceivedPersec,BytesSentPersec,BytesTotalPersec
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接口并获取网卡数据。非常好:)
【讨论】: