One of the interesting new features in VMware Horizon View 6.0 is the ability to use Windows 2008 / 2012 Remote Desktop Services to publish Desktops and Applications.
This function is only available in Advanced and Enterprise Edition, but if you signup for VMUG Advantage you’ll get all the software and licenses needed for a full blown VMware lab. Way to go, still waiting for Citrix to do the same!
In any PoC or lab it’s VERY useful to be able to easily spin up various environments. That being for evaluation, troubleshooting, performance or load testing.
The difference between Microsoft, Citrix and VMware is just the agent that goes on top. The applications, configuration and optimization are the same.
With that in mind I created some unattended installations to support VMware Horizon View in my upcoming release of Automation Framework 3.0. Below are the various installation scripts, enjoy!
VMware View Connection Server
The Connection Server requires a static IP address, so if you are automating this you need to add a PowerShell script and reboot the server before starting the installation.
1 2 3 |
#Static Network Address VMware View Connection Server New-NetIPAddress -InterfaceIndex 12 -IPAddress 192.168.1.15 -PrefixLength 24 -DefaultGateway 192.168.1.1 Set-DNSClientServerAddress -InterfaceIndex 12 -ServerAddresses ("192.168.1.10") |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Write-Verbose "Setting Arguments" -Verbose $StartDTM = (Get-Date) $Vendor = "VMware" $Product = "View Connection Server" $PackageName = "VMware-viewconnectionserver-x86_64-6.1.0-2509221" $Version = "6.1.0" $InstallerType = "exe" $LogPS = "${env:SystemRoot}" + "\Temp\$Vendor $Product $Version PS Wrapper.log" $LogApp = "${env:SystemRoot}" + "\Temp\$PackageName.log" $Destination = "${env:ChocoRepository}" + "\$Vendor\$Product\$Version\$packageName.$installerType" $UnattendedArgs = '/s /v"/qn VDM_SERVER_INSTANCE_TYPE=1 VDM_INITIAL_ADMIN_SID=S-1-5-32-544 INSTALLDIR=""C:\View"" FWCHOICE=1 VDM_SERVER_RECOVERY_PWD=Brasil2015 VDM_SERVER_RECOVERY_PWD_REMINDER=""Country"""' Start-Transcript $LogPS CD $Version Write-Verbose "Starting Installation of $Vendor $Product $Version" -Verbose (Start-Process "$PackageName.$InstallerType" $UnattendedArgs -Wait -Passthru).ExitCode Write-Verbose "Customization" -Verbose Write-Verbose "Stop logging" -Verbose $EndDTM = (Get-Date) Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalSeconds) Seconds" -Verbose Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalMinutes) Minutes" -Verbose Stop-Transcript |
VMware View Agent
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Write-Verbose "Setting Arguments" -Verbose $StartDTM = (Get-Date) $Vendor = "VMware" $Product = "View Agent" $PackageName = "VMware-viewagent-x86_64-6.1.0-2509441" $Version = "6.1.0" $InstallerType = "exe" $LogPS = "${env:SystemRoot}" + "\Temp\$Vendor $Product $Version PS Wrapper.log" $LogApp = "${env:SystemRoot}" + "\Temp\$PackageName.log" $Destination = "${env:ChocoRepository}" + "\$Vendor\$Product\$Version\$packageName.$installerType" $UnattendedArgs = '/s /v"/qn VDM_VC_MANAGED_AGENT=0 VDM_SERVER_NAME=vcs-01.ctxlab.vmw VDM_SERVER_USERNAME=ctxlab\administrator VDM_SERVER_PASSWORD=Brasil2015 REBOOT=Reallysuppress ADDLOCAL=Core,ThinPrint,USB"' Start-Transcript $LogPS CD $Version Write-Verbose "Starting Installation of $Vendor $Product $Version" -Verbose (Start-Process "$PackageName.$InstallerType" $UnattendedArgs -Wait -Passthru).ExitCode Write-Verbose "Customization" -Verbose Write-Verbose "Stop logging" -Verbose $EndDTM = (Get-Date) Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalSeconds) Seconds" -Verbose Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalMinutes) Minutes" -Verbose Stop-Transcript |
Please note that the VMware Documentation states administrator.ctxlab.vmw but that didn’t fly. You need to set ctxlab\administrator for VDM_Server_UserName.
VMware View Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Write-Verbose "Setting Arguments" -Verbose $StartDTM = (Get-Date) $Vendor = "VMware" $Product = "View Client" $PackageName = "VMware-Horizon-View-Client-x86_64-3.4.0-2769709" $Version = "3.4.0" $InstallerType = "exe" $LogPS = "${env:SystemRoot}" + "\Temp\$Vendor $Product $Version PS Wrapper.log" $LogApp = "${env:SystemRoot}" + "\Temp\$PackageName.log" $Destination = "${env:ChocoRepository}" + "\$Vendor\$Product\$Version\$packageName.$installerType" $UnattendedArgs = '/s /v"/qn VDM_VC_MANAGED_AGENT=0 VDM_SERVER_NAME=vcs-01.ctxlab.vmw VDM_SERVER_USERNAME=ctxlab\administrator VDM_SERVER_PASSWORD=Brasil2015 REBOOT=Reallysuppress ADDLOCAL=Core,TSSO,ThinPrint,USB"' Start-Transcript $LogPS CD $Version Write-Verbose "Starting Installation of $Vendor $Product $Version" -Verbose (Start-Process "$PackageName.$InstallerType" $UnattendedArgs -Wait -Passthru).ExitCode Write-Verbose "Customization" -Verbose Write-Verbose "Stop logging" -Verbose $EndDTM = (Get-Date) Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalSeconds) Seconds" -Verbose Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalMinutes) Minutes" -Verbose Stop-Transcript |
Now create your VMware Horizon View Farm, Application and Desktop Pool.
The application list above is based on locally installed and streamed App-V applications controlled by App-V Scheduler and FSLogix.
Nice work, as always. Why not using thinapp in this setup, since. Although I know the answer, I’m just curious đ
Thanks Atle. ThinApp is coming, just getting my heads into VMware. Now App-V is awesome, and with the news of Windows 10 SA with MDOP and App-V it will grow even faster.
Thank you, your blog helped a lot.
Powershell question : Any idea to list the actual Farms configurated on the Presentation Servers, and how to add the RDS Server in one of them ?? I can’t find that on internet…
Hi, are we talking RDSH, Citrix og VMware View farm?