PowerShell: Get Network Adapter Data Transfer Statistics
Need to check how much data has been sent and received over a network adapter - for monitoring bandwidth usage or troubleshooting a connectivity issue? This one-liner pulls it straight from the system.
Prerequisites:
- Privileges: None
- Module: Built-in, no import needed
Quick Command:
Get-NetAdapterStatistics
Example Output:
Name ReceivedBytes ReceivedUnicastPackets SentBytes SentUnicastPackets
---- ------------- ---------------------- --------- ------------------
Wi-Fi 0 0 0 0
Ethernet 1477526860 1202682 321192471 517366
📦
Want all of them at once?
Get every free one-liner from this blog in a single downloadable bundle organized by category, each with full comment-based help. No more copy-pasting one at a time.
Get every free one-liner from this blog in a single downloadable bundle organized by category, each with full comment-based help. No more copy-pasting one at a time.
How It Works:
- Get-NetAdapterStatistics returns cumulative traffic counters for every network adapter, tracked since the adapter was last initialized (typically since the last reboot or reconnect).
- ReceivedBytes/SentBytes show the total raw data transferred in bytes - large numbers here are normal for an active connection.
- ReceivedUnicastPackets/SentUnicastPackets show the packet count for standard one-to-one network traffic (as opposed to broadcast or multicast packets).
- An adapter showing all zeros (like Wi-Fi here) typically means it's inactive or disconnected - the machine is using a different adapter (Ethernet) for its actual network traffic.
Pro Tip:
To see the data in a more readable format (MB instead of raw bytes), convert it with a calculated property:
Get-NetAdapterStatistics | Select-Object Name, @{Name="ReceivedMB";Expression={[math]::Round($_.ReceivedBytes / 1MB, 2)}}, @{Name="SentMB";Expression={[math]::Round($_.SentBytes / 1MB, 2)}}