In this post I will share a simple PowerCLI script which generates some Network Device information from your vSphere hosts. The information you’ll get is the vmHost name, device name, linkspeed and MAC address.
$vmHostNicInfo = @() foreach($vmHost in (Get-VMHost | Sort Name)){ foreach($nic in $vmhost.NetworkInfo.PhysicalNic){ $Details = "" | Select vmHost, Device,Linkspeed,Mac $Details.vmHost = $vmhost.Name $Details.Device = $nic.Extensiondata.Device $Details.Linkspeed = ($nic.Extensiondata.Linkspeed).SpeedMB $Details.Mac = $nic.Extensiondata.Mac $vmHostNicInfo += $Details } } $vmHostNicInfo | Format-Table -AutoSize
The output will look like this:
But what if you only want to see the devices with a link speed lower then 1000? Well that’s possible with the following end line:
$vmHostNicInfo | Where {$_.Linkspeed -lt "1000"} | Format-Table -AutoSize
Or if you want to know which device/host belongs to a particular MAC address. You can use the following end line:
$vmHostNicInfo | Where {$_.Mac -eq "00:07:e9:1f:f9:bf"} | Format-Table -AutoSize
So with a small script, you’re able to export valuable data.
Thanks for sharing mate,
However it failed in my case here, as I’m using PowerGUI script editor with VMWare vSphere PowerCLI 4.1 U1 build 332441
WARNING: ‘PhysicalNic’ property is obsolete. Use ‘Get-VMHostNetworkAdapter’ cmdlet instead.
Operation is not valid due to the current state of the object.
At :line:0 char:0