1 2 Previous Next 23 Replies Latest reply on Mar 28, 2017 12:46 AM by vin01

    Host Hardware info with HBA and nic driver information

    vin01 Hot Shot

      Can some one help me to complete the below script.I can't able to get HBA and Nic Driver information.

      
      Get-Datacenter | % {  
        $datacenter=$_
        Get-VMhost -Location $datacenter | Get-VMHostHBA -Type FibreChannel | where {$_.Status -eq "online"} | 
        Select @{N="Datacenter";E={$datacenter}},@{N="VMHost";E={$_.VMHost.Name}},@{N="HostName";E={$($_.VMHost | Get-VMHostNetwork).HostName}},@{N="ver";E={$_.VMhost.version}},@{N="Manf";E={$_.VMhost.Manufacturer}}, @{N="Hostmodel";E={$_.VMhost.Model}},@{Name="SerialNumber";Expression={$_.VMhost.ExtensionData.Hardware.SystemInfo.OtherIdentifyingInfo |Where-Object {$_.IdentifierType.Key -eq "Servicetag"} |Select-Object -ExpandProperty IdentifierValue}},
        @{N="Cluster";E={
              if($_.VMHost.ExtensionData.Parent.Type -ne "ClusterComputeResource"){"Stand alone host"}
              else{
                  Get-view -Id $_.VMHost.ExtensionData.Parent | Select -ExpandProperty Name
              }
            }},Device,Status,@{N="WWN";E={((("{0:X}"-f $_.PortWorldWideName).ToLower()) -replace "(\w{2})",'$1:').TrimEnd(':')}},@{N="HBA Model";E={($_.VMhost | get-vmhosthba -Type FibreChannel | where {$_.Status -eq "online"} | select-object -ExpandProperty Model  ) | Get-Unique}},
            @{N="fnicdriver";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$hbadriver.*"} | Select -Expand Version}}
            @{N="Fnicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$hbadriver.*"} | Select -Expand Vendor}},
            @{N="enicdriver";E={$esxcli.system.module.get("enic").version}}
           @{N="Enicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".$net.*"} | Select -Expand Vendor}}
      } 
      
      
      Regards
      Vineeth.K
        • 1. Re: Host Hardware info with HBA and nic driver information
          LucD Guru
          User ModeratorsvExpertCommunity Warriors

          There are commas missing at the end of lines 11 and 13.

          The reference to the HBADriver property in the match string should be done differently.

          Does this return values for you ?

           

              Get-Datacenter | % {   

                $datacenter=$_ 

                Get-VMhost -Location $datacenter | Get-VMHostHBA -Type FibreChannel | where {$_.Status -eq "online"} |  

                Select @{N="Datacenter";E={$datacenter}},@{N="VMHost";E={$_.VMHost.Name}},@{N="HostName";E={$($_.VMHost | Get-VMHostNetwork).HostName}},@{N="ver";E={$_.VMhost.version}},@{N="Manf";E={$_.VMhost.Manufacturer}}, @{N="Hostmodel";E={$_.VMhost.Model}},@{Name="SerialNumber";Expression={$_.VMhost.ExtensionData.Hardware.SystemInfo.OtherIdentifyingInfo |Where-Object {$_.IdentifierType.Key -eq "Servicetag"} |Select-Object -ExpandProperty IdentifierValue}}, 

                @{N="Cluster";E=

                      if($_.VMHost.ExtensionData.Parent.Type -ne "ClusterComputeResource"){"Stand alone host"

                      else

                          Get-view -Id $_.VMHost.ExtensionData.Parent | Select -ExpandProperty Name 

                      } 

                    }},Device,Status,@{N="WWN";E={((("{0:X}"-f $_.PortWorldWideName).ToLower()) -replace "(\w{2})",'$1:').TrimEnd(':')}},@{N="HBA Model";E={($_.VMhost | get-vmhosthba -Type FibreChannel | where {$_.Status -eq "online"} | select-object -ExpandProperty Model  ) | Get-Unique}}, 

                    @{N="fnicdriver";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($_.hbadriver).*"} | Select -Expand Version}},

                    @{N="Fnicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($_.hbadriver).*"} | Select -Expand Vendor}}, 

                    @{N="enicdriver";E={$esxcli.system.module.get("enic").version}}, 

                   @{N="Enicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".net.*"} | Select -Expand Vendor}} 

              }   

          Blog: http://lucd.info | Twitter: @LucD22 | PowerCLI Reference co-author: http://tinyurl.com/hkn4glz
          • 2. Re: Host Hardware info with HBA and nic driver information
            vin01 Hot Shot

            Thanks Luc That was my mistake while copying i missed commas.No it is not writing Fnic and Enic driver and vendor details.Can you correct this script to get those details.

             

            I'm missing where to add this ..

            $esxcli = Get-EsxCli -VMHost

            Because in

            $esxcli.software.vib.list()  how to sepecify host and for HBA and nic driver details.

             

            $esxcli.hardware.pci.list() |where {$hbaNames -contains $_.VMKernelName} |select VendorName

            Regards
            Vineeth.K
            • 3. Re: Host Hardware info with HBA and nic driver information
              LucD Guru
              User ModeratorsCommunity WarriorsvExpert

              Try like this, that should fix the $esxcli issue.

               

              Note that I didn't get any "enic" information either, I had to change it "cnic".

              Does $esxcli.system.module.list() show a "enic" module ?

               

              Get-Datacenter | % {  

                    $datacenter=$_

                    foreach($esx in Get-VMhost -Location $datacenter){

                      $esxcli = Get-EsxCli -VMHost $esx

                      Get-VMHostHBA -VMHost $esx -Type FibreChannel | where {$_.Status -eq "online"} | 

                          Select @{N="Datacenter";E={$datacenter}},

                              @{N="VMHost";E={$_.VMHost.Name}},

                              @{N="HostName";E={$($_.VMHost | Get-VMHostNetwork).HostName}},@{N="ver";E={$_.VMhost.version}},@{N="Manf";E={$_.VMhost.Manufacturer}}, @{N="Hostmodel";E={$_.VMhost.Model}},@{Name="SerialNumber";Expression={$_.VMhost.ExtensionData.Hardware.SystemInfo.OtherIdentifyingInfo |Where-Object {$_.IdentifierType.Key -eq "Servicetag"} |Select-Object -ExpandProperty IdentifierValue}},

                              @{N="Cluster";E={

                                  if($_.VMHost.ExtensionData.Parent.Type -ne "ClusterComputeResource"){"Stand alone host"}

                                  else{

                                      Get-view -Id $_.VMHost.ExtensionData.Parent | Select -ExpandProperty Name

                                  }}},

                              Device,Status,

                              @{N="WWN";E={((("{0:X}"-f $_.PortWorldWideName).ToLower()) -replace "(\w{2})",'$1:').TrimEnd(':')}},

                              @{N="HBA Model";E={($_.VMhost | get-vmhosthba -Type FibreChannel | where {$_.Status -eq "online"} | select-object -ExpandProperty Model  ) | Get-Unique}},

                              @{N="fnicdriver";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($_.hbadriver).*"} | Select -Expand Version}},

                              @{N="Fnicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($_.hbadriver).*"} | Select -Expand Vendor}},

                              @{N="enicdriver";E={$esxcli.system.module.get("enic").version}},

                              @{N="Enicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".net.*"} | Select -Expand Vendor}}

                      }

                  }  

               

              Blog: http://lucd.info | Twitter: @LucD22 | PowerCLI Reference co-author: http://tinyurl.com/hkn4glz
              • 4. Re: Host Hardware info with HBA and nic driver information
                vin01 Hot Shot

                Luc I used $esxcli.system.module.get to get fnic version also now its ok its pulling "net-enic" & "scsi-fnic" but i can't able to pull exact vendor information like Qlogic etc..which i tried below code which was given by you gives exact info like vendor Qlogic corp etc..

                ====================================

                &{foreach($esx in Get-VMHost){

                $esxcli = Get-EsxCli -VMHost $esx

                $hbaNames = Get-VMHostHba -VMHost $esx -Type FibreChannel | Select -ExpandProperty Name

                $esxcli.hardware.pci.list() |where {$hbaNames -contains $_.VMKernelName} |

                Select @{N="ESX";E={$esx.Name}},VMKernelName,DeviceName,VendorName,SubVendorID,SubDeviceID

                =====================================================

                Output :

                 

                qlogic.JPG

                =================

                Basically I'm trying to get below vendor names for nic and hba devices which we found in vcenter --hardware status --PCI --devics

                 

                pci devics.JPG

                ===================

                Can you add  $esxcli.hardware.pci.list() |where {$_. -contains $_.VMKernelName} |select VendorName  to  below code to get HBA and Nic vendor names as above.

                 

                Get-Datacenter | % { 

                      $datacenter=$_

                      foreach($esx in Get-VMhost -Location $datacenter){

                        $esxcli = Get-EsxCli -VMHost $esx

                        Get-VMHostHBA -VMHost $esx -Type FibreChannel | where {$_.Status -eq "online"} |

                            Select @{N="Datacenter";E={$datacenter}},

                                @{N="VMHost";E={$_.VMHost.Name}},

                                @{N="HostName";E={$($_.VMHost | Get-VMHostNetwork).HostName}},@{N="ver";E={$_.VMhost.version}},@{N="Manf";E={$_.VMhost.Manufacturer}}, @{N="Hostmodel";E={$_.VMhost.Model}},@{Name="SerialNumber";Expression={$_.VMhost.ExtensionData.Hardware.SystemInfo.OtherIdentifyingInfo |Where-Object {$_.IdentifierType.Key -eq "Servicetag"} |Select-Object -ExpandProperty IdentifierValue}},

                                @{N="Cluster";E={

                                    if($_.VMHost.ExtensionData.Parent.Type -ne "ClusterComputeResource"){"Stand alone host"}

                                    else{

                                        Get-view -Id $_.VMHost.ExtensionData.Parent | Select -ExpandProperty Name

                                    }}},

                                Device,Status,

                                @{N="WWN";E={((("{0:X}"-f $_.PortWorldWideName).ToLower()) -replace "(\w{2})",'$1:').TrimEnd(':')}},

                                @{N="HBA Model";E={($_.VMhost | get-vmhosthba -Type FibreChannel | where {$_.Status -eq "online"} | select-object -ExpandProperty Model  ) | Get-Unique}},

                               # @{N="fnicdriver";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($_.hbadriver).*"} | Select -Expand Version}},
                                @{N="fnicdriver";E={$esxcli.system.module.get("fnic").version}},

                                @{N="Fnicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($_.hbadriver).*"} | Select -Expand Vendor}},

                                @{N="enicdriver";E={$esxcli.system.module.get("enic").version}},

                                @{N="Enicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".net.*"} | Select -Expand Vendor}}

                        }

                    } 

                Regards
                Vineeth.K
                • 5. Re: Host Hardware info with HBA and nic driver information
                  LucD Guru
                  vExpertCommunity WarriorsUser Moderators

                  You can get the vendors of the ESX NIC cards in a similar way.

                   

                  &{foreach($esx in Get-VMHost){

                      $esxcli = Get-EsxCli -VMHost $esx

                      $vnicNames = Get-VMHostNetworkAdapter -VMHost $esx | Select -ExpandProperty DeviceName

                      $esxcli.hardware.pci.list() |where {$vnicNames -contains $_.VMKernelName} |

                          Select @{N="ESX";E={$esx.Name}},VMKernelName,DeviceName,VendorName,SubVendorID,SubDeviceID

                  }}

                   

                  But in you script you looping through all the HBAm how do you plan on including all the NICs that are the ESXi host ?

                   

                  Perhaps it will be easier if you first draw out what information (which properties) you want in your report.

                  Blog: http://lucd.info | Twitter: @LucD22 | PowerCLI Reference co-author: http://tinyurl.com/hkn4glz
                  • 6. Re: Host Hardware info with HBA and nic driver information
                    vin01 Hot Shot

                    tthat's sounds good luc   if possible can we get atleast one nic card vendor info and one Hba vendor info

                    ffor example: if a host has 6 nic and 4 Hba I need any one nic vendor and any one HBA INFO.

                    Regards
                    Vineeth.K
                    • 7. Re: Host Hardware info with HBA and nic driver information
                      LucD Guru
                      Community WarriorsUser ModeratorsvExpert

                      Try like this

                       

                      Get-Datacenter | % {  

                            $datacenter=$_

                            foreach($esx in Get-VMhost -Location $datacenter){

                              $esxcli = Get-EsxCli -VMHost $esx

                              $hba = Get-VMHostHBA -VMHost $esx -Type FibreChannel | where {$_.Status -eq "online"} |  Select -First 1

                              $nic = Get-VMHostNetworkAdapter -VMHost $esx | Select -First 1

                              $esx | Select @{N="Datacenter";E={$datacenter}},

                                      @{N="VMHost";E={$esx.Name}},

                                      @{N="HostName";E={$($hba.VMHost | Get-VMHostNetwork).HostName}},

                                      @{N="ver";E={$esx.version}},

                                      @{N="Manf";E={$esx.Manufacturer}},

                                      @{N="Hostmodel";E={$esx.Model}},

                                      @{Name="SerialNumber";Expression={$esx.ExtensionData.Hardware.SystemInfo.OtherIdentifyingInfo |Where-Object {$_.IdentifierType.Key -eq "Servicetag"} |Select-Object -ExpandProperty IdentifierValue}},

                                      @{N="Cluster";E={

                                          if($esx.ExtensionData.Parent.Type -ne "ClusterComputeResource"){"Stand alone host"}

                                          else{

                                              Get-view -Id $esx.ExtensionData.Parent | Select -ExpandProperty Name

                                          }}},

                                      @{N="HBA Device";E={$hba.Device}},

                                      @{N="HBA Model";E={$hba.Model}},

                                      @{N="HBA Status";E={$hba.Status}},

                                      @{N="WWN";E={((("{0:X}"-f $hba.PortWorldWideName).ToLower()) -replace "(\w{2})",'$1:').TrimEnd(':')}},

                                      @{N="fnicdriver";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($hba.hbadriver).*"} | Select -First 1 -Expand Version}},

                                      @{N="Fnicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($hba.hbadriver).*"} | Select -First 1 -Expand Vendor}},

                                      @{N="enicdriver";E={$esxcli.system.module.get("enic").version}},

                                      @{N="Enicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".net.*"} | Select -First 1 -Expand Vendor}}

                              }

                          }  

                       

                      Blog: http://lucd.info | Twitter: @LucD22 | PowerCLI Reference co-author: http://tinyurl.com/hkn4glz
                      • 8. Re: Host Hardware info with HBA and nic driver information
                        vin01 Hot Shot

                        Hi Luc,

                        Bassically I'm looking for  information as below in the below output i only missed information of enic and fnic vendor rest of the stuff is ok.My fnic vendor is OLogic Corp which i can find in vcenter harware tab but how to get these details below script.Can you pls modify the below script to get those details.

                        finalerror.JPG

                        =====

                        Used Script:

                        
                        Get-Datacenter | % {   
                              $datacenter=$_
                              foreach($esx in Get-VMhost -Location $datacenter){
                                $esxcli = Get-EsxCli -VMHost $esx
                                Get-VMHostHBA -VMHost $esx -Type FibreChannel | where {$_.Status -eq "online"} |  
                                    Select @{N="Datacenter";E={$datacenter}},
                                        @{N="VMHost";E={$_.VMHost.Name}},
                                        @{N="HostName";E={$($_.VMHost | Get-VMHostNetwork).HostName}},@{N="ver";E={$_.VMhost.version}},@{N="Manf";E={$_.VMhost.Manufacturer}}, @{N="Hostmodel";E={$_.VMhost.Model}},@{Name="SerialNumber";Expression={$_.VMhost.ExtensionData.Hardware.SystemInfo.OtherIdentifyingInfo |Where-Object {$_.IdentifierType.Key -eq "Servicetag"} |Select-Object -ExpandProperty IdentifierValue}}, 
                                        @{N="Cluster";E={ 
                                            if($_.VMHost.ExtensionData.Parent.Type -ne "ClusterComputeResource"){"Stand alone host"} 
                                            else{ 
                                                Get-view -Id $_.VMHost.ExtensionData.Parent | Select -ExpandProperty Name 
                                            }}},
                                        Device,Status,
                                        @{N="WWN";E={((("{0:X}"-f $_.PortWorldWideName).ToLower()) -replace "(\w{2})",'$1:').TrimEnd(':')}},
                                        @{N="HBA Model";E={($_.VMhost | get-vmhosthba -Type FibreChannel | where {$_.Status -eq "online"} | select-object -ExpandProperty Model  ) | Get-Unique}}, 
                                       # @{N="fnicdriver";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($_.hbadriver).*"} | Select -Expand Version}},
                                        @{N="fnicdriver";E={$esxcli.system.module.get("fnic").version}}, 
                                        @{N="Fnicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($_.hbadriver).*"} | Select -Expand Vendor}},
                                                        
                                       # @{N="fnicvendor";E={$esxcli.system.module.get("*scsi-*").vendor}},
                                       
                                        @{N="enicdriver";E={$esxcli.system.module.get("enic").version}}, 
                                        @{N="Enicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".net.*"} | Select -Expand Vendor}}
                                }
                            }   
                        
                        
                        
                        Regards
                        Vineeth.K
                        • 9. Re: Host Hardware info with HBA and nic driver information
                          vin01 Hot Shot

                          Thanks for update I'm sorry i missed this update Ok with this script i can able to get HBA  Vendor information correctly but Still nic vendor is showing as VMware and it is writing only one HBA WWN  details where as it missed second online HBA WWN. I tried to remove Select -First 1 while getting HBA details but its not writing  second online HBA WWN.Can you please correct this details.

                          Regards
                          Vineeth.K
                          • 10. Re: Host Hardware info with HBA and nic driver information
                            LucD Guru
                            User ModeratorsvExpertCommunity Warriors

                            You told me you only needed 1 HBA.

                             

                            What is returned by ?

                             

                            $esxcli.software.vib.list() | Select Name,Vendor

                             

                            Which line in there do you want for your NIC driver ?

                            Blog: http://lucd.info | Twitter: @LucD22 | PowerCLI Reference co-author: http://tinyurl.com/hkn4glz
                            • 11. Re: Host Hardware info with HBA and nic driver information
                              vin01 Hot Shot

                              Oops i'm sorry that was my mistake I need every online HBA WWN (In my case 2 online HBAs)  If it repeats every information for second HBA WWN its OK.For Example I'm writing sample out for a Host

                               

                              Datacenter   : test DC

                              VMHost       : 10.50.37.27

                              HostName     : ihydvs46k21

                              ver          : 5.0.0

                              Manf         : Sun Microsystems

                              Hostmodel    : Sun Fire X4600 M2

                              SerialNumber : 0805AM0202

                              Cluster      : SUN-UAT

                              HBA Device   : {vmhba0, vmhba1}

                              HBA Model    : {ISP2422-based 4Gb Fibre Channel to PCI-X HBA, ISP2422-based 4Gb Fibre Channel to PCI-X HBA}

                              HBA Status   : {online, online}

                              WWN          : 21:00:00:e0:8b:94:50:ab

                              fnicdriver   : 2.1.2.38-1OEM.500.0.0.472560

                              Fnicvendor   : Cisco

                              enicdriver   : Version 2.1.2.38, Build: 472560, Interface: 9.2 Built on: Aug 15 2012

                              Enicvendor   : VMware

                              ======================================

                               

                              Datacenter   : test DC

                              VMHost       : 10.50.37.27

                              HostName     : ihydvs46k21

                              ver          : 5.0.0

                              Manf         : Sun Microsystems

                              Hostmodel    : Sun Fire X4600 M2

                              SerialNumber : 0805AM0202

                              Cluster      : SUN-UAT

                              HBA Device   : {vmhba0, vmhba1}

                              HBA Model    : {ISP2422-based 4Gb Fibre Channel to PCI-X HBA, ISP2422-based 4Gb Fibre Channel to PCI-X HBA}

                              HBA Status   : {online, online}

                              WWN          : 21:01:00:e0:8b:b4:7e:ab

                              fnicdriver   : 2.1.2.38-1OEM.500.0.0.472560

                              Fnicvendor   : Cisco

                              enicdriver   : Version 2.1.2.38, Build: 472560, Interface: 9.2 Built on: Aug 15 2012

                              Enicvendor   : VMware

                              ===================================

                              yes when i tried for few hosts as $esxcli.software.vib.list() | Select Name,Vendor


                              as default .net.(nic) vendor name is showing vmware only.

                              so can we get nic card information using  $esxcli.hardware.pci.list().If not possible its ok ill use one of your earlier script in this post to get nic card vendor information.


                              Regards
                              Vineeth.K
                              • 12. Re: Host Hardware info with HBA and nic driver information
                                LucD Guru
                                vExpertCommunity WarriorsUser Moderators

                                Ok, try like this

                                 

                                Get-Datacenter | % {  

                                      $datacenter=$_

                                      foreach($esx in Get-VMhost -Location $datacenter){

                                        $esxcli = Get-EsxCli -VMHost $esx

                                        $nic = Get-VMHostNetworkAdapter -VMHost $esx | Select -First 1

                                        Get-VMHostHBA -VMHost $esx -Type FibreChannel | where {$_.Status -eq "online"} |

                                        Select @{N="Datacenter";E={$datacenter.Name}},

                                                @{N="VMHost";E={$esx.Name}},

                                                @{N="HostName";E={$($_.VMHost | Get-VMHostNetwork).HostName}},

                                                @{N="ver";E={$esx.version}},

                                                @{N="Manf";E={$esx.Manufacturer}},

                                                @{N="Hostmodel";E={$esx.Model}},

                                                @{Name="SerialNumber";Expression={$esx.ExtensionData.Hardware.SystemInfo.OtherIdentifyingInfo |Where-Object {$_.IdentifierType.Key -eq "Servicetag"} |Select-Object -ExpandProperty IdentifierValue}},

                                                @{N="Cluster";E={

                                                    if($esx.ExtensionData.Parent.Type -ne "ClusterComputeResource"){"Stand alone host"}

                                                    else{

                                                        Get-view -Id $esx.ExtensionData.Parent | Select -ExpandProperty Name

                                                    }}},

                                                Device,Model,Status,

                                                @{N="WWN";E={((("{0:X}"-f $_.PortWorldWideName).ToLower()) -replace "(\w{2})",'$1:').TrimEnd(':')}},

                                                @{N="fnicdriver";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($hba.hbadriver).*"} | Select -First 1 -Expand Version}},

                                                @{N="Fnicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($hba.hbadriver).*"} | Select -First 1 -Expand Vendor}},

                                                @{N="enicdriver";E={$esxcli.system.module.get("enic").version}},

                                                @{N="Enicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".net.*"} | Select -First 1 -Expand Vendor}}

                                        }

                                    }  

                                 

                                Blog: http://lucd.info | Twitter: @LucD22 | PowerCLI Reference co-author: http://tinyurl.com/hkn4glz
                                1 person found this helpful
                                • 13. Re: Host Hardware info with HBA and nic driver information
                                  vin01 Hot Shot

                                  Thanks Luc this works as per my requirement Mean while i will work on this script to get exact vendor information of FNIC and Enic correctly using $esxcli.hardware.pci.list() If any ill post you back.Thanks  againg for correct me

                                  Regards
                                  Vineeth.K
                                  • 14. Re: Host Hardware info with HBA and nic driver information
                                    vin01 Hot Shot

                                    Thanks for correcting me With the help of your previous posts i had done few changes to get exact vendor information for FC and Network cards, now it is showing desired output.

                                    Get-Datacenter | % {  
                                          $datacenter=$_
                                          foreach($esx in Get-VMhost -Location $datacenter){
                                            $esxcli = Get-EsxCli -VMHost $esx
                                            $nic = Get-VMHostNetworkAdapter -VMHost $esx | Select -First 1 | select -ExpandProperty Name
                                            $hba =Get-VMHostHBA -VMHost $esx -Type FibreChannel | where {$_.Status -eq "online"} |  Select -First 1 |select -ExpandProperty Name
                                            Get-VMHostHBA -VMHost $esx -Type FibreChannel | where {$_.Status -eq "online"} |
                                            Select @{N="Datacenter";E={$datacenter.Name}},
                                                    @{N="VMHost";E={$esx.Name}},
                                                    @{N="HostName";E={$($_.VMHost | Get-VMHostNetwork).HostName}},
                                                    @{N="version";E={$esx.version}},
                                                    @{N="Manufacturer";E={$esx.Manufacturer}},
                                                    @{N="Hostmodel";E={$esx.Model}},
                                                    @{Name="SerialNumber";Expression={$esx.ExtensionData.Hardware.SystemInfo.OtherIdentifyingInfo |Where-Object {$_.IdentifierType.Key -eq "Servicetag"} |Select-Object -ExpandProperty IdentifierValue}},
                                                    @{N="Cluster";E={
                                                        if($esx.ExtensionData.Parent.Type -ne "ClusterComputeResource"){"Stand alone host"}
                                                        else{
                                                            Get-view -Id $esx.ExtensionData.Parent | Select -ExpandProperty Name
                                                        }}},
                                                    Device,Model,Status,
                                                    @{N="WWPN";E={((("{0:X}"-f $_.NodeWorldWideName).ToLower()) -replace "(\w{2})",'$1:').TrimEnd(':')}},
                                                    @{N="WWN";E={((("{0:X}"-f $_.PortWorldWideName).ToLower()) -replace "(\w{2})",'$1:').TrimEnd(':')}},
                                                  # @{N="Fnicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".*$($hba.hbadriver).*"} | Select -First 1 -Expand Vendor}},
                                                    @{N="Fnicvendor";E={$esxcli.hardware.pci.list() | where {$hba -contains $_.VMKernelName} |Select -ExpandProperty VendorName }},
                                                    @{N="fnicdriver";E={$esxcli.system.module.get("fnic").version}},
                                                    @{N="enicdriver";E={$esxcli.system.module.get("enic").version}},
                                                   # @{N="Enicvendor";E={$esxcli.software.vib.list() | ? {$_.Name -match ".net.*"} | Select -First 1 -Expand Vendor}}
                                                     @{N="Enicvendor";E={$esxcli.hardware.pci.list() | where {$nic -contains $_.VMKernelName} |Select -ExpandProperty VendorName }}
                                                     #@{N="Enicvendor";E={$esxcli.network.nic.list() | where {$vmnic.name -eq $_.vmnic1} | select -First 1 -ExpandProperty Description }}
                                            }
                                        } 
                                    
                                    
                                    
                                    

                                    =================

                                     

                                    Output :

                                    -------

                                    errror.JPG

                                    Regards
                                    Vineeth.K
                                    1 2 Previous Next