性能计数器取网卡流量
生活随笔
收集整理的這篇文章主要介紹了
性能计数器取网卡流量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.通過性能計數器取網卡流量
$public_interface = "Broadcom BCM5709C NetXtreme II GigE [NDIS VBD 客戶端]"$counter = New-Object Diagnostics.PerformanceCounter $counter.CategoryName = "Network Interface" $counter.InstanceName = $public_interface #$counter.CategoryName = "Processor Information(_Total)"#添加計數器屬性值,此處監視可用內存 $counter.CounterName = "Bytes Sent/sec" #$counter.CounterName = "Bytes Received/sec"#$counter.nextsample() #取樣本(RawValue),需要間隔1秒,取兩個sample做減法,才能得出每秒流量 #獲取當前計數器的值 $value = $counter.NextValue() Start-Sleep -Seconds 1 $counter.NextValue()?
2.通過get-counter取網卡流量(PS2.0)
#$networkcounter = get-counter -counter "\Network Interface(Broadcom BCM5709C NetXtreme II GigE [NDIS VBD 客戶端])\Bytes Sent/sec" #-continuous$networkcounter = get-counter -counter "\Network Interface($public_interface)\Bytes Sent/sec" #-continuous($networkcounter.CounterSamples|Select CookedValue).CookedValue?
同時取網卡發送/接收流量
#檢查機器上配置IP的網卡數量,配置了gateway的網卡為Public,否則為Private [array]$netifs = gwmi Win32_NetworkAdapterConfiguration -Filter "IPEnabled='true'" If ($netifs.count -eq 1){$public_interface = $netifs[0].Description.replace("(","[").replace(")","]").replace("#","_")} If ($netifs.count -eq 2){$public_interface = ($netifs | ? {$_.DefaultIPGateway -ne $null}).Description.replace("(","[").replace(")","]").replace("#","_")$private_interface = ($netifs | ? {$_.DefaultIPGateway -eq $null}).Description.replace("(","[").replace(")","]").replace("#","_")}#定義函數,通過性能計數器取網卡發送/接收流量 Function Netif_Sent_Received($interfacename,$send_member,$receiev_member) { $counter_Sent = New-Object Diagnostics.PerformanceCounter $counter_Receive = New-Object Diagnostics.PerformanceCounter $counter_Sent.CategoryName = "Network Interface" $counter_Receive.CategoryName = "Network Interface" $counter_Sent.InstanceName = $interfacename $counter_Receive.InstanceName = $interfacename $counter_Sent.CounterName = "Bytes Sent/sec" $counter_Receive.CounterName = "Bytes Received/sec" $value_Sent = $counter_Sent.NextValue() $value_Receive = $counter_Receive.NextValue() Start-Sleep -Seconds 1 $Sent = $counter_Sent.NextValue() $Receive = $counter_Receive.NextValue() $i_object | Add-Member -MemberType NoteProperty -name $send_member -value $sent $i_object | Add-Member -MemberType NoteProperty -name $receiev_member -value $receive }#將所有結果存放到$i_object對象中 $i_object = New-Object system.object If ($private_interface -ne $null){Netif_Sent_Received $private_interface Private_Send Private_Receive} If ($public_interface -ne $null) {Netif_Sent_Received $public_interface Public_Send Public_Receive}?
轉載于:https://www.cnblogs.com/dreamer-fish/p/4710838.html
總結
以上是生活随笔為你收集整理的性能计数器取网卡流量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bash history 命令记录日志
- 下一篇: nyoj 47 江 河问题 【贪婪】