Hi All,
From below script, VM Powerstate, VM IP Address and VMFS Harddisk details shows blank, please help.
$report = @()
$vms = Get-VM sql01 | Get-View
foreach ($vm in $vms)
{
foreach($dev in $vm.Config.Hardware.Device){
if(($dev.gettype()).Name -eq "VirtualDisk"){
if(($dev.Backing.CompatibilityMode -eq "physicalMode") -or ($dev.Backing.CompatibilityMode -eq "virtualMode")){
$row = "" | select VMName, VMHost, HDDeviceName, HDMode, HDsize, HDDisplayName, LUN, HDName, HDFileName
$row = "" | select VMHost, Folder, Powerstate, VMName, IPAddress, HDName, LUN, HDsize, HDMode, HDDisplayName
$row.VMName = $vm.Name
$row.Folder = Get-View $vm.Parent | Select -ExpandProperty Name
$row.Powerstate = $vm.PowerState
$row.IPAddress = Get-VMHostNetworkAdapter | select IP
$esx = Get-View $vm.Runtime.Host
$row.VMHost = ($esx).Name
#$row.HDDeviceName = $dev.Backing.DeviceName
$row.HDName = $dev.DeviceInfo.Label
#$row.HDFileName = $dev.Backing.FileName
$row.HDMode = $dev.Backing.CompatibilityMode
#$row.HDSize = $dev.CapacityInKB
$row.HDSize = [system.math]::Round($dev.CapacityInKB / 1048576)
$row.HDDisplayName = ($esx.Config.StorageDevice.ScsiLun | where {$_.Uuid -eq $dev.Backing.LunUuid}).CanonicalName
$lun = Get-ScsiLun -VmHost $row.VMHost -CanonicalName $row.HDDisplayName
$row.LUN = $lun.RuntimeName.SubString($lun.RuntimeName.LastIndexof("L")+1)
$report += $row
}
}
}
}
$report | Export-Csv -NoTypeInformation C:\RDM-Info.csv