In this post I will show you how you can generate a simple report of your dvPortgroups. The report shows the Name of the dvPortgroup, The portbinding configuration, The total ports configured, The total ports in use and last but not least the total ports left on the dvPortgroup.
The script below will search for all distributed portgroups in your vCenter where you’re connected to with PowerCLI.
$pgInfo = @() foreach($pg in (get-virtualportgroup -distributed | Sort Name)){ $details = "" | Select Name, PortBinding, Totalports, Portsinuse, Portsleft $totalPorts = $pg.ExtensionData.PortKeys.count $Portsinuse = $pg.ExtensionData.vm.count $portsleft = ($totalPorts - $Portsinuse) $details.Name = $pg.name $details.PortBinding = $pg.PortBinding $details.Totalports = $totalPorts $details.Portsinuse = $Portsinuse $details.Portsleft = $portsleft $pgInfo += $details } $pgInfo | Export-Csv -UseCulture -NoTypeInformation C:\Scripts\dvPortgroupInfo.csv
The CSV output will look like this:
Name | PortBinding | Totalports | Portsinuse | Portsleft |
vlan1 | Static | 32 | 4 | 28 |
vlan2 | Static | 32 | 0 | 32 |
vlan3 | Static | 32 | 7 | 25 |
vlan4 | Static | 32 | 1 | 31 |
vlan5 | Static | 32 | 12 | 20 |
vlan6 | Static | 32 | 0 | 32 |
With a simple PowerCLI script you can create a report of all your dvPortgroups. I am going to create another PowerCLI script to use as a Nagios plugin to see witch of the dvPortgroups have less than <X> ports left. So to be continued.
thanks, this will come in handy.
possible to add a column that lists the cluster name that the dvs belongs to?
I added the following to suite my needs.
$details = “” | Select Name, PortBinding, Totalports, Portsinuse, Portsleft, VLANID, VDSwitch
…
$details.VLANID = $pg.VlanConfiguration
$details.VDSwitch = $pg.VDSwitch
My Thanks to the original author.