Appendix 2: IP Table

VM Network: 10.0.0.0, net mask 255.255.0.0 10.0.0.1 Router 10.0.0.2 NFS Server Management 10.0.0.3 ESXi01 DRAC 10.0.0.4 ESXi02 DRAC 10.0.0.5 ESXi03 DRAC 10.0.0.6 ESXi04 DRAC 10.0.1.1 ESXi01 Management Network 10.0.1.2 ESXi02 Management Network 10.0.1.3 ESXi03 Management Network 10.0.1.4 ESXi04 Management Network 10.0.1.5 DC01.mylab.local 10.0.1.6 FS01.mylab.local 10.0.1.7 VCSA01.mylab.local 10.0.1.8 EXCH01.mylab.local 10.0.1.9 VCS01.mylab.local 10.0.1.10 VCMP01.mylab.local 10.0.1.11 MDT01.mylab.local 10.0.1.12 VCS02.mylab.local iSCSI Network: 10.1.0.0, net mask 255.255.255.0 10.1.0.1 Router 10.1.0.10 iSCSI Target 10.1.0.11 ESXi01 iSCSI 10.1.0.12 ESXi02 iSCSI 10.1.0.13 ESXi03 iSCSI 10.1.0.14 ESXi04 iSCSI vMotion Network: 10.1.1.0, net mask 255.255.255.0 10.1.1.1 Router 10.1.1.11 ESXi01 vMotion 10.1.1.12 ESXi02 vMotion 10.1.1.13 ESXi03 vMotion 10.1.1.14 ESXi04 vMotion DMZ Network: 10.1.2.0, net mask 255.255.255.0 10.1.2.1 Router 10.1.2.2 VSS01 DHCP 10.0.14.0 – 10.0.14.255
Read More

Appendix 1: Install Windows using MDT

After boot the wizard begins open as below – set the keyboard layout as desired Enter the domain credentials to access the share Select the OS to install Set the computer name and select to join the domain Install additional language packs for our locale Set langauge, time/currency format, keyboard layout and time zone Always install the appropriate VMware Tools and if it’s a View master image additionally install the View Agent Review the details and begin the installation Wait for the installation to finish – the machine will reboot several times Finished (at this point you as signed in as the local administrator)
Read More

14: Master VM and Pool

For VDI we really want VMXNET3 and ParaVirtual to ensure performance and I always reserve all the virtual machines memory.  If we start to swap then performance will be terrible and allowing a .vswp file to be created it consumes the amount of disk space equal to the RAM size.  2GB doesn’t sound much but for 100 machines that’s a lot of expensive flash disk! Create a basic VM $vm = Get-ResourcePool -Location VDI | New-VM -Name "VDI00" -DiskGB 30 -MemoryGB 2 -NumCpu 2 -NetworkName "VM Network" -GuestId windows8Guest Get-NetworkAdapter $vm | Set-NetworkAdapter -Type Vmxnet3 Get-ScsiController $vm | Set-ScsiController -Type ParaVirtual $spec = New-Object VMware.Vim.VirtualMachineConfigSpec $spec.memoryReservationLockedToMax = $true $vm.ExtensionData.ReconfigVM_Task($spec) start-vm $vm | Open-VMConsoleWindow Network boot the VM to MDT and run through the installation Unfortunately we don’t have a KMS…
Read More

13: View Security Server

In a production environment we would buy an SSL certificate for the Security Server from a recognized CA.  In this lab we are going to use an SSL certificate from our internal CA as View will trust it. Create an VM for the VMware View Security Server $vm = Get-ResourcePool -Location Servers | New-VM -Name "VSS01" -DiskGB 30 -MemoryGB 4 -NumCpu 2 -NetworkName "VM Network" -GuestId windows8Server64Guest Get-NetworkAdapter $vm | Set-NetworkAdapter -Type Vmxnet3 -Confirm:$false Get-ScsiController $vm | Set-ScsiController -Type ParaVirtual -Confirm:$false Start-VM $vm | Open-VMConsoleWindow -FullScreen Network boot from MDT and install Windows 2012 R2 and join the domain naming the computer VSS01 Copy the View Connection Server installer on to the desktop.  Ensure that the auto-enrolment has issued an SSL certificate to the machine.  Set the friendly name of…
Read More

12: View Replica Server

Ideally I’d have preferred not to have a Replica Server and the environment will work without it but ideally the LAN based the clients will connect directly to the VDI desktops without the PCoIP traffic going through the Connection Server.  The Security Server necessitates that we set the connection server to use a PCoIP Security Gateway which applies to all connections to that Connection Server.  Therefore we will create a Replica Server which will be pair with the Security Server.  The installation here is very similar to the first Connection Server Create an VM for the VMware View Connection Replica Server $vm = Get-ResourcePool -Location Servers | New-VM -Name "VCS02" -DiskGB 30 -MemoryGB 4 -NumCpu 2 -NetworkName "VM Network" -GuestId windows8Server64Guest Get-NetworkAdapter $vm | Set-NetworkAdapter -Type Vmxnet3 -Confirm:$false Get-ScsiController $vm…
Read More

11: View Connection Server Events Database

As we created a SQL Express installation for View Composer we can set the VCS to use this for events logging.  On the View Composer Server open osql and run through these commands C:\Program Files\Microsoft SQL Server\110\Tools\Binn>osql -E 1> create database VCSEvents 2> go 1> use VCSEvents 2> go 1> create login [vcsuser] with password=N'vcsuser!0', default_database=VCSEvents , default_language=us_english, check_policy=off 2> go 1> create user [vcsuser] for login [vcsuser] 2> go 1> sp_addrolemember [db_owner], [vcsuser] 2> go 1> use msdb 2> go 1> create user [vcsuser] for login [vcsuser] 2> go 1> quit In View Administrator in the left hand pane expand View Configuration and click on Event Configuration.  Then click Edit under the Event Database section in the right hand pane Enter the details created above Normally I would use…
Read More

10: View Composer

Create an VM for View Composer $vm = Get-ResourcePool -Location Servers | New-VM -Name "VCMP01" -DiskGB 30 -MemoryGB 2 -NumCpu 2 -CD -NetworkName "VM Network" -GuestId windows8Server64Guest Get-NetworkAdapter $vm | Set-NetworkAdapter -Type Vmxnet3 -Confirm:$false Get-ScsiController $vm | Set-ScsiController -Type ParaVirtual -Confirm:$false Start-VM $vm | Open-VMConsoleWindow -FullScreen Install Windows 2012 R2 using MDT. Set the IP address and DNS server New-NetIPAddress -InterfaceAlias "Ethernet0" -IPAddress 10.0.1.10 -PrefixLength 16 -DefaultGateway 10.0.0.1 Set-DnsClientServerAddress -InterfaceAlias "Ethernet0" -ServerAddresses 10.0.1.5 Install .Net 3.5.1 which requires the server ISO which should still be mounted at this point Add-WindowsFeature Net-Framework-Core -Source D:\Sources\sxs Download Microsoft SQL Express 2012 with SP2. You need file SQLEXPR_x64_ENU.exe. The installation command line is given below – all the defaults except for turning on TCP support SQLEXPR_x64_ENU.exe /QS /ACTION=install /INSTANCENAME=SQLEXPRESS /SAPWD=** /SECURITYMODE=SQL /SQLSVCSTARTUPTYPE=Automatic /SQLSYSADMINACCOUNTS="MYLAB\Domain Admins" /SQLSVCSTARTUPTYPE=Automatic…
Read More

09: View Connection Server

Create an VM for the VMware View Connection Server $vm = Get-ResourcePool -Location Servers | New-VM -Name "VCS01" -DiskGB 30 -MemoryGB 4 -NumCpu 2 -NetworkName "VM Network" -GuestId windows8Server64Guest Get-NetworkAdapter $vm | Set-NetworkAdapter -Type Vmxnet3 -Confirm:$false Get-ScsiController $vm | Set-ScsiController -Type ParaVirtual -Confirm:$false Start-VM $vm | Open-VMConsoleWindow -FullScreen Install Windows 2012 R2 using MDT. Set the IP address and DNS server New-NetIPAddress -InterfaceAlias "Ethernet0" -IPAddress 10.0.1.9 -PrefixLength 16 -DefaultGateway 10.0.0.1 Set-DnsClientServerAddress -InterfaceAlias "Ethernet0" -ServerAddresses 10.0.1.5 Set the friendly name of the machine certificate to vdm. The View installation picks up this certificate during installation – if one isn’t present it will generate a self-signed certificate.  The command line below has issues as it assumes that only one certificate exists $cert = Get-ChildItem Cert:\LocalMachine\My $cert.FriendlyName = 'vdm' Open the View Connection…
Read More

08: Group Policy Files

When using a redirected profile, Windows automatically tries to make that location available offline which is handy for typical laptop users but undesirable for VDI. Create a GPO to disable it New-GPO -Name "Disable Offline Folders" Set-GPRegistryValue -Name "Disable Offline Folders" -Key "HKLM\Software\Policies\Microsoft\Windows\NetCache" -ValueName "Enabled" -Type DWORD -Value 0 Create a GPO to actually do the redirection New-GPO -Name "Enabled Folder Redirection – Site1" I couldn’t find an easy way to set the values from PowerShell so edit the GPO via Group Policy Management which is a real same as it’s a bit laborious Open the properties page and set the setting to basic.  Set the target root path to \\mylab\site1\redirect and on the settings tab I change it as shown   Create a GPO to clear the cached copies…
Read More

07: Install VCSA

Create DNS Records for the ESXi Hosts and VCSA foreach ($h in 1..4) { Add-DnsServerResourceRecordA -Name "ESXi0$h" -ZoneName "mylab.local" -IPv4Address "10.0.1.$h" -CreatePtr -ComputerName dc01 } Add-DnsServerResourceRecordA -Name "VCSA01" -ZoneName "mylab.local" -IPv4Address "10.0.1.7" -CreatePtr -ComputerName dc01 Mount VMware-VCSA-all-6.0.0-2800571.iso on the admin workstation. Create an admin template based upon the embedded template but add in the network parameters (see http://www.vmware.com/files/pdf/products/vsphere/VMware-vsphere-60-vcenter-server-appliance-cmdline-install.pdf) { "__comments": [ "My Lab VCSA Template" ], "deployment": { "esx.hostname":"esxi02", "esx.datastore":"VMFS01", "esx.username":"root", "esx.password":"<esx password>", "deployment.option":"tiny", "deployment.network":"VM Network", "appliance.name":"VCSA01 "appliance.thin.disk.mode":true}, "vcsa": { "system": { "root.password":"<vcsa password root>", "ssh.enable":true }, "sso": { "password":"<sso password>", "domain-name":"vsphere.local", "site-name":"Default-First-Site" }, "networking": { "ip.family":"ipv4", "mode":"static", "ip":"10.0.1.7", "prefix":"16", "gateway":"10.0.0.1", "dns.servers":"10.0.1.5", "system.name":"vcsa01.mylab.local} } } Deploy the VCSA as follows PS E:\vcsa-cli-installer\win32> .\vcsa-deploy.exe C:\Users\Administrator\Desktop\embedded.example.json Start vCSA command line installer to deploy vCSA "VCSA01", an embedded node. Please see c:\users\admini~1\appdata\local\temp\vcsa-cli-installer-lins1d.log for…
Read More