【问题标题】:Get network usage for ethernet cards with MAC addresses获取具有 MAC 地址的以太网卡的网络使用情况
【发布时间】:2013-06-27 15:30:39
【问题描述】:

我正在尝试获取一个 PowerShell 脚本来为我提供网卡名称、mac 和当前使用情况。以下是我的半工作概念。我只是不确定如何将用法与对方匹配。

$NetworkCards = [System.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces() Foreach($NetworkCards 中的$Card){ if ($Card.NetworkInterfaceType -eq "以太网") { $统计 = $null 写入主机“名称:”$Card.Name 写主机 "Mac:" $Card.GetPhysicalAddress() $Statistics = $Card.GetIPv4Statistics() $统计 #$BytesTotalPersec = $Statistics.BytesTotalPersec #$CurrentBandwidth = $Statistics.CurrentBandwidth #$Math = (($BytesTotalPersec*8)/$CurrentBandwidth)*100 #$Math = [Math]::Round($Math,2) #Write-Host $Math } }

我知道 GetIPvStatistics 是错误的。在一个完美的世界里,我想从 Win32_PerfFormattedData_Tcpip_NetworkInterface 获取数据

【问题讨论】:

  • 与对方匹配使用?那是哪一面?

标签: performance powershell wmi


【解决方案1】:

为什么不使用那个 WMI 类?

PS> $data = Get-WmiObject Win32_PerfFormatteData_Tcpip_NetworkInterface | 
                Where {$_.Name -match 'Ethernet'}
PS> $data.BytesTotalPersec
28388

【讨论】:

  • 我最初使用的是那个确切的 wmi 类。但问题是我找不到确定显示哪张卡的方法。我有一个 4 网卡服务器,它会为所有 4 个服务器显示“Intel Pro Model #”。没有 mac、ID 或实际名称。我需要一种方法来确定我要为哪张卡获取字节总数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-17
  • 1970-01-01
  • 2013-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多