Promote a Linked Clone Virtual Machine to a Full Clone with PowerCli

Linked clone VirtualMachines share their base disks with their parent virtual machine. Only changes (delta) are stored in the childs virtual disks. These results in two major benefits:

  • Fast Provisioning time
  • Space savings


However, linked clones have some limitations:

  • Diskspace cannot be adjusted
  • Performance impact – Depending on storage cache

The following PowerCLI snippets will promote all virtual disks or a specific virtual disk of a linked clone to a full clone.



  • Linked Clone – PoweredOff or Suspended state
  • Enough free space on the Virtual Machine homedirectory
  • vCenter Server

The vSphere SDK allows the promotion of the disks. So here is the link to the promoteDisks method documentation

PowerCli lets you access SDK Methods using the get-view Cmdlet or extensiondata property.

1. Check method on VM Object.

#List availabe methods on VM View object:
$BaseVM.ExtensionData | gm -MemberType method

2. Create Linked clone based on snapshot “SnapBase” on source VM

#Create reference snapshot for linked clone
$BaseSnapshot = Get-Snapshot -vm $BaseVM -Name SnapBase
$LinkedVM = New-VM -Name HotzenplotzLC -LinkedClone -ReferenceSnapshot $BaseSnapshot -vm $BaseVM -VMHost $BaseVM.VMHost
$Disks = $LinkedVM | get-Harddisk

2a. Promote all disks

# Verify current Backing
FileName : [DS] Hotzenplotz/Hotzenplotz.vmdk
# Promote all disks
$LinkedVM.ExtensionData.PromoteDisks($true, $null);
$Disks = $LinkedVM| Get-Harddisk
# no parent disk anymore

2b. Promote individual disks:

# List Individual disk keys:
$Disks | % { $_.extensiondata.Key }
$Disk = $disks | ?{ $_.extensiondata.key -eq '2001'}
$LinkedVM.ExtensionData.PromoteDisks($true, $disk.extensionData );

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: