With XenDesktop 5 Express, you can create a virtual desktop (VDI) production environment for up to 10 users or an evaluation environment as a POC …for free! The XenDesktop Express download includes everything you need plus a tutorial video that walks you through the installation process. (You could also use XenDesktop with Microsoft Hyper-V or VMware vSphere as the virtualization layer, but we recommend the included XenServer 5.6).
Then when you’re comfortable with your XenDesktop environment on a LAN, you can try it out on a WAN for free with Citrix Access Gateway VPX 5.0.1 Express.
Here’s what you need…
Product Download
Download XenDesktop 5 Express edition from: http://www.citrix.com/tryxendesktop
This download (filename: XD5_Express.zip) includes:
- XenDesktop5.iso - XenDesktop Controller & Virtual Desktop Agent
- XenServer 5.6.0-install-cd.iso - XenServer 5.6 virtualization infrastructure
- XenCenter.ja.msi - Install for XenCenter Japanese language version
- XenDesktop_Express_Edition_License.lic - 10 user XenDesktop license
- XenDesktop5_Express_Edition_Tutorial.wmv - Step-by-step guidance for a XenDesktop setup
Licenses
Included in the XenDesktop Express download zip:
(Note: Product offers a 30 day grace period until license is applied.)
- XenDesktop 5 Express License file - Covers Controller, Virtual Desktops, and XenServer
- XenServer License - License using XenDesktop Controller’s licensing feature (refer to tutorial video)
Sample Configuration
One or more servers capable of supporting the following:
- Windows 2008 or Windows 2008 R2 servers
-- Desktop controller, 2 GB quad core
-- Optional server for other pieces (IIS SQL, Web Interface*, Active Directory, etc.)
*Note: Web Interface could be included on the Desktop Controller instead.
- Windows 7 virtual desktops (VDAs), at least 1GB and 1 core each VM
Documentation
- XenDesktop Evaluation Guide - Get step-by-step guidance throughout the installation process.
- XenDesktop 5 Eval Scenarios - Review once you complete the installation.
- Key differences in XenDesktop 5 - Find out what’s new in XenDesktop 5.
- XenDesktop Experience Newsletter - Get technical best practices & other info. Subscribe here
More documentation can be found here.
General Info
Phase 2: Access Gateway
Once you’re comfortable with your XenDesktop environment on a LAN, it’s time to try it out on a WAN …for free. Citrix Access Gateway VPX is a virtual machine based solution for remote access to your XenDesktop environment. Access Gateway VPX configured in “Express mode,” will allow a max of 5 users for 1 year. Here are links to the resources:
- Download Access Gateway VPX 5.0.1 Express and the license file (via MyCitrix)
- Review a guide for integrating Access Gateway VPX with XenDesktop
- View Access Gateway VPX Hardware Requirements
- Configure Access Gateway 5.0 for Citrix Receiver for mobile devices
Hope you find this information helpful. If you’ve tried this yourself or there are other resources that you’ve found useful, please share!
Laura Whalen
Citrix Systems, Inc.
Follow me on Twitter
Thank you to all those that attended the Essentials for using Windows PowerShell with XenApp and XenDesktop Tech Talk on August 24, 2010 – we had a fantastic turnout! For those of you that missed it, both the recording and presentation have been posted.
Mike Bogobowicz and I co-presented this session where I led the XenDesktop PowerShell SDK side, and Mike let the XenApp PowerShell SDK side. This blog will focus on just the XenDesktop SDK questions that came from the session. Mike will have a separate blog post on the XenApp SDK questions.
XenDesktop SDK Q&A
Here’s the list of questions we received specific to the XenDesktop PowerShell SDK. In no particular order:
Q: Are you going to post the scripts you used in today’s session?
A: All the scripts we demonstrated are contained in the blog series that was posted prior to the session. You can find links to the blog series at the bottom of this article.
Q: What does “DDC” mean?
A: First, this is a great question!! If you are a XenApp admin that hasn’t touched XenDesktop, DDC is a brand new term. DDC stands for Desktop Delivery Controller. It is the component of XenDesktop 4 that brokers virtual desktops to end-users, much like how the XenApp Zone Data Collector (ZDC) brokers published applications to end-users.
Q: This looks a lot like the PowerShell SDK for XenServer, just different commands. Is it similiar?
A: Yes, I believe Engineering made the PowerShell SDKs for XenServer, XenDesktop, and XenApp similar in structure on purpose. In that way, once you learn one, learning the others will be much simpler.
Q: The 4th XenDesktop PowerShell script from the Tech Talk showed how to shut down a single virtual desktop session. How would you modify this script to interact with an entire Desktop Group or multiple users?
A: The key here is to play with the parameters of the Get-XdSession cmdlet. If you provide the -User parameter, you can get specific user sessions. If you provide the -Group parameter, you can get all sessions from a particular desktop group. If you don’t include either of these parameters, you’ll get back all sessions across the entire farm. To get started, I would encourage you to check out the full help details for this cmdlet.
Get-Help Get-XdSession -Full
Q: With the virtual desktop session shutdown script, is there a way to allow the user to prevent the shutdown?
A: I don’t believe so. Once you call the Stop-XdSession cmdlet to shut down the session, it’s going to perform an immediate shutdown of that virtual desktop. That’s why in the demo I mentioned sending a warning message to the user to give them a heads up of the shut down, perhaps 10 to 30 minutes prior for them to save their work.
Q: Do we need to provide some credential (i.e. username/password) in order to be able to run the PowerShell script from a remote domain machine?
A: You can execute all of the scripts I’m providing in the blog series from a remote domain machine. I did some additional research on this and it looks like your logged on account to that remote machine needs to be both a XenDesktop admin and have access to the XenDesktop database. This would make sense from a security perspective to not allow any domain user to manipulate your farm. So the security is performed with your logged on machine account. We don’t need to pass a XenDesktop credential to the XenDesktop cmdlets.
Q: Can you create a desktop group in a specific folder?
A: I checked the New-XdDesktopGroup cmdlet that is used for creating a new desktop group and I couldn’t find a parameter for specifying a folder as part of the desktop group creation process. It does appear, however, we can move a desktop group to a new folder immediately after it’s been created. You would use commands like below:
#************************************************************ #Move desktop group to a different folder #************************************************************ #Add the XenDesktop snap-in to the current Powershell session Add-PSSnapin "XdCommands" #Set up variables for the script $strDDCAddress = "10.10.10.56" $strDesktopGroupName = "Windows XP" $strTargetFolderName = "Folder1" #Get the target XenDesktop folder $xdfolder = Get-XdFolder -Name $strTargetFolderName -AdminAddress $strDDCAddress #Get a particular desktop group $xdgroup = Get-XdDesktopGroup -Name $strDesktopGroupName -AdminAddress $strDDCAddress -HostingDetails #Display the current folder assignment for the desktop group echo $xdgroup.Folder #Change the folder assignment for the desktop group $xdgroup.Folder = $xdfolder #Apply the change to the DDC Set-XdDesktopGroup $xdgroup #Verify the update echo $xdgroup.Folder
Q. Is it possible to enable the “User-driven desktop restart” setting for a desktop group as part of creating the desktop group with PowerShell?
A. Just as with the last question, I checked the New-XdDesktopGroup cmdlet for creating a new desktop group and couldn’t find a way to enable this setting as part of executing that command. However, you can enable this setting immediately after creating the new desktop group. You would use commands like below:
#************************************************************************************* #Enable "User-driven desktop restart" setting for a desktop group #************************************************************************************* #Add the XenDesktop snap-in to the current Powershell session Add-PSSnapin "XdCommands" #Set up variables for the script $strDDCAddress = "10.10.10.56" $strDesktopGroupName = "Windows XP" #Get a particular desktop group $xdgroup = Get-XdDesktopGroup -Name $strDesktopGroupName -AdminAddress $strDDCAddress -HostingDetails #Enable user-drive desktop restart $xdgroup.AllowUserDesktopRestart = $true #Apply the change to the DDC Set-XdDesktopGroup $xdgroup #Verify the update echo $xdgroup.AllowUserDesktopRestart
Q: If you have multiple DDCs, do you have to specify each, or just the master DDC to run against?
A: In a multiple DDC environment, if you point your scripts to the “master” DDC you should be fine. My XenDesktop farm only has one DDC so I can’t verify this one, but I’m thinking you might be able to point the scripts to any of the DDCs in the farm. If someone has a larger farm out there that can verify for us, please post a note at the bottom. Essentially, check out the scripts from the blog series and look for the -AdminAddress parameter I’ve been using for several of the XenDesktop cmdlets. If you have multiple DDCs, experiment putting the different IP addresses for that parameter and see if the script runs fine against each DDC in the farm.
Q: How can you check for disconnected sessions? Can you tell how long they’ve been disconnected?
A: The code snippet below explains how to get all the disconnected sessions for the XenDesktop farm. It looks like the properties of the $xdsession object will tell you the start time of the session, but not when it was disconnected.
#***************************************************************** #Checking for disconnected virtual desktop sessions #***************************************************************** #Add the XenDesktop snap-in to the current Powershell session Add-PSSnapin "XdCommands" #Set up variables for the script $strDDCAddress = "10.10.10.56" #Get all disconnected sessions for the XenDesktop farm $xdsession = Get-XdSession -AdminAddress $strDDCAddress -SessionDetails | where { $_.State -eq "Disconnected" } #Display the disconnected sessions echo $xdsession
Q: Can you monitor what is happening on the virtual desktop through PowerShell?? Or interact with a specific session (SendKeys style)?
A: The XenDesktop SDK doesn’t provide much in way of getting the details inside the session. In the Tech Talk, I demo’d how you can send messages to the session. You can also get some attributes for the session such as the client name and client IP that launched it. This blog goes into some of that. You can probably run other types of PowerShell scripts from within the virtual desktop session to get some additional metrics or details. Plus, there’s Citrix EdgeSight as well to have an agent running on the virtual desktop to collect performance metrics and other details!
Q: When doing an automated desktop deployment using MDT or other image deployment tool, what is the best way to have the desktop imported into it’s appropriate Desktop Group as part of the post install task sequence? These desktops are not pre-staged in AD and would prefer not to have the SDK installed on each VM. Can it execute a script on a remote server to do the import?
A: The XenDesktop PowerShell scripts do not need to be executed on the virtual desktops nor the DDC for that matter. They can be executed from any domain machine that can reach the DDC. You can use this blog for a sample script on adding virtual desktops to a desktop group. As part of your MDT automation process, you are going to want to install the virtual desktop agent (VDA) software on the virtual desktops prior to adding them to the desktop group. You’ll also want these machines added to your domain prior as well.
Q: Is it possible to create an advanced presentation for those comfortable with PowerShell and SDKs?
A: This is something that we’ve been discussing for a bit. Now that we have laid out the groundwork for the XenDesktop 4 SDK Primer, we can now think about adding in some more complex scripts to build on top of that knowledge. If you are experienced with the XenDesktop SDK and have some suggestions for what you would like to see, please post a comment below. For the more complex stuff, it’s always good to have a goal in mind for something practical that is needed out in the field.
Q: Do you cover VMware as a hypervisor in your blogs?
A: I didn’t cover VMware specifically, but the scripts I provided in the Tech Talk and blogs should also work with a VMware ESX host. If you are using VMware ESX to host virtual desktops, you are still considered to be using a VM-based desktop group. In the blogs I created, they were focused on interacting with VM-based desktop groups with XenServer as the host. My understanding is that the syntax should be very close if not identical. If anyone has used the XenDesktop PowerShell SDK for a VMware host, feel free to provide a comment at the bottom regarding your experience. Were the commands pretty much the same? Did you find any differences with using the SDK compared to my scripts with a XenServer host?
Tech Talk Resources
As a reminder, we based the Tech Talk on the blog series we posted prior to the session. You can find all the sample scripts we demonstrated in the Tech Talk within these blogs.
XenDesktop 4 PowerShell SDK Primer blog series – by Ed York
- Getting Started
- Retrieving the XenDesktop farm properties
- Creating a new desktop group
- Enabling/disabling a desktop group
- Updating the idle pool settings of a desktop group
- Adding virtual desktops to a desktop group
- Adding AD users and groups to a desktop group
- Disconnecting and stopping virtual desktop sessions
- Restarting virtual desktops and series wrap-up
XenApp 6 PowerShell SDK blog series – by Mike Bogobowicz
- Getting a XenApp Farm Inventory
- Checking XenApp Application Setting Consistency
- Checking Server Availability
About the Presenters
Ed York – Senior Architect – Worldwide Technical Readiness
Ask-the-Architect Site: http://community.citrix.com/p/product-automation#home
Follow Ed on twitter: http://twitter.com/citrixedy
Mike Bogobowicz – Principal Consultant – Worldwide Consulting Solutions
Blog Site: http://community.citrix.com/blogs/citrite/michaelbog
Follow Mike on twitter: http://twitter.com/mcbogo
Citrix XenDesktop Delivers Cost Efficiencies for Hospital
- Needed to streamline desktop delivery while supporting multiple campuses.
- Construction of new main hospital limits staff onsite, therefore remote access for staff are remote sites are critical.
- “…without the centralized management capabilities of XenApp and XenDesktop, I would need twice as many people.”

Alameda County Medical Center
Alameda County Medical Center in Oakland, California, serves as the healthcare safety net for the county, providing care to all residents regardless of their ability to pay. The medical center has six campuses that include two hospitals, ambulatory clinics, rehabilitation services and a psychiatric facility. There are approximately 2,700 employees.
The challenge: streamlining and tailoring desktop delivery to reduce IT workload
As user requirements evolved, the IT team began looking at ways to tailor the standard desktop being delivered to all clinicians and staff. “For simplicity, we created one published desktop with all the applications that the clinical and support staff could possibly require. Unfortunately, even if they didn’t use all these applications, people tended to click on the icons to see if the applications would work – and call helpdesk when they didn’t. This situation added to our workload – and with multiple campuses, we were already stretched very thin. We needed to find an easier way to build and deliver customized desktops with only the applications each person needed to do their job.”
Expanding the Application Delivery Infrastructure from Citrix
When Citrix introduced Citrix® XenDesktop™ for desktop virtualization, Alameda County Medical Center decided to add this solution to its application delivery infrastructure. Bennett selected the Platinum Edition of XenDesktop to enable delivery of tailored, virtualized desktops to about 200 users.
In addition, the medical center turned to another Citrix solution – server virtualization – to support a planned disaster recovery site. “We have a small datacenter located about 13 miles away from the main campus that we want to use for disaster recovery,” said Bennett. “To save money and optimize flexibility, we decided to implement Citrix XenServer and Citrix Provisioning Server for Datacenters. Virtualization will reduce the amount of server hardware needed in the failover site, and will accelerate server provisioning during an interruption.”
Policy-based desktop virtualization enhances control, efficiency and flexibility
Bennett looked at XenDesktop as a way to leverage the existing Citrix XenApp environment, but manage it more easily and efficiently with a small IT staff. “XenDesktop offered us the ability to use policies to tailor desktops to the particular needs of different users. We can provide a basic desktop and then specify the required applications for each user or group of users. For example, based on policies, registration clerks will get all the applications and resources they need – but no more. With XenDesktop, we don’t have to spend time building each desktop or worrying about adding a new resource – everything is automated, and the correct desktop is dynamically assembled each time the user logs in.”
With XenDesktop, policies can also be applied to control the user’s environment, such as limiting the ability to upload files if the user is connecting from a home PC, to support confidentiality of medical information.
He added, “And Citrix technology has improved the performance of our picture archiving and communications system, or PACS, enabling us to include it and any other problem application together with XenApp hosted applications in the virtualized desktops. XenDesktop gives us more flexibility in what we can deliver to our users, and avoids the need to run applications locally.”
“Overall, Citrix enables us to accomplish more with the staff we have. In fact, without the centralized management capabilities of XenApp and XenDesktop, I would need twice as many people.”
A consistent user experience on any device
With Citrix virtualization technology, the medical center’s employees can access their desktop from any device in any location, such as a cart on wheels, or a PC in a doctor’s home office. “Some of our doctors want to connect remotely in order to work outside the medical center,” said the IT director. “XenDesktop supports that by delivering a desktop with same look and feel they are used to in the hospital.”
Another benefit of XenDesktop will come into play when Alameda County Medical Center begins rebuilding a portion of its main hospital to meet earthquake standards. During construction, only a limited number of staff will be able to work on the main campus, and many will have to be relocated to remote sites. “XenDesktop will help facilitate this project because we can centrally deliver desktops anywhere, with the same user experience. We expect this to ease the disruption for employees and my IT team.”
A cost-effective solution for server virtualization
In addition to providing flexible, consistent access to applications during normal operations, Alameda County Medical Center is working to ensure uninterrupted delivery in the case of a disaster. With Citrix® XenServer™ and Citrix Provisioning Server™ for Datacenters, the organization not only will benefit from rapid provisioning of virtual servers in its new failover center, but is saving money in the process.
“Public hospitals today face severe financial challenges, so any time I can get more bang for the buck I need to do it. We compared XenServer to the competition and found that we could achieve the same results but at a definite price advantage. I estimate we saved 30 or 40 percent with XenServer, and we got the Platinum Edition to boot.”
Bennett concluded, “We have had phenomenal success with Citrix products and now we are expanding on that success with desktop and server virtualization. Citrix is changing the way we look at application delivery and opening new doors for the medical center.”
All I want is a list of documents that will help me design my XenDesktop environment. Who else wants the same thing? I bet many of you are saying “Yes, Me too!!” That’s great and everything but how do you know when a new white paper is released that relates to XenDesktop design? Do you keep your own personal library of white papers for XenDesktop design? And even more, how do you keep informed when updates are made to previously released white papers?
I’ve got a special treat for you, the NEW XenDesktop Design Handbook. Instead of trying to create a 1,000 page document that discusses all of the different design options and best practices, we are creating a kit for XenDesktop architects. In the kit you will find some goodies:
- Reference Architectures
- Reference Designs
- Implementation Guides
- Planning Guides
This is just the start. If you subscribe to the kit, you will be able to receive notifications when updates are made to the Design Handbook. We are in the process of developing many new best practice documents focused on different design areas that you won’t want to miss. Interested yet? Then how about I give you the link to the NEW XenDesktop Design Handbook (you must log on to MyCitrix).
Daniel – Lead Architect – Worldwide Consulting Solutions
Twitter: @djfeller
Blog: Virtualize My Desktop
Questions? Email Ask The Architect
Andy Winiarski and I are going to be at Synergy 2010 next month to deliver a talk on Windows 7 and how it ties into desktop virtualization. I am there from Product Marketing to provide some color on XenDesktop. Andy will be bringing a consultant’s perspective and will give us some straight talk about real world issues connected with managing both an OS migration and a new desktop infrastructure. We thought we should let you know what we are planning to talk about and encourage you to join us in San Francisco.
We can easily make the assumption that Windows 7 will be on at least some of your desktops within the next 2 years. Given that Windows XP survived so long as a common OS platform in most enterprises, and taking into account user pull for the new OS, analysts are expecting a rapid ramp up which will put stress on IT and its suppliers. Windows 7 was launched almost one-third of the way into the 4th quarter of 2009, yet Microsoft still sold over 60 million licenses.
The first Windows 7 desktop to hit the network will immediately kick off a corporate wide effort to ready users, support teams, and applications for the inevitable upgrade. With this in mind, there are concerns that come up whenever we consider a large technology migration that could affect the way that your company does business. The speed of migration and the availability of staff and budget to attend to it are major concerns. Even if you wanted to make the change in the short term, is it even feasible to expect such a rapid rollout? Data security continues to be a key issue. Bitlocker will help but data is still exposed sitting on potentially 1000s of endpoints both inside and outside of the office. Temporary productivity hits can be severe during OS upgrade – despite best planning, a key resource could be left high and dry due to DoA hardware failures or unforeseen app incompatibilities.
We think that it is an opportune time to consider alternatives to the normal refresh approach to try to avoid these potential migration issues. With large budgets to commit to, perhaps it really is time to renovate your desktop infrastructure. The desktop infrastructure of previous decades is no longer current. Old methods are starting to show their age. Tools that worked well 10 years ago are starting to break and it’s hard to find someone to fix them. And there are new desktop virtualization technologies that are more efficient and cost effective than the old approach to desktops. This is a chance to make an investment in your desktop delivery infrastructure, bringing it completely up to date, rather than keeping your desktop management and delivery methodologies firmly planted in the 1980′s.
We could go on and on concerning Win7 migration and virtual desktops and that’s exactly what we plan to do at our breakout session at Synergy 2010. Make sure that you mark this session on your calendar. You get two opportunities to attend. If you’re really keen, come to both sessions!
SYN330 – Move to Windows 7 the easy way with desktop virtualization
May 12, 03:30 PM
May 14, 01:00 PM
Click here to register today!
You heard about desktop virtualization and VDI; your organization got excited and maybe is considering it now for its own IT. Now you are confronted with all your organizations requirements – business as well as technical. The logical question is, where to start and how to design a XenDesktop architecture that meets these requirements.
Typically, you start researching for information that reflects your situation or maybe even try to reach out to friends and your business network for customer references. Once you found a starting point, I am sure more questions will come up such as:
- Do I only need VDI? Or should I consider different desktop deliveries from the FlexCast options?
- How should I integrate and deliver my apps? Installed? Streamed? Or hosted?
- How do I ensure performance? What do I need to consider for scaling the environment?
- How can I preserve the user settings and make the transition as smooth as possible?
- Do I need to deliver the virtual desktops to remote users?
- How did others implement XenDesktop?
- …
I could go on with the questions, but I want to keep it short since I would like to see these questions being raised at the Hands-on Learning Lab Workshop “SYN418W – Designing a XenDesktop architecture” during Synergy. Why? This workshop will provide exactly this platform for discussion. I mentioned hands-on, but it is more a “hands-off” workshop, where you will have the opportunity to work with peers on a given fictitious customer scenario having the same questions or even the answers to your questions. The workshop will be guided by our most experienced architects, who already worked on several customer projects designing and implementing XenDesktop.
I am looking forward to see you there and hope to answer all your questions!
Tarkan
Senior Architect, Worldwide Technical Readiness
Follow me on twitter: @TarkanK
Fill in the blank if you will. There are many people who are super excited about the upcoming release of the latest tablet PCs (iPad, Slate, etc). I recently received a comment from someone on Facebook related to a previous blog saying that the iPad Will Not Replace Your Desktop. The comment basically said
Does the iPad and like devices need to be fully functional to be successful? How many people have more than one mobile device like a laptop and a netbook?”
That is an interesting question. But I’m starting to wonder if we need a laptop and an iPad? Do we need a laptop and a netbook? Depending on what you do, the iPad or the netbook could potentially replace your laptop. As I see it, most users have a smartphone and a main work computer, for many that is a laptop because they require a larger form factor device while not in their office. But what if we did the following:
• Main computer: Thin client
• Mobile computer: iPad/Netbook
• Ultra-mobile computer: Smartphone
If we have Citrix Receiver on all of these devices, we access the same applications/data/environment.
Think about all of the problems we hear about with laptops: stolen, dropped, lost, expensive, etc. If we went down the virtual desktop route, stolen, broken or lost laptops would not be a problem because your data would be in the data center with your virtual desktop. So why use a laptop?
Is it possible that tablets and netbooks could mean that those of us with laptops can toss them away? If the tablets/netbooks provides us with a connection to a virtual desktop from anywhere, why would we need the laptop functionality?
Of course this won’t work for everyone. Some people will need a laptop. But what we will see in the coming months/years is a much more diverse end point environment. We know this is coming, so it is good idea to start planning how you will integrate all of these endpoints into your infrastructure while still trying to keep the environments secure.
Daniel
Lead Architect – Worldwide Consulting Solutions
Follow Me on twitter: @djfeller
Blog for Next-Gen Desktop: Ask The Architect
Questions, then email Ask The Architect
Facebook Fan Page: Ask The Architect
Introduction
With the release of XenDesktop 4, Windows 7 is now a supported operating system for XenDesktop. Since Microsoft announced the end-of-life for Windows XP many institutions are considering moving their user population to Windows 7. Since Microsoft and Citrix work closely together, I was assigned to work at their Enterprise Engineering Center on some preliminary scalability testing XenDesktop 4 on Microsoft Hyper-V 2008 R2. Out of that joint operation, came several recommendations around deploying Windows 7 with XenDesktop which I wanted to get out to the field and disseminated as quickly as possible.
Microsoft has built Windows 7 as a virtualization-aware operating systems and as such it is already optimized for such an environment. However, my initial investigation has yielded the following performance optimizations that can be further applied to Windows 7 when deploying it via XenDesktop (XD) and/or Provisioning Services (PVS). Of course, as in the original [Windows XP Optimization blog|ocb:/2008/10/24/Windows XP Performance Optimizations for XenDesktop and Provisioning Server vDisks|Windows XP performance optimizations], none of the optimizations below are required, but they can be used if you want to streamline your Windows 7 desktop delivery. Used for this blog was Windows 7 Enterprise Edition.
Installing Windows 7
This may be obvious, but when creating the virtual hard disk (VHD) to store the Windows 7 image, use the Windows 7 Diskpart utility, not the Windows XP/2003 version. In other words, do not create the VHD from a Windows Server 2003 host and then install Windows 7 on it. The Windows XP/2003 version of Diskpart places a disk signature to the beginning of the disk and then starts the partition in the last few sectors, guaranteeing that the file system blocks will be out of alignment with the underlying storage system. I don’t want to spend a lot of time here on disk alignment issues, but if you want to know more about disk alignment, check out section 3.3 of the Virtuall (PQR) whitepaper on VDI storage, available at http://virtuall.eu/download-document/vdi-storage-deep-impact.
If Provisioning Services will be used, create virtual machines with multiple network interface cards (NIC) in the operating system image and on the underlying hypervisor hosts. Create two networks, one without a gateway to manage the streaming data from the provisioned server and one network that has a gateway for all other traffic. If you are planning on using Windows 7 with Microsoft Hyper-V, you will need two network cards – one will be the legacy network adapter for the PXE booting with provisioning services and the other will be the synthetic network adapter used for all other network traffic. The dual NIC configuration will provide the best performance on Hyper-V, since the synthetic NIC is optimized for a virtualized environment and has a higher throughput than the legacy NIC required for PXE booting. When the host is not Hyper-V, dual NICs will still allow the “disk traffic” from PVS to be separated from the normal ICA and network traffic of the workstation.
Also, if using Provisioning Services, do not join the Windows 7 image to the domain prior to creating the vDisk image. Create the vDisk and then boot from the vDisk image in private mode, join it to the domain. After the machine reboots from the domain join, install the Virtual Desktop Agent, shut it down and switch the vDisk to standard (read-only) mode and use that version of the vDisk for XenDesktop. For more information on the process of creating a vDisk image, see the Citrix Knowledge Base article CTX121028 – http://support.citrix.com/article/CTX121028.
Removable Windows 7 Features
Once you have installed Windows 7 into the VHD, you will find many new features. Windows 7 with its media-rich focus does install a couple of features that can be removed before taking an image if the users will be accessing Windows 7 through XenDesktop. Here are the features I saw installed with Windows 7 Enterprise that can most likely be uninstalled in the XenDesktop environment.
- Windows Media Center: XenDesktop users are unlikely to be watching TV on their desktop.
- Windows DVD Maker: Most users will not be creating DVDs through their XenDesktop.
- Tablet PC Components: Users of XenDesktop are not likely to be using a tablet PC for connectivity.
Please note that if you are reviewing these optimizations to use FlexCast technologies to deliver locally streamed desktops, you may want to leave these features engaged, since users could be doing any of those tasks listed above.
Run the XenConvert Optimizer
The quickest way of optimizing Windows 7 is to use the optimizer that comes with XenConvert. The XenConvert Optimizer tool will automatically set the correct values on a Windows 7 operating system for many of the items that I had included in the previous Windows XP blog. The optimize button can be found on the following screen in XenConvert:
Once you click the button, you are presented with a box that allows you to deselect the optimizations that are not required in your environment. Items that are labeled “Vista” work on “Windows 7″ as well. The screenshot below shows the optimizations available from the tool:
Hint: The Optimizer can be manually executed outside of XenConvert by running C:\Program Files\Citrix\Provisioning Services\TargetOSOptimizer.exe.
Unfortunately, the optimizations usually upset the Windows Security system because it disables Windows Update. After optimizing, the Action Center will now show a message with an error. To stop the message, go to the Action Center and disable security messages for Windows Update and any other services that you have other software to support. For instance, in my environment I am using McAfee Security for the other options, so I have stopped the warning messages from appearing in Action Center.
Settings for the Default User Profile
This section lists a few of the settings that will improve the user experience but are set at the user profile level. Keep in mind that creating a default user profile in Windows 7 is quite a bit more complex than in previous versions of Windows. I have provided guidance around how to modify the default user profile at the end of this section, but you might want consider applying these changes through Active Directory Group Policy.
Force Offscreen Compositing for Internet Explorer
This setting is disabled by default in Windows 7 with Internet Explorer 8 and is still recommended for XenDesktop 4. Turning this setting off removes any of the flickering that may display when using Internet Explorer through XenDesktop, by telling Internet Explore to fully render the page prior to displaying it. To change it, complete the following steps:
1. Open Internet Explorer
2. Select Tools >> Internet Options from the menu
3. Select the Advanced tab
4. In the Browsing section, enable the checkbox for “Force offscreen compositing even under Terminal Services“
5. Click OK to save the changes
6. Restart Internet Explorer
More information available at http://support.microsoft.com/kb/271246/en-us
Remove the Menu Delay
With Windows 7, the Start menu has a built-in delay of 400 milliseconds. To speed the menu response time, follow these steps to remove the delay:
1. Start the Registry Editor (Regedit.exe)
2. Navigate to HKEY_CURRENT_USER\Control Panel\Desktop{color}
3. Set the value of MenuShowDelay to 0
4. Exit the Registry Editor
Remove Unnecessary Visual Effects
Disabling unnecessary visual effects such as menu animations and shadow effects that generally just slow down the response time of the desktop. Keep in mind that right now XenDesktop 4 with Windows 7 doesn’t support the Aero effects but that is on the roadmap.
1. Open Control Panel
2. Select the System applet
3. Click Advanced System Settings on the left
4. Click the Settings button under the Performance section
5. Click “Adjust for best performance” radio button
6. If you want to keep the ClearType font settings, enable the “Smooth edges on screen fonts” checkbox
7. If you want to keep the XP Visual Style, scroll to the bottom and check the last box titled “Use visual styles on windows and buttons“
8. Click OK twice to close the dialogs and then exit the System Properties screen
Set the Default Behavior for the Power Button
When using XenDesktop 4, setting the default behavior to “Log off” will be the best action. Users can still select other available options, but this selection will probably make the most sense and allow the Desktop Group settings to control whether the virtual workstation reboots or not at logoff. To change the default setting, complete the following steps.
1. Right-click the Taskbar or Start button
2. Click Properties
3. Select the Start Menu tab
4. Select the appropriate action under Power button action:
5. Click OK to save the default action
Make the User Profile the Default User Profile
Since the changes above apply to every user, the quickest way to apply them for all users logging onto the workstation is to set them in the default user profile. In Windows XP you could copy the profile over to the default user, however in Windows 7 the “Copy To” button has been disabled for every profile except the Default User (the one you are most likely to replace). Instead now with Windows 7 there is only one method of replacing the default user profile, which is to use the “CopyProfile” function of Sysprep. If you don’t know how to do this, (and I did not want to learn it) you might want to check out the following Microsoft Support article, “How to customize default user profiles in Windows 7” –http://support.microsoft.com/kb/973289
For those readers wanting a bit more background as to the changes and options available, you can check out the Deployment Guys blog at http://blogs.technet.com/deploymentguys/archive/2009/10/29/configuring-default-user-settings-full-update-for-windows-7-and-windows-server-2008-r2.aspx.
Not wanting to “sysprep” my Windows 7 golden image, I went looking for an easier solution. I found it. I used the Forensit User Profile Manager 1.6 Vista tool available at http://www.forensit.com/desktop-management.html. This is a free tool (at least right now) and it replaces the Windows 7 profile management dialog with their own which will allow you to copy over the default profile. When you remove it, (which I did so the vDisk users will not be able to manage profiles) the default behavior returns and you cannot choose the “Copy To” any more.
NOTE: As before, be sure to remove any user or machine specific data for the ICA Client, the ICA Streaming Client, Password Manager, and EdgeSight before copying the profile over. Since the image prep for these items is beyond the scope of this blog, I will save it for a topic another day.
Settings for the Machine
This section provides a list of the optimizations that will affect all users of the image. These settings are usually set after logging in as an administrator. Several of the optimizations from the Windows XP blog are handled when using the XenConvert Optimize tool mentioned at the beginning of the blog. This section represents the remaining ones.
Power Configuration Settings
Two of the power settings can adversely affect the performance of Provisioning Services. One of them is the hard disk power savings. If the PVS server is using a local hard disk for the vDisk cache, you do not want the operating system to power down the local drive. The other setting is the Hibernate setting. The PVS Optimizer tool will disable hibernating, but you can manually do it as well. Here are the steps for disabling the power settings:
1. Open Control Panel
2. Select the Power Options applet
3. Click Change Plan Settings
4. Click Change Advanced power settings
5. For the default power scheme, set “Turn off hard disks after” setting to Never
6. You may want to repeat this procedure for the other power plans
7. Click OK to save the changes
8. Exit the Power Options applet
Modify the Windows Service Timeout
With Windows 7, the possibility still exists that in environments with large amounts of virtual machines rebooting simultaneously that Virtual Desktop Agent (VDA) may fail to register because the Windows Service timeout is reached before Citrix Desktop Service starts. I recommend changing the 30-second default to 120-seconds to give the service plenty of time to start before the Citrix Desktop Service starts.
1. Start Registry Editor (Regedit.exe)
2. Navigate to the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
3. If the ServicesPipeTimeout value is not present, use the following steps to create it:
a. Click theControl
b. On the Edit menu, point to New, and then click DWORD Value
c. Type ServicesPipeTimeout, and then press Enter
4. Right-click the ServicesPipeTimeout key and then click Modify
5. Click Decimal
6. Type 120000, and then click OK (120-seconds in milliseconds)
7. Quit the Registry Editor
8. Reboot for the changes to take effect
Disable Remaining Unnecessary Services
You can go through the list of other services that are configured on Windows 7 and disable any ones that will not be used in your environment. One nice thing about Windows 7 is that some of the more critical services will explain in the description what will not work if the service is disabled. Here are few services that you may be able to disable:
Function Discovery Resource Publication: Publishes this computer and resources attached to this computer so they can be discovered over the network. If this service is stopped, network resources will no longer be published and they will not be discovered by other computers on the network. If the device will not be sharing any resources, you can safely disable this service.
Background Intelligent Transfer Service: Transfers files in the background using idle network bandwidth. If the service is disabled, then any applications that depend on BITS, such as Windows update or MSN Explorer, will be unable to automatically download programs and other information. In most instances this service can be disabled safely since auto-updating features are disabled for standard (read-only) vDisks.
Desktop Windows Manager Session Manager: Provides Desktop Window Manager startup and maintenance services. Basically, it is used or Aero and other special effects, like transparency and glass window frames, 3-D window transition animations and Windows Flip. If you are following the guidelines above to reduce most of the special effects, or the video card drivers on the host does not support Aero, you can safely disable this service.
Theme Service: Provides user experience theme management. As above, if you are following the guidelines above to reduce most of the special effects this is a prime candidate for being disabled.
Offline Files: The offline files service performs maintenance activities on the offline files cache, responds to user logon and logoff events, implements the internals of the public API, and dispatches interesting events to those interested in offline files activities and changes in cache state. Since most XenDesktops will be running in a data center remotely, the need for offline files and synchronization is not present.
Most of the other services are not set to automatic startup in the Enterprise edition, so I didn’t bother reviewing them.
Final Recommendations
Here are few final recommendations, two of which are carry-overs from the Windows XP optimization blog that I believe still apply for Windows 7.
Flush the DNS cache
Although I have not had any issues with Windows 7 and ip address caching, I am leaving this recommendation in the list because it will not hurt anything and it only takes 10 seconds to complete. Flush the DNS Cache using the ipconfig /flushdns command. This prevents any IP addresses cached on the read-only disk from interfering with DNS resolution at a later date.
Run ChkDsk
This recommendation is a good idea since it verifies the file system or disk has no missing file links. Run chkdsk -f from a command prompt and verify that no issues are present.
Re-enable Windows Security Center
The XenConvert process seems to disable the Windows Security Center service resulting in yet another message in the Action Center. Unfortunately, I was unable to find any way to disable that message. So my current solution was to just re-enable Security Center after XenConvert disabled it during the image creation process and leave all the other warning messages disabled as mentioned at the beginning.
Wrapping it up
I realize that Windows 7 is a new operating system and as I learn more about its behavior, I will try to get that information out here on my blog. Of course comments are welcome if readers have optimization ideas that they have tried with Windows 7 and either XenDesktop or Provisioning Services.
As for my next blog topic, I am quite excited to share with you information regarding my experience at the Microsoft EEC which focused on testing XenDesktop 4 with Windows Server 2008 R2 Hyper-V. Stay tuned!!
If you found this blog useful and would like to be notified of future blogs, please feel free to follow me on twitter @pwilson98.



