Cloning a VM with PowerShell and VMware PowerCLI


Intro

When you need to quickly spin up a test or lab machine, cloning an existing VM can save hours compared to building from scratch. VMware PowerCLI brings the full power of vSphere management into PowerShell. Here’s a simple walkthrough.


Step 1 — Install VMware PowerCLI

Open PowerShell as administrator and run:

Install-Module -Name VMware.PowerCLI -Scope CurrentUser
Import-Module VMware.PowerCLI

This installs the official VMware module and loads it into your session.


Step 2 — Connect to vCenter

You’ll need credentials for your vCenter server.

Connect-VIServer -Server <vcenter-server.domain> -User <username> -Password '<password>'

Step 3 — Clone an Existing VM

Pick the source VM, target VM names, host, and datastore. Example:

# Define source VM
$sourceVM = "Base-Win10-VM"

# Clone to new VM
New-VM -Name "Test-VM01" -VM $sourceVM `
       -VMHost (Get-VMHost -Name <target-host>) `
       -Datastore (Get-Datastore -Name <datastore-name>) `
       -Location (Get-Folder -Name "VMs")
  • -VM points to the existing machine you’re cloning.
  • -VMHost pins the new VM to a specific ESXi host.
  • -Datastore chooses where to store the VM’s disks.
  • -Location defines the vCenter folder for organization.

Step 4 — Power On the New VM

Start-VM -VM "Test-VM01"

Final Reflection

PowerCLI makes cloning fast, repeatable, and scriptable. Instead of clicking through vSphere UI screens, you can prepare test VMs with a single command.


© 2012–2025 Jet Mariano. All rights reserved.
For usage terms, please see the Legal Disclaimer.

error: Content is protected !!