Avatar of alexr54
alexr54
Flag for United States of America asked on

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?
VMwarePowershell

Avatar of undefined
Last Comment
alexr54

8/22/2022 - Mon
Mazdajai

Does all those VMs have Raw Disk Mapping (rdm)?
alexr54

ASKER
Yes I believe they all are.
alexr54

ASKER
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

I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
Mazdajai

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
alexr54

ASKER
I suppose I fall in that rare category.
For the VMguests with RDM, anyway to get the WWN?
alexr54

ASKER
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.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Mazdajai

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
alexr54

ASKER
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.
ASKER CERTIFIED SOLUTION
Mazdajai

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Mazdajai

Can you post one of screen shot  in vsphere that is running rdm?
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
alexr54

ASKER
Yes on Monday when I get to the office I'll take a screen shot