6.2
Table Of Contents
- Setting Up Horizon 6 for Linux Desktops
- Contents
- Setting Up Horizon 6 for Linux Desktops
- Installing and Configuring Horizon 6 for Linux Desktops
- Features of a Horizon 6 for Linux Desktop
- Overview of Configuration Steps for Horizon 6 for Linux Desktops
- System Requirements for Horizon 6 for Linux
- Create a Virtual Machine and Install Linux
- Prepare a Linux Guest Operating System for Remote Desktop Deployment
- Install View Agent on a Linux Virtual Machine
- Create a Desktop Pool That Contains Linux Virtual Machines
- Upgrade View Agent on a Linux Virtual Machine
- Configuring Linux Machines for 3D Graphics
- Bulk Deployment of Horizon 6 for Linux Desktops
- Overview of Bulk Deployment of Linux Desktops
- Create a Virtual Machine Template for Cloning Linux Desktop Machines
- Input File for the Sample PowerCLI Scripts to Deploy Linux Desktops
- Sample PowerCLI Script to Clone Linux Desktop Machines
- Sample PowerCLI Script to Install View Agent on Linux Desktops
- Sample PowerCLI Script to Upgrade View Agent on Linux Desktop Machines
- Sample PowerCLI Script to Perform Operations on Linux Desktop Machines
- Sample PowerShell Script to Delete Machines from the Connection Server LDAP Database
- Administering Horizon 6 for Linux Desktops
- Uninstalling and Reinstalling Horizon 6 for Linux Machines
- Configure Lossless PNG Images on Linux Desktops
- Suppress the vSphere Console Display of a Linux Desktop
- Configure a Left-handed Mouse on Ubuntu Desktops
- How to Perform Power Operations on Linux Desktops from vSphere
- Gather Information About Horizon 6 for Linux Software
- Troubleshooting Horizon 6 for Linux
- Collect Diagnostic Information for a Horizon 6 for Linux Machine
- Troubleshooting View Agent Registration Failure for a Linux Machine
- Troubleshooting an Unreachable View Agent on a Linux Machine
- Troubleshooting View Agent on a Linux Machine That Is Not Responding
- Configuring the Linux Firewall to Allow Incoming TCP Connections
- Index
{
write-host -ForeGroundColor Red "CSV File $CSVFile not found"
exit
}
# Connect to the VC (Parameterize VC)
#Write-Host "DisConnecting Previous Connections"
#Disconnect-VIServer * -Confirm:$false -ErrorAction SilentlyContinue
Write-Host "Connecting to VC $vcAddress"
Connect-VIServer $vcAddress -ErrorAction Stop -user $vcAdmin -password $vcPassword
#Read input CSV file
$csvData = Import-CSV $csvFile
#$csvData = Import-CSV $csvFile -
header("VMName","Parentvm","CustomSpec","Datastore","Host","FromSnapshot","DeleteIfPresent")
foreach ($line in $csvData)
{
$destVMName=$line.VMName
$srcVM = $line.Parentvm
$cSpec = $line.CustomSpec
$targetDSName = $line.Datastore
$destHost = $line.Host
$srcSnapshot = $line.FromSnapshot
$deleteExisting = $line.DeleteIfPresent
if (IsVMExists ($destVMName))
{
Write-Host "VM $destVMName Already Exists in VC $vcAddress"
if($deleteExisting -eq "TRUE")
{
Delete_VM ($destVMName)
}
else
{
Write-Host "Skip clone for $destVMName"
continue
}
}
$vm = get-vm $srcvm -ErrorAction Stop | get-view -ErrorAction Stop
$cloneSpec = new-object VMware.VIM.VirtualMachineCloneSpec
$cloneSpec.Location = new-object VMware.VIM.VirtualMachineRelocateSpec
if ($CloneType -eq "linked")
{
$cloneSpec.Location.DiskMoveType =
[VMware.VIM.VirtualMachineRelocateDiskMoveOptions]::createNewChildDiskBacking
}
Write-Host "Using Datastore $targetDSName"
$newDS = Get-Datastore $targetDSName | Get-View
$CloneSpec.Location.Datastore = $newDS.summary.Datastore
Set-VM -vm $srcVM -snapshot (Get-Snapshot -vm $srcVM -Name $srcSnapshot) -confirm:$false
$cloneSpec.Snapshot = $vm.Snapshot.CurrentSnapshot
$cloneSpec.Location.Host = (get-vmhost -Name $destHost).Extensiondata.MoRef
$CloneSpec.Location.Pool = (Get-ResourcePool -Name Resources -Location (Get-VMHost -Name
$destHost)).Extensiondata.MoRef
# Start the Clone task using the above parameters
Setting Up Horizon 6 for Linux Desktops
38 VMware, Inc.