VDI-in-a-Box!Microsoft Desktop Virtualization for Smaller Scenarios and BusinessesGreg ShieldsSenior Partner & Principal Technologistwww.ConcentratedTech.com
IT’s Mission Statement,Compliments of…Well…Me.“It is the core mission of IT to create, manage, and ensure the secured access to business applications and data.”						Greg Shields,						TechNet Magazine,						February, 2010
Fulfilling that MissionWe IT Pros troubleshoot desktops.We IT Pros fix printers.We IT Pros install software.We IT Pros keep the network running.But above all else, our job is to create and manage that secured access to our business’ applications and data.Without it, our business cannot operate.Without it, we have no job.
DISCUSS:  How Do We Do That?What mechanisms are available today to deliver applications and data to users?
IT 2.0:Delivering Applications and DataWhat mechanisms are available today to deliver applications and data to users?Local desktops & laptopsFile servers and sharesApp-VRemote Desktop ServicesVirtualized RDSRemoteApp for Hyper-VXP Mode / MED-V / Client Virtualization VDI, Pooled Virtual DesktopsVDI, Personal Virtual DesktopsIncreasing ComplexityIncreasing Management BurdenIncreasing Overhead Cost
Lightweight to HEAVYweight SpectrumLocal desktops & laptopsFile servers and sharesRemote Desktop ServicesApp-VVirtualized RDSRemoteApp for Hyper-VXP Mode / MED-V / Client Virtualization VDI, Pooled Virtual DesktopsVDI, Personal Virtual DesktopsLightweightHEAVYweight
Putting the pieces togetherArchitecting a VDI Infrastructure
SOLUTION:  Right-size Application Delivery to User NeedsIT’s 2.0 approach concerns itself as much with how the app is delivered as the app itself.Direct InstallationStreamed InstallationRDS session hostingVDIVDI can be an excellent solution forapps that don’t work atop XP/2008!
SOLUTION:  Right-size Application Delivery to User NeedsFor small scenarios and needs, VDI-in-a-Box aggregates Microsoft’s VDI functions onto a single server.With RemoteApp for Hyper-V, users needn’t know they’re on a hosted desktop.RDSConn. BrokerHyper-VWeb Access
Building a VDI-in-a-boxExtended Demo
Step 1:  Install ComponentsInstall RDS Role Services to ServerRD Session HostRD Virtualization Host (adds Hyper-V)RD Connection BrokerRD Web Access (adds IIS)RD Licensing*
Step 2:  Generate & Install CertsRemote Desktop Connection ManagerVirtual Desktops:  Resources & ConfigurationDigital SignatureSign with Digital CertificateThis will install a self-signed certificate.The usual caveats about using self-signed certificates apply here.
Step 3:  Spoof the Trust on this CertUse Group PolicyComputer Configuration | Policies | Admin Templates | Windows Components | RDS | Remote Desktop Connection ClientSpecify SHA1 thumbprints of certificates representing trusted .rdp publishers.Enter the certificate thumbprint.Doing this forces RDS to trust your self-signed certificate.
Step 4:  Create and ConfigureVirtual MachinesInstall Windows 7 or Windows XP machines.Install Integration Services (if necessary).Enable Remote Desktop.Configure the Remote Desktop Users Group.Enable Remote RPC for RDSHKLM\System\CurrentControlSet\Control\TerminalServer; AllowRemoteRPC = 1Enable Firewall ExceptionsRemote Desktop ServicesRemote Service Management
Step 4½:  Create and ConfigureVirtual MachinesAdd RDP Protocol Permissions.wmic/node:localhost RDPERMISSIONS whereTerminalName="RDP-Tcp" CALL AddAccount "contoso\rdvh-srv$",1wmic/node:localhost  RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='contoso\\rdvh-srv$'" CALL ModifyPermissions 0,1wmic/node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='contoso\\rdvh-srv$'" CALL ModifyPermissions 2,1wmic/node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='contoso\\rdvh-srv$'" CALL ModifyPermissions 9,1net stop termservicenet start termservice
Step 4¾:  Create and ConfigureVirtual MachinesAdd the RD Virtualization Host’s Computer Account to the VM’s Administrator’s Group.Reboot.Enable Snapshot Rollback.Right-click the VM and choose Snapshot.Rename the Snapshot to “RDV_Rollback”.
Step 5:  Configure RD Web AccessAdd the Server’s computer account to the local TS Web Access Computers group.Configure RD Web Access to Point toRD Connection Broker.
Step 5:  Configure the Desktop PoolBack in RD Connection Manager, start the Configure Virtual Desktops wizard.Add the server as an RD Virtualization Host.Add the server as an RD Session Host.Clear the Assign personal virtual desktop box.Create a Virtual Desktop Pool.Add the virtual desktops you just created.Supply Display Name and Pool ID.
Step 6:  Start Your Virtual Desktop!Navigate to https://server/rdweb.Double-click on the Desktop Pool you just created.Voila!
Desktops to RemoteAppsYet, there are problems with deploying desktops.Double-desktops to manage.Double-desktops to secure and update.Retaining an old OS past its lifetime.Deploying a HEAVYweight solution to fix a lightweight problem.
Desktops to RemoteAppsYet, there are problems with deploying desktops.Double-desktops to manage.Double-desktops to secure and update.Retaining an old OS past its lifetime.Deploying a HEAVYweight solution to fix a lightweight problem.In the end, you just have a few applications that need a different delivery mechanism.BETTER SOLUTION:  RemoteApp for Hyper-V!
RemoteApp for Hyper-VYet, there are problems with deploying desktops.Double-desktops to manage.Double-desktops to secure and update.Retaining an old OS past its lifetime.Deploying a HEAVYweight solution to fix a lightweight problem.
VDI:  How Users ConnectWith traditional VDI, users connect to a provisioned desktop that resides in a pool.
RAFH-V:  How Users ConnectWith RemoteApp for Hyper-V, users instead connect seamlessly to an application on a pooled desktop.
RAFH-V:  Provisioning ApplicationsUsing RemoteApp for Hyper-V, problem applications can be delivered to users directly.Hosted atop a pooled desktop.Maintains the VDI architecture, installs problem applications away from user desktops.Remotable across any network connection supported by RDP.User experience improved greatly by SP1.
RAFH-V:  Provisioning ApplicationsUsing RemoteApp for Hyper-V, problem applications can be delivered to users directly.Hosted atop a pooled desktop.Maintains the VDI architecture, installs problem applications away from user desktops.Remotable across any network connection supported by RDP.User experience improved greatly by SP1.One major limitation:  No support (currently) for RD Gateway or RemoteApp and Desktop Connection.I am currently researching why this limitation exists.
Remoteapp for Hyper-VExtended Demo
Step 7:  RemoteAppfor Hyper-VOpen the Remote Desktop Client.Create a new connection, as if it were a direct connection.Save the RDP file and manually add…Remoteappapplicationmode:i:1Alternate shell:s:rdpinit.exeRemoteApplicationName:s:{appName}RemoteApplicationProgram:s:{appProgram}DisableAppCapsCheck:i:1Prompt for Credentials on Client:i:1Loadbalanceinfo:s:tsv://vmresource.1.{poolID}
Step 7:  RemoteAppfor Hyper-VFinally provision RDP file to users.Group Policy PreferencesSystems Management Solution
Lightweight to HEAVYweight SpectrumLocal desktops & laptopsFile servers and sharesRemote Desktop ServicesApp-VVirtualized RDSRemoteApp for Hyper-VXP Mode / MED-V / Client Virtualization VDI, Pooled Virtual DesktopsVDI, Personal Virtual DesktopsLightweightHEAVYweight
Your Feedback is ImportantPlease fill out a session evaluation form drop it off at the conference registration desk.Thank you!

VDI-in-a-Box: Microsoft Desktop Virtualization for Smaller Businesses and Uses

  • 1.
    VDI-in-a-Box!Microsoft Desktop Virtualizationfor Smaller Scenarios and BusinessesGreg ShieldsSenior Partner & Principal Technologistwww.ConcentratedTech.com
  • 2.
    IT’s Mission Statement,Complimentsof…Well…Me.“It is the core mission of IT to create, manage, and ensure the secured access to business applications and data.” Greg Shields, TechNet Magazine, February, 2010
  • 3.
    Fulfilling that MissionWeIT Pros troubleshoot desktops.We IT Pros fix printers.We IT Pros install software.We IT Pros keep the network running.But above all else, our job is to create and manage that secured access to our business’ applications and data.Without it, our business cannot operate.Without it, we have no job.
  • 4.
    DISCUSS: HowDo We Do That?What mechanisms are available today to deliver applications and data to users?
  • 5.
    IT 2.0:Delivering Applicationsand DataWhat mechanisms are available today to deliver applications and data to users?Local desktops & laptopsFile servers and sharesApp-VRemote Desktop ServicesVirtualized RDSRemoteApp for Hyper-VXP Mode / MED-V / Client Virtualization VDI, Pooled Virtual DesktopsVDI, Personal Virtual DesktopsIncreasing ComplexityIncreasing Management BurdenIncreasing Overhead Cost
  • 6.
    Lightweight to HEAVYweightSpectrumLocal desktops & laptopsFile servers and sharesRemote Desktop ServicesApp-VVirtualized RDSRemoteApp for Hyper-VXP Mode / MED-V / Client Virtualization VDI, Pooled Virtual DesktopsVDI, Personal Virtual DesktopsLightweightHEAVYweight
  • 7.
    Putting the piecestogetherArchitecting a VDI Infrastructure
  • 17.
    SOLUTION: Right-sizeApplication Delivery to User NeedsIT’s 2.0 approach concerns itself as much with how the app is delivered as the app itself.Direct InstallationStreamed InstallationRDS session hostingVDIVDI can be an excellent solution forapps that don’t work atop XP/2008!
  • 18.
    SOLUTION: Right-sizeApplication Delivery to User NeedsFor small scenarios and needs, VDI-in-a-Box aggregates Microsoft’s VDI functions onto a single server.With RemoteApp for Hyper-V, users needn’t know they’re on a hosted desktop.RDSConn. BrokerHyper-VWeb Access
  • 19.
  • 20.
    Step 1: Install ComponentsInstall RDS Role Services to ServerRD Session HostRD Virtualization Host (adds Hyper-V)RD Connection BrokerRD Web Access (adds IIS)RD Licensing*
  • 21.
    Step 2: Generate & Install CertsRemote Desktop Connection ManagerVirtual Desktops: Resources & ConfigurationDigital SignatureSign with Digital CertificateThis will install a self-signed certificate.The usual caveats about using self-signed certificates apply here.
  • 22.
    Step 3: Spoof the Trust on this CertUse Group PolicyComputer Configuration | Policies | Admin Templates | Windows Components | RDS | Remote Desktop Connection ClientSpecify SHA1 thumbprints of certificates representing trusted .rdp publishers.Enter the certificate thumbprint.Doing this forces RDS to trust your self-signed certificate.
  • 23.
    Step 4: Create and ConfigureVirtual MachinesInstall Windows 7 or Windows XP machines.Install Integration Services (if necessary).Enable Remote Desktop.Configure the Remote Desktop Users Group.Enable Remote RPC for RDSHKLM\System\CurrentControlSet\Control\TerminalServer; AllowRemoteRPC = 1Enable Firewall ExceptionsRemote Desktop ServicesRemote Service Management
  • 24.
    Step 4½: Create and ConfigureVirtual MachinesAdd RDP Protocol Permissions.wmic/node:localhost RDPERMISSIONS whereTerminalName="RDP-Tcp" CALL AddAccount "contoso\rdvh-srv$",1wmic/node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='contoso\\rdvh-srv$'" CALL ModifyPermissions 0,1wmic/node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='contoso\\rdvh-srv$'" CALL ModifyPermissions 2,1wmic/node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='contoso\\rdvh-srv$'" CALL ModifyPermissions 9,1net stop termservicenet start termservice
  • 25.
    Step 4¾: Create and ConfigureVirtual MachinesAdd the RD Virtualization Host’s Computer Account to the VM’s Administrator’s Group.Reboot.Enable Snapshot Rollback.Right-click the VM and choose Snapshot.Rename the Snapshot to “RDV_Rollback”.
  • 26.
    Step 5: Configure RD Web AccessAdd the Server’s computer account to the local TS Web Access Computers group.Configure RD Web Access to Point toRD Connection Broker.
  • 27.
    Step 5: Configure the Desktop PoolBack in RD Connection Manager, start the Configure Virtual Desktops wizard.Add the server as an RD Virtualization Host.Add the server as an RD Session Host.Clear the Assign personal virtual desktop box.Create a Virtual Desktop Pool.Add the virtual desktops you just created.Supply Display Name and Pool ID.
  • 28.
    Step 6: Start Your Virtual Desktop!Navigate to https://server/rdweb.Double-click on the Desktop Pool you just created.Voila!
  • 29.
    Desktops to RemoteAppsYet,there are problems with deploying desktops.Double-desktops to manage.Double-desktops to secure and update.Retaining an old OS past its lifetime.Deploying a HEAVYweight solution to fix a lightweight problem.
  • 30.
    Desktops to RemoteAppsYet,there are problems with deploying desktops.Double-desktops to manage.Double-desktops to secure and update.Retaining an old OS past its lifetime.Deploying a HEAVYweight solution to fix a lightweight problem.In the end, you just have a few applications that need a different delivery mechanism.BETTER SOLUTION: RemoteApp for Hyper-V!
  • 31.
    RemoteApp for Hyper-VYet,there are problems with deploying desktops.Double-desktops to manage.Double-desktops to secure and update.Retaining an old OS past its lifetime.Deploying a HEAVYweight solution to fix a lightweight problem.
  • 32.
    VDI: HowUsers ConnectWith traditional VDI, users connect to a provisioned desktop that resides in a pool.
  • 33.
    RAFH-V: HowUsers ConnectWith RemoteApp for Hyper-V, users instead connect seamlessly to an application on a pooled desktop.
  • 34.
    RAFH-V: ProvisioningApplicationsUsing RemoteApp for Hyper-V, problem applications can be delivered to users directly.Hosted atop a pooled desktop.Maintains the VDI architecture, installs problem applications away from user desktops.Remotable across any network connection supported by RDP.User experience improved greatly by SP1.
  • 35.
    RAFH-V: ProvisioningApplicationsUsing RemoteApp for Hyper-V, problem applications can be delivered to users directly.Hosted atop a pooled desktop.Maintains the VDI architecture, installs problem applications away from user desktops.Remotable across any network connection supported by RDP.User experience improved greatly by SP1.One major limitation: No support (currently) for RD Gateway or RemoteApp and Desktop Connection.I am currently researching why this limitation exists.
  • 36.
  • 37.
    Step 7: RemoteAppfor Hyper-VOpen the Remote Desktop Client.Create a new connection, as if it were a direct connection.Save the RDP file and manually add…Remoteappapplicationmode:i:1Alternate shell:s:rdpinit.exeRemoteApplicationName:s:{appName}RemoteApplicationProgram:s:{appProgram}DisableAppCapsCheck:i:1Prompt for Credentials on Client:i:1Loadbalanceinfo:s:tsv://vmresource.1.{poolID}
  • 38.
    Step 7: RemoteAppfor Hyper-VFinally provision RDP file to users.Group Policy PreferencesSystems Management Solution
  • 39.
    Lightweight to HEAVYweightSpectrumLocal desktops & laptopsFile servers and sharesRemote Desktop ServicesApp-VVirtualized RDSRemoteApp for Hyper-VXP Mode / MED-V / Client Virtualization VDI, Pooled Virtual DesktopsVDI, Personal Virtual DesktopsLightweightHEAVYweight
  • 40.
    Your Feedback isImportantPlease fill out a session evaluation form drop it off at the conference registration desk.Thank you!