Get-VMHardDiskDrive

Get-VMHardDiskDrive

Gets the virtual hard disk drives attached to one or more virtual machines.

Syntax

Parameter Set: VMDriveController
Get-VMHardDiskDrive [-VMDriveController] <VMDriveController[]> [-ControllerLocation <Int32> ] [ <CommonParameters>]

Parameter Set: VMName
Get-VMHardDiskDrive [-VMName] <String[]> [-ComputerName <String[]> ] [-ControllerLocation <Int32> ] [-ControllerNumber <Int32> ] [-ControllerType <ControllerType> ] [ <CommonParameters>]

Parameter Set: VMObject
Get-VMHardDiskDrive [-VM] <VirtualMachine[]> [-ControllerLocation <Int32> ] [-ControllerNumber <Int32> ] [-ControllerType <ControllerType> ] [ <CommonParameters>]

Parameter Set: VMSnapshot
Get-VMHardDiskDrive [-VMSnapshot] <VMSnapshot> [-ControllerLocation <Int32> ] [-ControllerNumber <Int32> ] [-ControllerType <ControllerType> ] [ <CommonParameters>]

Detailed Description

The Get-VMHardDiskDrive cmdlet gets the virtual hard disk drives attached to one or more virtual machines.

Parameters

-ComputerName<String[]>

Specifies one or more Hyper-V hosts from which the virtual hard disk drives are to be retrieved. NetBIOS names, IP addresses, and fully-qualified domain names are allowable. The default is the local computer — use “localhost” or a dot (“.”) to specify the local computer explicitly.

Aliases

none

Required?

false

Position?

named

Default Value

.

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ControllerLocation<Int32>

Specifies the number of the location on the controller at which the virtual hard disk drives are to be retrieved. If not specified, the number of the first available location on the controller is used.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ControllerNumber<Int32>

Specifies the number of the controller at which the virtual hard disk drives are to be retrieved. If not specified, the first controller on which the specified ControllerLocation is available is used.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ControllerType<ControllerType>

Specifies the type of the controller from which the virtual hard disk drives are to be retrieved. Allowed values are IDE and SCSI.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VM<VirtualMachine[]>

Specifies the virtual machine from which the virtual hard disk drives are to be retrieved.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMDriveController<VMDriveController[]>

Specifies the drive controller from which the virtual hard disk drives are to be retreived.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMName<String[]>

Specifies the name of the virtual machine from which the virtual hard disks drives are to be retrieved.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMSnapshot<VMSnapshot>

Specifies the snapshot from which the virtual hard disk drives are to be retrieved.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • Microsoft.HyperV.PowerShell.ControllerType
  • Microsoft.HyperV.PowerShell.VMSnapshot
  • Microsoft.HyperV.PowerShell.VMDriveController[]
  • Microsoft.HyperV.PowerShell.VirtualMachine[]

Outputs

The output type is the type of the objects that the cmdlet emits.

  • Microsoft.Virtualization.Powershell.HardDiskDrive

Examples

Example 1

Gets the virtual hard drives from virtual machine TestVM.

PS C:\> Get-VMHardDiskDrive –VMName TestVM

Example 2

Gets the virtual hard drives from IDE controller 1 of virtual machine TestVM.

PS C:\> Get-VM –Name TestVM | Get-VMHardDiskDrive –ControllerType IDE –ControllerNumber 1

Example 3

Gets the virtual hard drives from IDE controller 1 of virtual machine TestVM located on Hyper-V host Development.

PS C:\> Get-VMIdeController –VMName TestVM –ControllerNumber 1 –ComputerName Development | Get-VMHardDiskDrive

Example 4

Gets the virtual hard drives from snapshot Before applying updates of virtual machine TestVM.

PS C:\> Get-VMSnapshot –VMName Test –Name ‘Before applying updates’ | Get-VMHardDrive