stefanmuc
Goto Top

In der Powershell Datenrate einer Netzwerkschnittstelle berechnen

Hallo,
ich will in der Powershell die ausgehende Datenrate einer Netzwerkschnittstelle (ETH2) berechnen.
Die Netzwerkkarte kann ich so abfragen:
Get-NetAdapter | Where-Object { $_.Name -eq "ETH2" }

Die absolut abgehend übertragenen Bytes werden als 4. Spalte hier dargestellt:
Get-NetAdapterStatistics ETH2

10s warten und nochmal abfragen
anschließend die Differenz in Mbit/s umrechnen

Gibt es eine einfachere Herangehensweise?

Content-ID: 669433

Url: https://administrator.de/contentid/669433

Printed on: December 7, 2024 at 21:12 o'clock

MysticFoxDE
Solution MysticFoxDE Nov 12, 2024 at 20:42:58 (UTC)
Goto Top
Moin @StefanMUC,

Gibt es eine einfachere Herangehensweise?

$NIC = "Ethernet"   
$NICSendBytesA = Get-NetAdapterStatistics -Name $NIC | Select-Object -ExpandProperty "SentBytes"  
$NICReceivedBytesA = Get-NetAdapterStatistics -Name $NIC | Select-Object -ExpandProperty "ReceivedBytes"  
Start-Sleep -Seconds 10
$NICSendBytesB = Get-NetAdapterStatistics -Name $NIC | Select-Object -ExpandProperty "SentBytes"  
$NICReceivedBytesB = Get-NetAdapterStatistics -Name $NIC | Select-Object -ExpandProperty "ReceivedBytes"  

$Sendedurchsatz = ($NICSendBytesB - $NICSendBytesA) / 1024 / 1024 / 10
$Empfangsdurchsatz = ($NICReceivedBytesB - $NICReceivedBytesA) / 1024 / 1024 / 10

Write-Host ("Der Sendedurchsatz der NIC " + $NIC + " betrug in den letzten 10 Sekunden " + $Sendedurchsatz + " MB/s")  
Write-Host ("Der Empfangsdurchsatz der NIC " + $NIC + " betrug in den letzten 10 Sekunden " + $Empfangsdurchsatz + " MB/s")  
😉

Gruss Alex
150940
150940 Nov 12, 2024 updated at 20:48:59 (UTC)
Goto Top
Einfach mit Get-Counter die Performance Counter der Netzwerkschnittstelle abfragen dann muss man es nicht zu fuß tun 😉

Gruß catrell
MysticFoxDE
MysticFoxDE Nov 12, 2024 at 20:52:10 (UTC)
Goto Top
Moin @150940,

Einfach mit Get-Counter die Performance Counter der Netzwerkschnittstelle abfragen dann muss man es nicht zu fuß tun 😉

ja, aber damit siehst du nur den aktuellen Durchsatz und nicht den über die letzten 10 Sekunden. 😉

Gruss Alex
TwistedAir
TwistedAir Nov 12, 2024 at 21:28:02 (UTC)
Goto Top
Moin.

Zitat von @MysticFoxDE:

Moin @150940,

Einfach mit Get-Counter die Performance Counter der Netzwerkschnittstelle abfragen dann muss man es nicht zu fuß tun 😉

ja, aber damit siehst du nur den aktuellen Durchsatz und nicht den über die letzten 10 Sekunden. 😉

Er könnte es ja um ein Sample-Intervall erweitern:
$paths = (Get-Counter -ListSet netzwerkadapter).PathsWithInstances | Select-String "wi-fi" | Select-String "bytes"  
Get-Counter -Counter $paths -SampleInterval 10 -Continuous

  • -Continuous zur wiederholten Abfrage ist optional
  • Select-String "wi-fi" muss an den eigenen Adapter angepasst werden

Gruß
TA
StefanMUC
StefanMUC Nov 12, 2024 at 21:43:32 (UTC)
Goto Top
Danke @MysticFoxDE, das war die beste Lösung!