Home > Blogs > VMware PowerCLI Blog

VMware Instant Clone is now at your fingertips with the updated PowerCLI Extensions fling!



At VMware we are pleased to announce the publishing of a new fling:  PowerCLI Extensions! PowerCLI Extensions gives PowerCLI users access to early access functionality by extending the core PowerCLI cmdlets to include new experimental features and gives PowerCLI customers the ability to provide early feedback. So what is included in this fling? Read on…

Instant Clone


‘Instant Clone’ also known as VM Fork or Project Fargo, gives admins the ability to rapidly clone and deploy virtual machines, as much as 10x faster than what is currently possible today. Instant Clone uses rapid in-memory cloning of running virtual machines and copy-on-write to quickly deploy clones of a parent virtual machine.

Because Instant Clone uses a private API, PowerCLI is currently the only way Instant Clone can be accessed and leveraged.

What is actually happening?

The Instant Clone capability allows admins to ‘fork’ a running virtual machine, meaning, it is not a full clone. The parent virtual machine is brought to a state where the admin will Instant Clone it, at which time the parent virtual machine is quiesced and placed in a state of a ‘parent VM’. This allows the admins to create as many “child VMs” as they please. These child VMs are created in mere seconds (or less) depending on the environment (I’ve seen child VMs created in .6 seconds). The reason these child VMs can be created so quickly is because they leverage the memory and disk of the parent VM. Once the child VM is created, any writes are placed in delta disks.

When the parent virtual machine is quiesced, a prequiesce script cleans up certain aspects of the parent VM while placing it in its parent state, allowing the child VMs to receive unique MAC addresses, UUID, and other information when they are instantiated. When spinning up the child VMs a post clone script can be used to set properties such as the network information of the VM, and/or kick off additional scripts or actions within the child VM.

Specific information can be passed to the child VM for the post clone script to use to quickly perform actions on the virtual machine as it powers on (I use the term power-on because when the VM is cloned it is shown in vSphere as ‘Powered-Off’ however, when you “Power-On” the VM, it is already in its fully running state, there is no boot up). If you assigned a -PostCloneScript to the child VM, when it is Powered-On, the script will execute. Values such as network properties, can be passed to the Child VM through configuration parameters stored in the VMX file. These can be set with an array where the left-side is the name of the property and the right-side is the value:

$configSettings = @{
‘ipaddress’ = “”;
‘netmask’ = ‘’;
‘gateway’ = ‘’;

When included in the  New-InstantCloneVM cmdlet’s -ConfigParams, they will be added to it’s VMX file:

$childForkVm = New-InstantCloneVM -ParentVM $parentforkVm -Name “2012ChildClone$_” -ConfigParams $configSettings

Because of VM Tools,  these values can then be retrieved from within the Child VM using the VMware Tools RPCTool, which can read guest information from the VMX file (using the example configparameters above):

  • “%programfiles%\vmware\vmware tools\rpctool” “info-get guestinfo.fork.ipaddress”
  • “%programfiles%\vmware\vmware tools\rpctool” “info-get guestinfo.fork.netmask”
  • “%programfiles%\vmware\vmware tools\rpctool” “info-get guestinfo.fork.gateway”

In the demo below you will see a walkthrough of verifying the intended-parent VM’s network settings, and that the VM is in the desired state to instant clone. It then walks through the PowerCLI commands to create 9 child VMs off of the parent VM.

On my equipment it took me 15 seconds to create 9 Instant Clone child VMs of a Windows Server 2012 Parent VM. Times will vary based on a number of factors including the number of configuration parameters saved to each virtual machine, hardware, etc.

Get PowerCLI Extensions

You can download the user guide and PowerCLI Extensions module from the VMware Flings site HERE. I strongly recommend reading the user guide and following the step-by-step instructions for getting started.

VSAN cmdlets removed

Originally the PowerCLI Extensions module included VSAN cmdlets. As of PowerCLI 6.0 R1 those cmdlets have been removed from PowerCLI Extensions and added into PowerCLI.

Stay tuned for the next post. which will be a tutorial of how to use the Instant Clone functionality


This entry was posted in Extensions, Learning, Performance, vCenter and tagged , , , , , on by .
Brian Graf

About Brian Graf

Brian Graf is a well-known VMware evangelist in the IT community. Over the past 5 years, Brian has done Technical Marketing for PowerCLI Automation and ESXi Lifecycle, Product Management of vCenter Distributed Resource Management features (DRS & HA), and is currently working as a Technical Marketing Manager for VMware Cloud on AWS. Brian is a co-author of the PowerCLI Deep Dive 2nd edition book. He has helped develop VMware certification courses and exams and presents around the world at VMware User Conferences, AWS Summits, Interop, as well as other industry Conferences. Brian is also a Microsoft MVP.

34 thoughts on “VMware Instant Clone is now at your fingertips with the updated PowerCLI Extensions fling!

  1. Alberto

    I am getting error trying to create an instant clone:

    PowerCLI C:\> New-InstantCloneVM -ParentVM “testvm” -Name “testvm01”
    New-InstantCloneVM : 8/4/2015 4:04:58 PM New-InstantCloneVM The Vm ‘testvm’ is not instantclone parent.

    1. Alan Rneouf

      Did you already enable the parent? Make sure you check out the PDF and also this post for more details on the workflow: http://blogs.vmware.com/PowerCLI/2015/08/using-vmware-instant-clone-via-powercli-extensions-fling.html

      1. Andrew Badley

        I found that you need to have the In-Guest Customization script (as per https://blogs.vmware.com/PowerCLI/2015/08/using-vmware-instant-clone-via-powercli-extensions-fling.html) and specifiy the

        $parentForkVM = Enable-InstantCloneVM -VM $parentVM -guestUser “administrator” -GuestPassword “VMw@re123” -PostCloneScript C:\temp\WindowsPostScript.bat

        Varibale as part of the “New-InstantCloneVM” command

        $parentForkVM = Enable-InstantCloneVM -VM $parentVM -guestUser “administrator” -GuestPassword “****123” -PostCloneScript “c:\Scripts\WindowsPostScript.bat

        $childForkVm = New-InstantCloneVM -ParentVM $parentForkvm -Name “2012ChildClone$_” -ConfigParams $configSettings ; $childForkVm | Start-vm

        (Rather then specifiying the parentVM name directly).

        To get around this issue

  2. Tomio

    I really looking forward to see this feature in vRealize Automation soon!

  3. Pingback: VMware Labs: Top 5 Flings - VIRTUALIZATION IS LIFE!

  4. Ben

    Question about a Windows Guest after it’s been cloned and gets a new IP adress… What about the computer name, the secure computer account with the domain controller, Dynamic DNS, etc? Is it up to the administrator to fix all those potential issues after the instant clone is instantiated?


  5. Pingback: VMware Labs Fling – Instant Clone via PowerCLI Extensions | The Virtual Unknown

  6. Sascha Schuenemann

    Does anybody now what happens if I want to change the disk space of an “instant-clone(d)” VM?
    Is it right to assume that I then need to invest a lot of time transforming it into a fully-cloned VM?

    1. kb

      So my understanding (from reading the 2009 SnowFlock paper) is that at least in-principle this doesn’t need to be a problem. Conceptually Instant Clone is an extension to Link Cloning (it’s that same + COW memory deltas), since Linked Cloning supports VMDK re-sizes I’d expect Instant Clones to support it as well. Whether or not the concept matches reality is not something I know.

  7. Pingback: Containers for the vSphere Admin | VMtoCloud.com

  8. Pingback: latoga labs | VMworld 2015 Recap

  9. Pingback: Using VMware Instant Clone with Big Data Extensions

  10. Pingback: How Wrecking Crew Inc. leveraged vSphere’s Instant Clone to instantly provision hundreds of VMs | virtuallyGhetto

  11. Pingback: vSphere Integrated Containers - Technology Walkthrough - VMware vSphere Blog - VMware Blogs

  12. kb

    Cool stuff, any chance this (or some low level variant of this) will show up in vSphere Web Services API?

  13. Pingback: Last Day of VMworld Europe | IT Should Just Work

  14. Pingback: VMware announces Horizon Air Hybrid Mode, Horizon 7, and AppVolumes 3.0. Here's our full analysis: – Brian Madden (blog)

  15. Pingback: Instant Clone. VMFork, Project Fargo – VM Man | VMware ,vsphere esxi ,VMware Course ,VCP Course ,Cloud ,VDI ,Hyperv ,Citrix ,شرح كورسات.

  16. Pingback: VMware Horizon View 7 – Complete-Geek Labs

  17. simluck4.snappages.com

    Neuere Erkenntnisse zeigen, dass Bewegung nicht unbedingt intensiv
    sein muss, um die Gesundheit zu stärken.

  18. SteveR

    Hi, excellent stuff here. In testing I’m getting the following error in Power CLI. (Extensions are installed etc)
    I get an error that “the operation is not supported on the object”. Any thoughts?

  19. Sukrit

    My VM is a Cisco Virtualized router that does not have the ability to have VMWare Tools installed. So in other words, its an ‘Other’ type of VM. I cant get InstantClone to work and get this error. Any thoughts? Workaround?

    Enable-InstantCloneVM : 5/27/2016 12:36:46 PM Enable-InstantCloneVM The Vm ‘IOS-Clone’ is not powered on or
    VMware tools are not running.
    At line:1 char:17
    + $parentforkVm = Enable-InstantCloneVM -VM $parentVm
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Enable-InstantCloneVM], VimException
    + FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.Extensions.InstantClone.Commands.Enabl

    1. Brian Graf

      Instant Clone requires VMware Tools. If your VM does not have VMware Tools installed, IC will not work.

  20. comment faire de l’argent facile

    Thanks for a marvelous posting! I actually enjoyed
    reading it, you could be a great author.I will be sure to bookmark your blog
    and will come back sometime soon.I want to encourage one
    to continue your great posts, have a nice weekend!

  21. Pingback: Cost Reduction for Home Lab… Instant clone ESXi for vSAN testing :) | What's Next...?

  22. albert

    is this working on vsphere 6.5? Why the instantclone cmdlets are not included in PowerCLI 6.5? I am running 6.5 and downloaded the extension (VMware.VimAutomation.Extensions_for_PCLI_65R1) but fails with this error:

    PowerCLI C:\> Enable-InstantCloneVM -vm $a -GuestUser administrator -GuestPassword password -PostCloneScript C:\pscript.bat

    Enable-InstantCloneVM : 1/9/2017 2:36:45 AM Enable-InstantCloneVM A general system error occurred: vix error codes =
    (1, 0).

    At line:1 char:1
    + Enable-InstantCloneVM -vm $a -GuestUser administrator -GuestPassword …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Enable-InstantCloneVM], SystemError
    + FullyQualifiedErrorId : Client20_VmGuestServiceImpl_RunScriptInGuest_ViError,VMware.VimAutomation.Extensions.Ins

    Enable-InstantCloneVM : 1/9/2017 2:36:45 AM Enable-InstantCloneVM Object reference not set to an instance of an
    At line:1 char:1
    + Enable-InstantCloneVM -vm $a -GuestUser administrator -GuestPassword …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Enable-InstantCloneVM], VimException
    + FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.Extensions.InstantClone.Commands.Enabl

  23. Pingback: On VMware's Radio playlist: R&D gateways, containers and blockchain - SiliconANGLE

  24. Pingback: Instant Clone, VMFork, Project Fargo – VMman

  25. flora davis

    Great work

  26. Canon printer tech

    Get technical support for your Canon printer through best Canon technician by dialling Canon printer support phone number in least possible time. 

  27. 123.hp.com

    This is good to see. If anyone needs any kind of solution related to HP printer then they can contact us directly.

  28. Norton.com/Setup

    What is Norton? Norton is an anti-virus and anti-malware software which offers various products related to digital security. It is an industry-leading software which is reputed for its real-time protection and various comprehensive features. It helps in securing your device with ultimate protection from existing and emerging security risks. For utmost protection, Norton uses six

  29. Office.com/Setup

    What is MS office? Microsoft office provides a complete package of various applications that are used by businesses, educational institutions and homes. It comprises a large number of products for various purposes. It includes Microsoft Office, Excel, Powerpoint that is used to create spreadsheets, make labels and produce presentations for your home or office.

  30. Manish Dangi

    Thanks a Lot Dear For This Awesome Stuff


Leave a Reply

Your email address will not be published. Required fields are marked *