Setting Up for Linux Desktops

Table Of Contents
n
ESXi server that hosts the desktop machine
n
Parent virtual machine's snapshot that is used for cloning
n
Flag that indicates whether to delete the desktop virtual machine if it exists
The following example shows what the input file may contain.
VMName,Parentvm,CustomSpec,Datastore,Host,FromSnapshot,DeleteIfPresent
linux-001,Ubuntu1204x64,linuxagent,datastore1,10.117.44.172,snapshot1,TRUE
linux-002,Ubuntu1204x64,linuxagent,datastore1,10.117.44.172,snapshot1,TRUE
linux-003,Ubuntu1204x64,linuxagent,datastore1,10.117.44.172,snapshot1,TRUE
linux-004,Ubuntu1204x64,linuxagent,datastore1,10.117.44.172,snapshot1,TRUE
linux-005,Ubuntu1204x64,linuxagent,datastore1,10.117.44.172,snapshot1,TRUE
The sample scripts assume that the name of this input file is CloneVMs.csv and that the file is located in the
same folder as the scripts.
Sample Script to Clone Linux Virtual Machines
You can customize and use the following sample script to clone any number of virtual machines (VMs).
To copy and paste the script content without page breaks, use the HTML version of this topic, available
from the Horizon 7 documentation page at https://www.vmware.com/support/pubs/view_pubs.html.
Script Input
This script reads one input file, which is described in “Input File for the Sample PowerCLI Scripts to Deploy
Linux Desktops,” on page 54. This script also interactively asks for the following information:
n
IP address of the vCenter Server
n
Administrator login name for the vCenter Server
n
Administrator password for the vCenter Server
n
Clone type, which can be linked or full
n
Whether to disable vSphere VM console
Script Content
<#
Create Clones from a Master VM
The Tool supports creation of Full clone and linked clone from Master VM.
The parent VM is required for the linked-clone to work and the parent VMs file cannot be renamed
or moved.
#>
#------------------------- Functions -------------------------
function GetInput
{
Param($prompt, $IsPassword = $false)
$prompt = $prompt + ": "
Write-Host $prompt -NoNewLine
[Console]::ForegroundColor = "Blue"
if ($IsPassword)
{
$input = Read-Host -AsSecureString
$input =
[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStrin
Chapter 7 Bulk Deployment of Horizon 7 for Linux Desktops
VMware, Inc. 55