Reply to Message

View discussion in a popup

Replying to:
LucD
Leadership
Leadership

Try like this

Function Get-VMDiskInfo {

    [CmdletBinding()]

    Param (

        [Parameter(Mandatory=$true,

            ValueFromPipeline=$True,

            ValueFromPipelineByPropertyName=$true)]

        [Alias('Name')]

        $VM

    )

    PROCESS{

        $VMView = Get-View -ViewType VirtualMachine -Filter @{"Name" = $VM}

        $output = @()

        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})){

                $VMSummary = “” | Select VM,Disk, SCSI, DiskType, DiskFormat, DiskSizeGB, DiskFile

                $VMSummary.VM = $VM

                $VMSummary.SCSI = [string]::Concat($VirtualSCSIController.BusNumber,":",$VirtualDiskDevice.UnitNumber)

                $VMSummary.Disk = $VirtualDiskDevice.DeviceInfo.Label

                #pegando info do Get-Harddisks

                $VMSummary.DiskType = &{

                        switch -regex ($VirtualDiskDevice.Backing.GetType().Name){

                        "Flat" {

                            "Flat"

                            if($VirtualDiskDevice.Backing.ThinProvisioned){$VMSummary.DiskFormat = "Thin"}

                            else{$VMSummary.DiskFormat = "Thick"}}

                        "Raw" {

                            "Raw" + $VirtualDiskDevice.Backing.CompatibilityMode.TrimEnd("Mode")

                        }

                        Default {"Unknown"}

                        }

                }

                $VMSummary.DiskSizeGB = [Math]::Round(($VirtualDiskDevice.CapacityInKb/1MB),2)

                $VMSummary.DiskFile = $VirtualDiskDevice.Backing.FileName

                $output += $VMSummary

            }

        }

        Write-Output $output

    }

}


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

View solution in original post

Reply
0 Kudos