Remove-SCVirtualHardDisk

Removes a virtual hard disk object from a virtual machine or template, or from the VMM library.

Syntax

Remove-SCVirtualHardDisk
      [-VirtualHardDisk] <VirtualHardDisk>
      [-JobGroup <Guid>]
      [-Force]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

The Remove-SCVirtualHardDisk cmdlet removes a virtual hard disk object from a virtual machine or template, or from the Virtual Machine Manager (VMM) library. Remove-VirtualHardDisk also deletes the corresponding virtual hard disk file (a Windows-based .vhd file, a Citrix XenServer-based .vhd file, or a VMware-based .vmdk file) from the library server.

If the virtual hard disk is attached to a virtual disk drive on a virtual machine or template (and if you do not use the Force parameter), VMM lists the container that contains the virtual hard disk and prompts you to confirm that you want to remove the virtual hard disk:

  • If you reply Yes, VMM removes the association between the virtual hard disk and the container to which it is attached, and then deletes the virtual hard disk object from VMM.

  • If you reply No, the operation is cancelled.

This cmdlet returns the object upon success (with the property MarkedForDeletion set to True) or returns an error message upon failure.

Examples

Example 1: Remove a virtual hard disk object from the library

PS C:\> $VHD = Get-SCVirtualHardDisk -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -eq "VHD01.vhd" -and $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" }
PS C:\> Remove-SCVirtualHardDisk -VirtualHardDisk $VHD

The first command gets the virtual hard disk object named VHD01.vhd stored on LibraryServer01 and stores the returned object in the $VHD variable.

The second command removes the virtual hard disk object stored in $VHD from the library and deletes the corresponding file from the file system on the library server.

Example 2: Remove a virtual hard disk from a virtual machine

PS C:\> Get-SCVMMServer -ComputerName "VMMServer01.Contoso.com"
PS C:\> $VHD = Get-SCVirtualMachine -Name "VM01" | Get-SCVirtualHardDisk | where { $_.Name -match "DataDisk" }
PS C:\> $VHD | Remove-SCVirtualHardDisk

The first command connects to VMMServer01.

The second command gets the virtual machine object named VM01, gets all virtual hard disks on VM01 whose name includes the string "DataDisk", and then stores these virtual hard disk objects in an array named $VHD.

The third command removes each virtual hard disk object stored in the $VHD array from the virtual machine and deletes each corresponding file from the file system on the library server.

Parameters

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Forces the command to run without asking for user confirmation.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobGroup

Specifies an identifier for a series of commands that will run as a set just before the final command that includes the same job group identifier runs.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobVariable

Specifies that job progress is tracked and stored in the variable named by this parameter.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

Specifies the ID of the Performance and Resource Optimization tip (PRO tip) that triggered this action. This parameter lets you audit PRO tips.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

Indicates that the job runs asynchronously so that control returns to the command shell immediately.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VirtualHardDisk

Specifies a virtual hard disk object.

Type:VirtualHardDisk
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Notes

  • Requires a VMM virtual hard disk object, which can be retrieved by using the Get-SCVirtualHardDisk cmdlet.