HL Tools – Part 2 – Create a Nested Hypervisor

During last year’s VMworld #NotSupported sessions one of the hot topics was William Lam‘s vInception talk. “Nested ESXi” has since then become indispensable in the homelab of everyone tinkering with virtualisation !

As a follow-up to that session, William posted several blog posts on the subject. You can find them all in a handy overview.


But as much as I like his clear instructions on how to set up nested ESXi, I wanted to automate the process 🙂 In my homelab I create, and remove, ESXi VMs on a regular basis. So with the “If you do it more than once, automate it” in mind, I decided to create a function for the process.

Continue reading HL Tools – Part 2 – Create a Nested Hypervisor

HL Tools – Part 1 – Clone a VM without vCenter

In my homelab I try to automate as much as possible. I have a number of scripts and functions that help me setting up test environments in my homelab.  Since I got quite a number of requests on this, I decided to start a series on my homelab tools.

One of the tasks I automated is the provisioning of VMs. Quite easy when you have a vCenter that manages the cloning process. But in layer 1 of my homelab I’m running ESXi standalone on a PaaS provided server, so no vCenter.

With the Copy-DatastoreItem cmdlet it is easy to clone the files of a VM, but this kind of copy doesn’t know about the different types of VirtualDisk you can have in a VM. As a result, your Thin vdisks become Thick vDisks in the clone. The function in this post avoids that problem by using the VirtualDiskManager for copying the VMDK.


Note that there are a couple of prerequisites: the master VM needs to be powered off and have no snapshots. And till now I only tested this with VMs that run a Windows guest OS.

Continue reading HL Tools – Part 1 – Clone a VM without vCenter