Setting Up for Linux Desktops
Table Of Contents
- Setting Up Horizon 7 for Linux Desktops
- Contents
- Setting Up Horizon 7 for Linux Desktops
- Features and System Requirements
- Preparing a Linux Virtual Machine for Desktop Deployment
- Setting Up Active Directory Integration for Linux Desktops
- Setting Up Graphics for Linux Desktops
- Installing Horizon Agent
- Configuration Options for Linux Desktops
- Create and Manage Linux Desktop Pools
- Bulk Deployment of Horizon 7 for Manual Desktop Pools
- Overview of Bulk Deployment of Linux Desktops
- Overview of Bulk Upgrade 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 Script to Clone Linux Virtual Machines
- Sample Script to Join Cloned Virtual Machines to AD Domain
- Sample Script to Join Cloned Virtual Machines to AD Domain Using SSH
- Sample Script to Upload Configuration Files to Linux Virtual Machines
- Sample Script to Upload Configuration Files to Linux Virtual Machines Using SSH
- Sample Script to Upgrade Horizon Agent on Linux Desktop Machines
- Sample Script to Upgrade Horizon Agent on Linux Virtual Machines Using SSH
- Sample Script to Perform Operations on Linux Virtual Machines
- Troubleshooting Linux Desktops
- Collect Diagnostic Information for Horizon 7 for Linux Machine
- Troubleshooting Copy and Paste between Remote Desktop and Client Host
- Configuring the Linux Firewall to Allow Incoming TCP Connections
- View Agent Fails to Disconnect on an iPad Pro Horizon Client
- SLES 12 SP1 Desktop does not Auto Refresh after Drag and Drop
- SSO Fails to Connect to a PowerOff Agent
- Unreachable VM After Creating a Manual Desktop Pool for Linux
return $input
}
#------------------------- Handle input -------------------------
"-----------------------------------------------------"
$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false
$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false
$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true
"-----------------------------------------------------"
$hostAdmin = GetInput -prompt 'Your ESXi host admin user name, such as root' -IsPassword $false
$hostPassword = GetInput -prompt "Your ESXi admin user password" -IsPassword $true
"-----------------------------------------------------"
$guestUser = GetInput -prompt 'Your VM guest OS user name' -IsPassword $false
$guestPassword = GetInput -prompt 'Your VM guest OS user password' -IsPassword $true
"-----------------------------------------------------"
$adUser = GetInput -prompt 'Type the AD user name to join the AD' -IsPassword $false
""
"`nPlease type the AD user password."
"Plase note that special character in password may not work with the script"
$adUserPassword = GetInput -prompt 'Your AD user password' -IsPassword $true
"-----------------------------------------------------"
#$csvFile = Read-Host 'Csv File '
$csvFile = '.\CloneVMs.csv'
#------------------------- Main Script -------------------------
#Connect to vCenter
#Connect to vCenter
$VC_Conn_State = Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword
if([string]::IsNullOrEmpty($VC_Conn_State))
{
Write-Host 'Exit since failed to login vCenter'
exit
}
else
{
Write-Host 'vCenter is connected'
}
#Read input CSV file
$csvData = Import-CSV $csvFile
$destFolder = "/home/$guestUser/"
#Handle VMs one by one
foreach ($line in $csvData)
{
"`n-----------------------------------------------------"
$VMName = $line.VMName
write-host -ForeGroundColor Yellow "VM: $VMName`n"
$cmd = "sudo /usr/bin/net ads join -U $adUser%$adUserPassword"
Write-Host "Run cmd 'sudo /usr/bin/net ads join' in VM '$VMName' with user '$guestUser'"
Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser
$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd
Setting Up Horizon 7 for Linux Desktops
VMware, Inc. 90










