Getting WWN from VMGuest names using PowerCLI script

Can anyone help me with pulling WWN based on VMguest?
I can do it based on VMHost but this is not exactly what is being asked of me.

I have a list of several hundred VM guests and was asked for their DataStore info and WWN info, I was able to get the DataStore info, but am not sure how to get the WWN per VMguest name.

Any help?
LVL 2
alexr54Asked:
Who is Participating?
 
MazdajaiCommented:
It has nothing to do with the size the company.

RDM disks has it limitation therefore it normally be "all" of your  
vms. You can query the WWNs within the guest (windows or Linux) , you don't need s storage plugin to accomplish it.
0
 
MazdajaiCommented:
Does all those VMs have Raw Disk Mapping (rdm)?
0
 
alexr54Author Commented:
Yes I believe they all are.
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
alexr54Author Commented:
I was using this script to pull the WWN and other info from the VMhost. However I was not able to tie this to a list of VMguests.

   $report = 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 }}  

      }  

}

$report | Export-Csv WWNreport.csv -NoTypeInformation -UseCulture

Open in new window

0
 
MazdajaiCommented:
It is very unlikely to have RDM on "several hundred" virtual machines as RDM is a special configuration that allow vm to attach to the raw storage.

Only vm with RDM would have WWN needed -

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2001823
0
 
alexr54Author Commented:
I suppose I fall in that rare category.
For the VMguests with RDM, anyway to get the WWN?
0
 
alexr54Author Commented:
I guess what I am hoping for is a way to gather the VMFS info per VMGuest, which includes any and all possible datastore information.
LUN, DatastoreName, Capacity, guestname are most important.
0
 
MazdajaiCommented:
Yes I believe they all are.
Do you have access to login and check? Again, having several hundred vms with RDM is unlikely. I am very interested to know, and perhaps you can prove me I am wrong.

I am not aware there is a powercli to query WWN on guest. But you can use get-harddisk cmdlet to determine if is a RDM disk, then it has WWN.

https://www.vmware.com/support/developer/PowerCLI/PowerCLI41/html/Get-HardDisk.html
0
 
alexr54Author Commented:
I am in a very large company. So like I said I probably fall in that very rare category.
I did some more research and I cant find a way to pull the information I need without some sort of storage plugin.
0
 
MazdajaiCommented:
Can you post one of screen shot  in vsphere that is running rdm?
0
 
alexr54Author Commented:
Yes on Monday when I get to the office I'll take a screen shot
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.