Get Network Card Bandwidth Info using PowerShell

There are a lot of tools around to monitor your network and NICs, but I found a single line of PowerShell code can list your network cards (local and remote as well) and their bandwidths:

Get-WmiObject -class Win32_PerfFormattedData_Tcpip_NetworkInterface |
    Select Name, CurrentBandWidth |
        @{Expression={$_.Name}; Label="NIC" },
        @{Expression={$_.CurrentBandWidth/ 1000000 }; Label="MBit/s"}

2 thoughts on “Get Network Card Bandwidth Info using PowerShell

  1. Here is the output:

    Get-WmiObject : Invalid query
    At line:1 char:14
    + Get-WmiObject <<<< -class Win32_PerfFormattedData_Tcpip_NetworkInterface |
    + CategoryInfo : InvalidOperation: (:) [Get-WmiObject], ManagementException
    + FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

  2. Thanks for your post.

    I would rather calcultate properties during the ‘Select-Object’… One solution :

    Get-WmiObject -class Win32_PerfFormattedData_Tcpip_NetworkInterface |
    Select @{Name=”NIC”; Expression={$ .Name} },@{Name=”MBit/s”; Expression={[Math]::Round($ .CurrentBandWidth/ 1MB) }} |

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.