- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you LuCD for the reply. Script works but the uplinks status connected under dVSwitch not getting the correct status (vmnic...)
VSS - vswitch0
DVS - dvLANXX
Please advise.
VMHost Switch NIC LinkStatus
------ ------ --- ----------
esx1 vSwitch0 vmnic3 Up
esx1 vSwitch0 vmnic0 Up
esx1 vSwitch0 vmn... Up
esx1 vSwitch0 vmn... Up
esx1 vSwitch0 vmn... Up
esx1 vSwitch0 vmn... Up
esx2 vSwitch0 vmnic3 Up
esx2 vSwitch0 vmnic2 Up
esx2 vSwitch0 vmn... Up
esx2 vSwitch0 vmn... Up
esx2 vSwitch0 vmnic4 Up
esx2 vSwitch0 vmnic5 Up
Tried in the below way but unable to get dVSwitch information and ESXi host name in the first column
$Collection = @()
$Esxihosts = Get-VMHost | Where-Object {$_.ConnectionState -eq "Connected"}
foreach ($Esxihost in $Esxihosts) {
$Esxcli = Get-EsxCli -VMHost $Esxihost
$Esxihostview = Get-VMHost $EsxiHost | get-view
$NetworkSystem = $Esxihostview.Configmanager.Networksystem
$Networkview = Get-View $NetworkSystem
$DvSwitchInfo = Get-VDSwitch -VMHost $Esxihost
if ($DvSwitchInfo -ne $null) {
$DvSwitchHost = $DvSwitchInfo.ExtensionData.Config.Host
$DvSwitchHostView = Get-View $DvSwitchHost.config.host
$VMhostnic = $DvSwitchHostView.config.network.pnic
$DVNic = $DvSwitchHost.config.backing.PnicSpec.PnicDevice
}
$VMnics = $Esxihost | get-vmhostnetworkadapter -Physical #$_.NetworkInfo.Pnic
Foreach ($VMnic in $VMnics){
$realInfo = $Networkview.QueryNetworkHint($VMnic)
$pNics = $esxcli.network.nic.list() | where-object {$vmnic.name -eq $_.name} | Select-Object Description, Link
$Description = $esxcli.network.nic.list()
$CDPextended = $realInfo.connectedswitchport
if ($vmnic.Name -eq $DVNic) {
$vSwitch = $DVswitchInfo | where-object {$vmnic.Name -eq $DVNic} | select-object -ExpandProperty Name
}
else {
$vSwitchname = $Esxihost | Get-VirtualSwitch | Where-object {$_.nic -eq $VMnic.DeviceName}
$vSwitch = $vSwitchname.name
}
$CDPdetails = New-Object PSObject
$CDPdetails | Add-Member -Name EsxName -Value $esxihost.Name -MemberType NoteProperty
$CDPdetails | Add-Member -Name VMNic -Value $VMnic -MemberType NoteProperty
$CDPdetails | Add-Member -Name vSwitch -Value $vSwitch -MemberType NoteProperty
$CDPdetails | Add-Member -Name Link -Value $pNics.Link -MemberType NoteProperty
$CDPdetails | Add-Member -Name PortNo -Value $CDPextended.PortId -MemberType NoteProperty
$CDPdetails | Add-Member -Name Device-ID -Value $CDPextended.devID -MemberType NoteProperty
$CDPdetails | Add-Member -Name Switch-IP -Value $CDPextended.Address -MemberType NoteProperty
$CDPdetails | Add-Member -Name MacAddress -Value $vmnic.Mac -MemberType NoteProperty
$CDPdetails | Add-Member -Name SpeedMB -Value $vmnic.ExtensionData.LinkSpeed.SpeedMB -MemberType NoteProperty
$CDPdetails | Add-Member -Name Duplex -Value $vmnic.ExtensionData.LinkSpeed.Duplex -MemberType NoteProperty
$CDPdetails | Add-Member -Name Pnic-Vendor -Value $pNics.Description -MemberType NoteProperty
$CDPdetails | Add-Member -Name Pnic-drivers -Value $vmnic.ExtensionData.Driver -MemberType NoteProperty
$CDPdetails | Add-Member -Name PCI-Slot -Value $vmnic.ExtensionData.Pci -MemberType NoteProperty
$collection += $CDPdetails
}
}
$Collection | Sort-Object esxname, vmnic | ft *
Regards
Narayanan.