1

我的基本问题是我想从 IP 地址列表中找到总网络 IO。许多服务器具有不同的 NIC,有些具有组合 NIC。

由于似乎我需要为网络接口实例提供确切的名称,因此我创建了一个实例名称数组:

Dim category As New PerformanceCounterCategory("Network Interface")
Dim instancenames As String() = category.GetInstanceNames()

然后,我逐步查看名称并添加到 performancecounter 对象列表中:

            For Each instancename In instancenames
            network.Add(New PerformanceCounter())

            With network(i)
                .CategoryName = "Network Interface"
                .CounterName = "Bytes Total/sec"
                .InstanceName = instancename
                .MachineName = ip_address
            End With

            Try
                network_usage = network_usage + network(i).NextValue()
            Catch ex As Exception

            End Try

            i = i + 1
        Next

问题是当我尝试获取下一个值时,从代码的第一部分生成的名称会引发异常:“指定类别中不存在实例'本地连接 * 12'。”

检索到的名称似乎与在特定服务器上查看 perfmon 时使用的名称不同,但不确定这是否重要

4

0 回答 0