Issue
I need to quickly retrieve the WWNs of a list of ESXi hosts (not managed by a vCenter)
Solution
To solve this, I thought about making a script in powershell that connects to each ESXi hosts presents in "host-list.txt" file and retrieves the necessary information. As outcome, we create a csv file "wwpn-list.csv" with all gathered information.
What I'm assuming here, in my script is that all ESXi hosts have the same username and password (in my case respectively root and VMware1!).
Below is the script:
# get-wwpn.ps1 # # Lorenzo Moglie # Version: 1.0 (29.12.2022) # $user = 'root' $pswd = 'VMware1!' $Hosts = Get-Content -Path '.\host-list.txt' $report = @() foreach ($host in $Hosts){ #Write-Host "Host:", $host Connect-VIServer -Server $host -User $user -Password $pswd $temp = Get-VMhost -Name $host | Get-VMHostHBA -Type FibreChannel | Select VMHost, Device, @{N "WWN";E={"{0:X}" -f $_.PortWorldWideName}} | Sort VMHost,Device $wwpn = @{} $wwpn.VMHost = $temp.VMHost.Name[0] $wwpn.vmhba64 = $temp.WWN[0] $wwpn.vmhba65 = $temp.WWN[1] $wwn = New-Object -TypeName PSObject -Property $wwpn Sreport += Swwn Disconnect-VIServer -Confirm:$false } $report | Select VMHost, vmhba64, vmhba65 | Sort-Object -Property VMHost | Export-Csv .\wwpn-list.csv
That's it.
Nessun commento:
Posta un commento