Networking is one of the important factors for ensuring service availability. Incorrect network configurations will lead to the unavailability of data and services and if this happens in a production environment it will negatively affect the business.
In this article, I will briefly explain how to use PowerCLI to work with basic vSphere networking.
Connect to vCenter server using:
Connect-VIServer <IP address of vCenter>
VM IP
To get all IP details of a VM:
(Get-VM -Name <VM name>).Guest.IPAddress
VM network adapters, MAC, and IP
To get all network adapters, MAC address and IP details of a VM:
(Get-VM -Name <VM name>).Guest.Nics | select *
OR
(Get-VM -Name <VM name>).ExtensionData.Guest.Net
VDS
To get all the Virtual Distributed Switches (VDS):
Get-VDSwitch
To get all the details of a specific VDS:
Get-VDSwitch -Name <VD Switch name> | select *
To get VDS security policy:
Get-VDSwitch -Name <VD Switch name> | Get-VDSecurityPolicy | select *
VD Port group
To get all port groups of a specific VDS:
Get-VDPortgroup -VDSwitch <VD Switch name>
To get all the details of a specific port group in a VDS:
Get-VDPortgroup -VDSwitch <VD Switch name> -Name <Port group name> | select *
VD Port
To get all VD ports of a specific VD port group in a VDS:
Get-VDSwitch <VD Switch name> | Get-VDPortgroup <Port group name> | Get-VDPort
To get only active VD ports of a specific VD port group in a VDS:
Get-VDSwitch <VD Switch name> | Get-VDPortgroup <Port group name> | Get-VDPort -ActiveOnly
To get all details of a specific VD port in a VDS:
Get-VDPort -Key <Value> -VDSwitch <VD Switch name> | select *
VM connected to a VD port
To get the VM that is connected to a VD port:
(Get-VDPort -Key <Value> -VDSwitch <VD Switch name>).ExtensionData.Connectee
Get-VM -Id <VM Id>
Find VM using NIC MAC
Get-VM | where {$_.ExtensionData.Guest.Net.MacAddress -eq '<MAC Address>'}