VMware Cloud Community
ganapa2000
Hot Shot
Hot Shot
Jump to solution

issue getting only RDM details

Hi,

I am unable to get only RDM details from the below script as I am getting flatdisks along with RDMs.

Please help....

$vmview = Get-View (Get-VM -name MyDB1).ID

$DiskInfo= @()

foreach ($VirtualSCSIController in ($VMView.Config.Hardware.Device | where {$_.DeviceInfo.Label -match "SCSI Controller"}))

{

foreach ($VirtualDiskDevice in ($VMView.Config.Hardware.Device | where {$_.ControllerKey -eq $VirtualSCSIController.Key}))

{

#$VirtualDisk = "" | Select VM, SCSIController, DiskName, DiskType, SCSIId, DiskFile, DiskSize

$VirtualDisk = "" | Select VM, Disk_Name, SCSI_Control, SCSI_ID, Disk_File, Disk_Size, Disk_Type

$VirtualDisk.VM = $vmview.name

$VirtualDisk.SCSI_Control = $VirtualSCSIController.DeviceInfo.Label

$VirtualDisk.Disk_Name = $VirtualDiskDevice.DeviceInfo.Label

$VirtualDisk.Disk_Type = $VirtualDiskDevice.backing

$VirtualDisk.SCSI_ID = $VirtualDiskDevice.UnitNumber

$VirtualDisk.Disk_File = $VirtualDiskDevice.Backing.FileName

$VirtualDisk.Disk_Size = $VirtualDiskDevice.CapacityInKB * 1KB / 1GB

$DiskInfo += $VirtualDisk

}

}

$DiskInfo | export-csv -Path $out_csvpath -Delimiter "," -NoTypeInformation

Output

       

VMDisk_NameSCSI_ControlSCSI_IDDisk_FileDisk_SizeDisk_Type
MyDB1Hard disk 1SCSI controller 00[FAS01B_LUN01] MyDB1/MyDB1.vmdk40VMware.Vim.VirtualDiskFlatVer2BackingInfo
MyDB1Hard disk 2SCSI controller 01[FAS01B_LUN01] MyDB1/MyDB2.vmdk50VMware.Vim.VirtualDiskFlatVer2BackingInfo
MyDB1Hard disk 3SCSI controller 10[FAS01B_LUN01] MyDB1/MyDB1_1.vmdk1VMware.Vim.VirtualDiskRawDiskMappingVer1BackingInfo
MyDB1Hard disk 4SCSI controller 11[FAS01B_LUN01] MyDB1/MyDB1_2.vmdk100VMware.Vim.VirtualDiskRawDiskMappingVer1BackingInfo
Reply
0 Kudos
1 Solution

Accepted Solutions
LucD
Leadership
Leadership
Jump to solution

Try changing that line with the 2nd foreach loop to

   foreach ($VirtualDiskDevice in ($VMView.Config.Hardware.Device | where { $_.ControllerKey -eq $VirtualSCSIController.Key -and $_.Backing -is [VMware.Vim.VirtualDiskRawDiskMappingVer1BackingInfo]}))


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

View solution in original post

Reply
0 Kudos
2 Replies
LucD
Leadership
Leadership
Jump to solution

Try changing that line with the 2nd foreach loop to

   foreach ($VirtualDiskDevice in ($VMView.Config.Hardware.Device | where { $_.ControllerKey -eq $VirtualSCSIController.Key -and $_.Backing -is [VMware.Vim.VirtualDiskRawDiskMappingVer1BackingInfo]}))


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

Reply
0 Kudos
ganapa2000
Hot Shot
Hot Shot
Jump to solution

Perfect, that worked Smiley Happy

Thank you very much.

Reply
0 Kudos