Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 186
  • Last Modified:

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?
0
alexr54
Asked:
alexr54
  • 6
  • 5
1 Solution
 
MazdajaiCommented:
Does all those VMs have Raw Disk Mapping (rdm)?
0
 
alexr54Author Commented:
Yes I believe they all are.
0
 
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
Making Bulk Changes to Active Directory

Watch this video to see how easy it is to make mass changes to Active Directory from an external text file without using complicated scripts.

 
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:
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:
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.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now