Remove-XenVDI

Last published : Nov 12, 2026
Deletes a VDI object.

Syntax

Remove-XenVDI [-VDI] <VDI> [-PassThru] [-BestEffort] [-SessionOpaqueRef <string>]
    [-WhatIf] [-Confirm] [-Async] [<CommonParameters>]
Remove-XenVDI [-Ref] <XenRef[VDI]> [-PassThru] [-BestEffort] [-SessionOpaqueRef <string>]
    [-WhatIf] [-Confirm] [-Async] [<CommonParameters>]
Remove-XenVDI [-Uuid] <guid> [-PassThru] [-BestEffort] [-SessionOpaqueRef <string>]
    [-WhatIf] [-Confirm] [-Async] [<CommonParameters>]
Remove-XenVDI [-Name] <string> [-PassThru] [-BestEffort] [-SessionOpaqueRef <string>]
    [-WhatIf] [-Confirm] [-Async] [<CommonParameters>]

Description

Deletes the specified VDI object.
VDI: A virtual disk image.

Parameters

-Async

If set, the operation runs asynchronously and returns a Task object that can be used to track its progress.
Attribute Value
Type SwitchParameter
Required False
Position Named
Accepts pipeline input False

-BestEffort

If set, the cmdlet continues processing further objects instead of throwing a terminating error when an operation fails for one object.
Attribute Value
Type SwitchParameter
Required False
Position Named
Accepts pipeline input False

-Confirm

Prompts for confirmation before running the cmdlet.
Attribute Value
Type SwitchParameter
Required False
Position Named
Accepts pipeline input False
Aliases cf

-Name

The name of the VDI to operate on.
Attribute Value
Type string
Required True
Position 0
Accepts pipeline input True (ByPropertyName)
Aliases name_label

-PassThru

If set, the cmdlet returns the affected object. By default the cmdlet does not generate any output.
Attribute Value
Type SwitchParameter
Required False
Position Named
Accepts pipeline input False

-Ref

The VDI object to operate on, specified by its opaque reference.
Attribute Value
Type XenRef[VDI]
Required True
Position 0
Accepts pipeline input True (ByPropertyName)
Aliases opaque_ref

-SessionOpaqueRef

The session object on which to run the cmdlet. This overrides the default session and lets you target a specific open XenServer connection.
Attribute Value
Type string
Required False
Position Named
Accepts pipeline input False

-Uuid

The UUID of the VDI to operate on.
Attribute Value
Type guid
Required True
Position 0
Accepts pipeline input True (ByPropertyName)

-VDI

The VDI object to operate on.
Attribute Value
Type VDI
Required True
Position 0
Accepts pipeline input True (ByValue)

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.
Attribute Value
Type SwitchParameter
Required False
Position Named
Accepts pipeline input False
Aliases wi

Inputs

  • VDI
  • XenRef[VDI]
  • guid
  • string

Outputs

  • Task
  • void

Examples

Example 1: Delete a VDI piped from the getter

PS> Get-XenVDI -Name "Demo VDI" | Remove-XenVDI
Deletes a VDI. The object is piped in, which is the usual way once you already have it.

Example 2: Delete a VDI by name

PS> Remove-XenVDI -Name "Demo VDI"
Deletes a VDI. -Name matches on name\_label, which is not unique, so every match is operated on.

Example 3: See what would be deleted

PS> Get-XenVDI -Name "Demo VDI" | Remove-XenVDI -WhatIf
Reports the VDI that would be deleted without deleting anything. Every cmdlet that changes the server takes -WhatIf and -Confirm.
  • Class: VDI
  • Using the XenServer PowerShell module