<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.brianmadden.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Guest Bloggers</title><link>http://www.brianmadden.com/blogs/guestbloggers/default.aspx</link><description>Articles from other community members</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>An introduction to VMware View 3, Part 3 of 3 – Special Considerations and Best Practices</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/26/an-introduction-to-vmware-view-3-part-3-of-3-special-considerations-and-best-practices.aspx</link><pubDate>Mon, 26 Jan 2009 19:01:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:124516</guid><dc:creator>Roland van der Kruk</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=124516</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/26/an-introduction-to-vmware-view-3-part-3-of-3-special-considerations-and-best-practices.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;In this three-part article series, Roland van der Kruk, a freelance consultant in The Netherlands, takes a look at the new features of VMware View 3, as well as best practices learned while doing a deployment for a customer. &lt;a href="http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/15/an-introduction-to-vmware-view-3-features-and-best-practices-part-1-of-3.aspx"&gt;Part 1&lt;/a&gt; provides information and insight on new features, &lt;a href="http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/18/an-introduction-to-vmware-view-3-part-2-of-3-linked-clones.aspx"&gt;Part 2&lt;/a&gt; looks at Linked Clones, and Part 3 (this article) will look at special considerations and best practices for deployment.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;High available, secure remote access&lt;/h3&gt;
&lt;p&gt;Unfortunately, a high available configuration to access VMware View while being outside the corporate network can be very different between organizations. I have been doing some research reading the &lt;a href="http://www.vmware.com/resources/techresources/1028"&gt;VMware VDM 2 Load Balancing Guide&lt;/a&gt; to find out more about load balancing and secure remote access. In today&amp;rsquo;s enterprise environments, gateway devices like Citrix Netscaler/Access Gateway or Cisco ASA are more or less common practice. They are configured as a mandatory termination point for sessions originating from outside the corporate network connecting to resources inside the corporate network. &lt;/p&gt;
&lt;p&gt;Initially, two http sessions are set up between the client and the Connection Servers to which the load balancer redirected the client request. One session is for communication with the web page, the View Portal, and one is for the RDP connection that can be configured to be packed into http or https. By default, a Connection Server replies to the client http request with a response in which its own hostname is sent back to the client. Using the default configuration of a Connection Server would then result in having to open up the necessary ports on the firewalls between the Gateway device and all Connection servers as the client will try to communicate directly with the Connection Server once it received the Connection Servers&amp;rsquo; hostname in the http response. In the configuration page of the View Administrator however, you can modify the default behavior by configuring an &amp;lsquo;External URL&amp;rsquo; that will be given back to the client. The External URL will have to be configured on each Connection Server that you have.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image002[4].jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP33.png" alt="" /&gt;&lt;br /&gt;&lt;/em&gt;&lt;em&gt;Picture 16 &amp;ndash; Part of the screen that appears when clicking a Connection Server and choosing &amp;lsquo;Edit&amp;rsquo;.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;An External URL can be configured and also a direct connection to desktops, resulting in bypassing the Connection Server for direct communication with the virtual machine that a user needs. If you configure the External URL to be the DNS name of the load balancer, you will have two moments on which load balancing will take place; initially to set up the communication to the View Portal, and subsequently, if a session to a Virtual Machine is started. &lt;/p&gt;
&lt;p&gt;According to VMware in the Load Balancing Guide, for proper load balancing to work the load balancer needs to be configured for SSL Offloading. SSL Offloading is necessary because a load balancer cannot see what&amp;rsquo;s inside an SSL request. All requests are coming from one Gateway device, which means that all the load would go to the initially chosen Connection Server. Also, sticky sessions need to be configured on the load balancer to support RDP connections over http. This means that SSL connections can be setup to the load balancer, but the load balancer will strip off the encryption and forward the requests to the Connection Servers as http. This actually means that communication from the load balancer to a Connection Server is going over HTTP where, for example, a cookie insert by the load balancing device will result in being able to provide RDP sessions consistently going to the same Connection Server&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;This also means two more things: &lt;/li&gt;
&lt;li&gt;Username and password are passed to the Connection Server in clear text between the load balancing device and the Connection Server. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As the Connection Server is configured for http and not https, the RDP sessions will be packed in http as well. This might not be a problem because the connection from the internet to the Gateway device is already tunneled in https, but I wanted to point that out anyway. &lt;/p&gt;
&lt;p&gt;Compared with Citrix Web Interface, where integrated logon with Kerberos authentication is an option, this seems like an issue that VMware could address better. Also to get a Cisco ASA to work, probably a View Plugin for ASA would be a GREAT idea...&lt;/p&gt;
&lt;h3&gt;Server Provisioning&lt;/h3&gt;
&lt;p&gt;When I made the comparison of View 3.0 with Citrix Provisioning Server, I wondered how View 3.0 could be used to deploy Terminal Servers or even Citrix Servers. The official line from VMware says that only Desktop Operating Systems are supported. I tried it for myself and, indeed, a Virtual Server with a snapshot and a View Agent installed is not &amp;lsquo;discovered&amp;rsquo; in a desktop pool deployment wizard. Too bad, because a tool for cloning Citrix servers, like the one from &lt;a href="http://www.citrixtools.net/en/Home/newsid374/170.aspx"&gt;CitrixTools.net&lt;/a&gt; could do a good job here, handling all Citrix specific services and settings with Sysprep being used by Virtual Center to deploy uniquely identifiably virtual machines. Active Directory policies could be adjusted to make all this work without further administrative interaction.&lt;/p&gt;
&lt;p&gt;Maybe I&amp;rsquo;m going too far here comparing View with XenDesktop/Provisioning Server? I see a lot of similarity between the two products, even though entirely different techniques are used. I might say that putting OS changes in a &amp;lsquo;memory state cache&amp;rsquo; as Provisioning Server does is a more elegant solution than creating and deleting snapshots, but the result can be the same; Instantly provisioned machines that are deleted as soon as they reboot.&lt;/p&gt;
&lt;h3&gt;Machine Account password&lt;/h3&gt;
&lt;p&gt;A virtual machine with a snapshot can only be used by View 3.0 (or probably VMware ESX) as a master image if the machine is joined to a domain. For this reason, I would apply the same local policy as I would normally do with a sequencing or packaging machine, and then disable Windows machine account password resets. If your company policy or personal preference requires machine account password changes, you can change the default &amp;lsquo;change password interval&amp;rsquo; to the maximum of 999 days. Both of these options can be changed in the Group Policy editor:&lt;/p&gt;
&lt;p&gt;Start/run/gpedit.msc &amp;gt;&lt;/p&gt;
&lt;p&gt;Computer configuration/Windows settings/Security settings/local policies/Security options:&lt;/p&gt;
&lt;p&gt;- Domain member: Disable machine account password changes - enabled&lt;/p&gt;
&lt;p&gt;- Domain member: Maximum machine account password age &amp;ndash; 999 days&lt;/p&gt;
&lt;h3&gt;Display Protocol&lt;/h3&gt;
&lt;p&gt;I have to mention that I was at least a little disappointed when I noticed that nothing was done about optimizing RDP. It is especially important if you plan to deploy Windows XP, which probably has the worst version of RDP still available, and you have to provide desktops to users over high latency connections. I must admit that I haven&amp;rsquo;t yet tested performance using RDP with a typical Indian latency of (so the story goes) up to 300 milliseconds, but I can image implementations being cancelled because of this shortcoming. The Group Policy Administrative Templates provided with View will really be necessary to optimize RDP as far as possible, but of course the advanced options available in ICA are really an entirely different story. &lt;/p&gt;
&lt;p&gt;In the &lt;a href="http://www.vmware.com/resources/wp/view_reference_architecture_register.html"&gt;Reference Architecture Kit&lt;/a&gt; on the VMware site, VMware actually acknowledges this problem by stating that RDP is a good protocol for LAN connections or WAN connections with up to 150 ms latency. If you have to provide virtual desktops over high latency connections however, using RDP might not be a good idea. VMware mentions solutions like Sun Microsystems&amp;rsquo; Appliance Link Protocol&amp;trade; (ALP) used in Sun Ray&amp;trade; thin client implementations and Pano Logic&amp;rsquo;s Console Direct, but getting into those is out of the scope of this document. I did find a network tool that can configure latency up to 400 ms, so I will test this in the near future.&lt;/p&gt;
&lt;h3&gt;Sizing&lt;/h3&gt;
&lt;p&gt;Also in the &lt;a href="http://www.vmware.com/resources/wp/view_reference_architecture_register.html"&gt;Reference Architecture Kit&lt;/a&gt;, a setup is described for separate ESX clusters for VDI. For my customer, I will also use separate ESX clusters. Although, since clusters cannot contain more than 8 nodes, my customer will have to change from their standard cluster configuration of 13 hosts per cluster. I found that approximately 17 power users can be placed on a machine with two quad core CPU&amp;rsquo;s and 24 Gb of memory. Because of the memory sharing feature, ESX even promises to be the best option on which to run VDI environments, as other hypervisors do not support memory sharing. I plan to use the same Virtual Center that I already have running for my server environment, which already is one of the largest in Europe. However I will probably have to keep a close eye on performance, as Virtual Center probably also has its limits. &lt;/p&gt;
&lt;h3&gt;User experience monitoring&lt;/h3&gt;
&lt;p&gt;When you are planning to use VMware View, I recommend looking at &amp;lsquo;User Experience Monitoring&amp;rsquo; products. Products from eG Innovations and RTO PinPoint can provide valuable information on both frond end and back end performance, giving you great insight in what delay is caused where. Implementing that could save you a lot of time in the end.&lt;/p&gt;
&lt;h3&gt;A final word or two&amp;hellip;&lt;/h3&gt;
&lt;p&gt;VMware did a good job with View 3.0. They put all configuration options for the View 3.0 product into one console, which is really excellent work. The console is intuitive and fast. Options are logically grouped and put into only four distinct console windows. The new linked clone technology is probably a bit harder to understand as consequences for disk space usage are not properly documented by VMware. (Linked clones were covered in Part 2 of this article series) &lt;/p&gt;
&lt;p&gt;The term &amp;lsquo;persistent desktop&amp;rsquo; needs some explanation because it can be misunderstood as a desktop for power users &amp;ndash; like a dedicated desktop. In actuality, it means that all the desktops are kept in a consistent state by the administrator, which is certainly not a &amp;ldquo;power user&amp;rdquo; type desktop.&lt;/p&gt;
&lt;p&gt;Furthermore, most essential options are available; universal printing, single sign-on, instant and automatic desktop creation, even the experimental &amp;acute;offline desktop feature&amp;acute; can be used. Unfortunately, optimizations on the RDP protocol are lacking, which in some cases might result in unworkable situations because of network latency. Customers using VMware ESX could strategically choose for View 3.0 because of the tight integration with Virtual Infrastructure. With the Premier&amp;nbsp;license bundles that also includes ThinApp/Thinstall, the combination makes for a promising offering in the VDI market. I wonder what VMware&amp;acute;s next move will be.&lt;/p&gt;
&lt;h3&gt;Useful links&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://www.vmware.com/resources/techresources/1028"&gt;VMware VDM 2 Load Balancing Guide&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.vmware.com/pdf/viewmanager3_admin_guide.pdf"&gt;Administration Guide - View Manager 3.0&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.vmware.com/resources/wp/view_reference_architecture_register.html"&gt;VMware View Reference Architecture Kit&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/15/an-introduction-to-vmware-view-3-features-and-best-practices-part-1-of-3.aspx"&gt;Part One of this article series&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/18/an-introduction-to-vmware-view-3-part-2-of-3-linked-clones.aspx"&gt;Part Two of this article series&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Roland van der Kruk is a freelance consultant in The Netherlands. He currently works with server-based computing and desktop delivery solutions. Roland can be contacted by email at roland@sbcprojects.com or through his website at http://www.sbcprojects.com.&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=124516" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://www.brianmadden.com/tags/VDI/default.aspx">VDI</category><category domain="http://www.brianmadden.com/tags/Tutorial/default.aspx">Tutorial</category><category domain="http://www.brianmadden.com/tags/VMware+View+3/default.aspx">VMware View 3</category><category domain="http://www.brianmadden.com/tags/VMware/default.aspx">VMware</category><category domain="http://www.brianmadden.com/tags/Linked+Clones/default.aspx">Linked Clones</category></item><item><title>An introduction to VMware View 3, Part 2 of 3 – Linked Clones</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/18/an-introduction-to-vmware-view-3-part-2-of-3-linked-clones.aspx</link><pubDate>Sun, 18 Jan 2009 13:56:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:124210</guid><dc:creator>Roland van der Kruk</dc:creator><slash:comments>16</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=124210</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/18/an-introduction-to-vmware-view-3-part-2-of-3-linked-clones.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;In this three-part article series, Roland van der Kruk, a freelance consultant in The Netherlands, takes a look at the new features of VMware View 3, as well as best practices learned while doing a deployment for a customer. &lt;a href="http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/15/an-introduction-to-vmware-view-3-features-and-best-practices-part-1-of-3.aspx"&gt;Part 1&lt;/a&gt; provides information and insight on new features, Part 2 (this article) looks at Linked Clones, and Part 3 (released later this week) will look at special considerations and best practices for deployment.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Linked Clones&lt;/h2&gt;
&lt;p&gt;The big question to most people is probably: &amp;lsquo;What are linked clones and how do they work?&amp;rsquo;. Some of you may expect similar functionality to Citrix Provisioning Server where optimization in disk space can be significantly realized, and indeed VMware does somewhat the same, but with very different technology. Let&amp;rsquo;s see how VMware does it.&lt;/p&gt;
&lt;p&gt;The essence of linked clones is Thin Provisioning; saving on expensive storage cost. Thin provisioning with View 3.0 can be realized using a &amp;ldquo;master virtual machine&amp;rdquo;, which is just a regular virtual machine that you create and then take a snapshot. That virtual machine will be used as the basis for rapid and thin OS deployment. Please notice that I mentioned a virtual machine &amp;ldquo;snapshot&amp;rdquo;, not a virtual machine &amp;ldquo;template&amp;rdquo;. &lt;/p&gt;
&lt;p&gt;You prepare a virtual machine with the Desktop OS of your choice (Server Operating Systems are not supported) exactly the way that you like your master image to be. When all components and settings are properly set, you then have to install the VMware View Agent (which contains the components mentioned &lt;a href="http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/15/an-introduction-to-vmware-view-3-features-and-best-practices-part-1-of-3.aspx"&gt;in the previous article&lt;/a&gt;), shut down the virtual machine and take a (first) snapshot. I might add that the master virtual machine has to be domain joined, for which I could not find the reason. After that, desktop deployment can start. &lt;/p&gt;
&lt;p&gt;In the View Administrator console, choose the &amp;lsquo;Desktops and Pools&amp;rsquo;, as this is where desktops and desktop pools can be added and/or edited. In the right pane of the &amp;lsquo;Desktops and Pools&amp;rsquo; tab, five other tabs appear, the most left being the &amp;lsquo;Desktops and Pools&amp;rsquo; view. Here you can choose &amp;lsquo;Add&amp;rsquo; to start a wizard that guides you through the steps necessary for adding a desktop or a desktop pool. The following choices are presented:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Individual Desktop&lt;/strong&gt;, this option will start a wizard to provide users with access to a single virtual or physical computer on which the View Agent is installed. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automated Desktop Pool&lt;/strong&gt;, this option starts a wizard to automatically create one or more desktops in a pool. The explanatory text for this option states that desktops are based on &amp;ldquo;virtual machine templates,&amp;rdquo; which is wrong.&amp;nbsp; You need to have a normal virtual machine from which you will take a snapshot (as mentioned above).&amp;nbsp; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Manual Desktop Pool,&lt;/strong&gt; this option will start a wizard to provide access to an existing set of virtual or physical PC&amp;rsquo;s that have the View Agent installed.&lt;strong&gt;&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Terminal Services Desktop Pool,&lt;/strong&gt; this option starts a wizard to publish Terminal Server desktops to View Portal users.&lt;strong&gt;&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I don&amp;rsquo;t want to get into details with every option mentioned, but continue with the most eye catching option, the Automated Desktop Pool. The automated desktop pool can consist of any number of persistent or non-persistent desktops. &lt;/p&gt;
&lt;p&gt;After a persistent desktop pool is created and a user is assigned a certain desktop, the mapping between user and assigned desktop is written to the ADAM database (see &lt;a href="http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/15/an-introduction-to-vmware-view-3-features-and-best-practices-part-1-of-3.aspx"&gt;Part 1&lt;/a&gt; for more information on how ADAM is used). Every time the user logs on to the View Portal, the same desktop will be available and the state of the virtual machine is exactly the way he or she left it with the previous logoff. This option is similar to the &amp;lsquo;permanent disk&amp;rsquo; in Citrix Provisioning Server. A persistent desktop pool can contain any number of desktops, and once created, the pool can also be edited to increase the number of desktops in the pool. In the wizard, as depicted below, the initial number of desktops to be created is set to 5, the total number of desktops in the pool is set to 100 and as soon as the number of available desktops falls below 5, the number of available desktops is matched to meet the configured criteria by creating more machines in the pool, until the maximum number of desktops in the pool is reached.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image002[3].jpg"&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP26.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Picture 6 &amp;ndash; Advanced configuration of the number of desktops in a pool in the Deployment Wizard&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Both persistent and non persistent desktops can be created using the &amp;lsquo;linked clone&amp;rsquo; technology, which in fact means that deployed desktops can be altered by assigning the desktops to a different snapshot or even to an entirely different virtual machine. The main difference between a persistent and a non persistent desktop is that persistent desktops can contain a second virtual disk to which the &amp;lsquo;Documents and settings&amp;rsquo; folder is moved. User data is effectively put on another disk, so in case an administrator decides to assign a different snapshot or image to a user, all user data in the &amp;lsquo;Documents and Settings&amp;rsquo; folder will still be available. Of course, this can also be accomplished by modifying the User Shell Folders of each user with Active Directory GPO or script to alter all default folders, but with the View 3.0 option, user data will be locally available, presumably resulting in better performance. &lt;/p&gt;
&lt;p&gt;I wonder if this is really a useful option, as user data can only be reached by going to the machine itself and opening the folder, whereas with folder redirection, all user data can be redirected to a central network share, substantially simplifying central administration, in my opinion. If the central network share is located on fast NAS heads, performance might still decrease a little, but management of user data only locally available on virtual machines is not a very attractive option in larger environments.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image004[4].jpg"&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP27.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Picture 7 &amp;ndash; A separate disk for personal data, available in a linked clone.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;What actually happens as the wizard is finished is that a copy of the master virtual machine is made, together with a copy of the snapshot. The size of the copies, however, is not a complete copy of the master virtual machine. I deployed a master image with a system drive of 20 GB with a snapshot, which resulted in a copy of 6 GB for the system drive and a few Kb for the snapshot.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image006[4].jpg"&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP28.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Picture 8 - User data drive of a persistent desktop for a specific user.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The folders and disks are automatically created and the folders and files contain some GUID that is associated with master desktop and user.&lt;/p&gt;
&lt;p&gt;To (hopefully) clarify the components, the following Virtual Center folder arrangement is depicted:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image0"&gt;&lt;img src="http://www.brianmadden.com/emoticons/emotion-14.gif" alt="Devil" /&gt;.jpg&amp;quot;&amp;gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP29.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Picture 9 - Virtual Center containing all folders necessary for a View 3.0 deployment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The above picture shows that &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VMware virtual machine templates can be used to deploy master images &lt;/li&gt;
&lt;li&gt;Master images with at least one snapshot are best placed in a separate folder to make sure you don&amp;rsquo;t mix things up &lt;/li&gt;
&lt;li&gt;Linked Clones are best placed in a separate folder, where subfolders can be created to place non persistent and persistent linked clones &lt;/li&gt;
&lt;li&gt;You can (and probably will) have other virtual pc&amp;rsquo;s or virtual servers in your Virtual Center &lt;/li&gt;
&lt;li&gt;On the bottom of Picture 9 the automatically generated folders are shown, which are all created by View 3.0 as a result of a desktop pool deployment wizard in the View Administrator console. A replica folder and a source folder are created for each desktop pool that uses linked clone technology. All folders created automatically are fully managed by View 3.0 and are only to be administered through the View Administrator console. &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Linked Clone disk characteristics&lt;/h3&gt;
&lt;p&gt;So, how does View 3.0 handle disks and disk space for linked clones?&lt;/p&gt;
&lt;p&gt;In my tests I created a Windows XP SP2 image with a system drive of &lt;strong&gt;20 GB&lt;/strong&gt;. In the Automated desktop pool wizard, I chose to configure 5 linked clones, where initially 1 linked clone was created immediately after finishing the wizard, and where always 1 desktop would be available for new user logon until the maximum number of desktops in the pool has been reached. Also I chose to create a separate User data disk of &lt;strong&gt;2 GB&lt;/strong&gt; for the &amp;lsquo;Documents and Settings&amp;rsquo; folder to be placed.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image010[4].jpg"&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP210.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Picture 10 - Step in deployment wizard where OS Data and User Data stores can be selected with&lt;/em&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image012[3].jpg"&gt;&lt;em&gt;&lt;/em&gt;&lt;/a&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image012[4].jpg"&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/gabeknuth/ViewArrow.png" alt="" /&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;After finishing the wizard, a replica folder and a source folder are created which are used as templates, of which clones are created by View 3.0&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image014[4].jpg"&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP211.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Picture 11 - Replica folder of an automated, persistent desktop pool, derived from a 20 GB system disk&lt;/em&gt;&lt;/p&gt;
&lt;h5&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image016[4].jpg"&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP212.png" alt="" /&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;&lt;em&gt;Picture 12 - Source folder of an automated, persistent desktop pool with a configured user data disk of 2 GB&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image018[4].jpg"&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP213.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Picture 13 &amp;ndash; System disk of a linked clone, available to an end user using a system disk of 20 GB&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image020[4].jpg"&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP214.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Picture 14 &amp;ndash; User data disks, mapped as D-drive in the users&amp;rsquo; virtual desktop, for two users with a maximum of 2 GB per user&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the table below, all components are mentioned to deploy at least one desktop pool based on one Desktop Operating System. The &amp;lsquo;linked clone system disk&amp;rsquo; will initially be around 100 MB and can grow up to the original size of the Master VM. A &lt;em&gt;Desktop Refresh&lt;/em&gt; (discussed below) can be scheduled or executed manually to return the linked clone system disks to its&amp;rsquo; original size.&lt;/p&gt;
&lt;p&gt;
  
&lt;table cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;System disk of Desktop OS template, used to create &amp;lsquo;Master Image Virtual Machines&amp;rsquo;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;20 Gb&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;System disk of a &amp;lsquo;Master Image Virtual Machine&amp;rsquo;, containing a Desktop OS including (a) snapshot(s)&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;20 Gb&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Replica folder and source folder derived from the &amp;acute;Master Image&amp;acute;, created for a desktop pool with an unlimited of linked clones&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;6 Gb&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Linked clone system disk per OS&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;100 MB - ??&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Linked clone user data disk per user&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;2048 MB (configurable)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Table 2 &amp;ndash; Linked Clone disk size example&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Desktop recompose, refresh, rebalance&lt;/h3&gt;
&lt;p&gt;At all times, deployed desktops can be altered when created using the linked clone technology. &lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;Desktop Recompose&lt;/strong&gt; means that a deployed desktop state is altered. It can be assigned a different snapshot of possibly even entirely an different master virtual machine.&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;Desktop Refresh&lt;/strong&gt; means that a linked clone desktop is brought back to the state of initial roll out. This actually means that the system disk is reverted to the moment it was deployed, including its size and contents. If a separate user disk was used in the deployment wizard, all user data on that disk remains intact.&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;Desktop Rebalance&lt;/strong&gt; means balancing virtual machine disks across available data stores (LUN&amp;rsquo;s). If a VMware ESX data reaches its capacity, a rebalance can take care of automatic data migration of deployed virtual machine disks to different ESX data stores.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/controlpanel/blogs/posteditor.aspx/$clip_image022[4].jpg"&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/guestbloggers/ViewP215.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Picture 15 - View on a persistent desktop in the &amp;lsquo;Persistent&amp;rsquo; desktop pool, which can be removed, reset (OS reset), edited (recomposed or refreshed) or rebalanced&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Linked clones, persistent desktops and OS maintenance; 1 + 1 + 1 = 1?&lt;/h3&gt;
&lt;p&gt;Another thought came to mind worth mentioning. In my test I created a desktop pool with the combined technologies of linked clones and persistent desktops. Of course on these desktops, I do have to perform maintenance, as Microsoft hotfixes come out the second Tuesday of the month and who knows what else needs to be updated. Initially I thought I could use the linked clone technology for this; update my master virtual machine with hotfixes, take a new snapshot and link all deployed desktop to the new snapshot. If all is well this will work, however, what happens to my &amp;lsquo;persistent desktops&amp;rsquo; if I do that? In fact, all users having made changes to the OS (I chose to allow certain users to install their own applications) lose their OS customizations and their applications. &lt;/p&gt;
&lt;p&gt;After linking desktops to a new snapshot, it appears that the only thing that is really persistent about the &amp;lsquo;persistent desktop&amp;rsquo; is what is on the user data disk, which contains the &amp;lsquo;documents and settings folder&amp;rsquo; and maybe some data, but not the entire installed application the user needed. Ergo, if I want to maintain my OS with hotfixes using linked clone technology or &amp;lsquo;Desktop Recompose&amp;rsquo;, while at the same time keeping users&amp;rsquo; customizations to the OS, I will have to use a tool like SMS/SCCM, Radia or whatever your standard corporate application distribution method is. My question then is: what does &amp;lsquo;Persistent Desktop&amp;rsquo; really mean? &lt;/p&gt;
&lt;p&gt;I performed one more test to see how intelligent the linked clone snapshotting technology really is when it comes to managing disk space. I started off with a Persistent Desktop:&lt;/p&gt;
&lt;p&gt;- System disk: 230 MB&lt;/p&gt;
&lt;p&gt;After I logged on as an administrative user, I copied an installation of Eclipse, sized 354 MB, to the System disk of my virtual machine.After the file copy, my System disk looked like this:&lt;/p&gt;
&lt;p&gt;- System disk: 607 MB&lt;/p&gt;
&lt;p&gt;I decided to delete the Eclipse folder. After deletion, the system disk looked like this:&lt;/p&gt;
&lt;p&gt;- System disk: 607 MB&lt;/p&gt;
&lt;p&gt;Conclusion: The Eclipse folder doesn&amp;rsquo;t seem to be deleted and the data is still available in the snapshot.&lt;/p&gt;
&lt;p&gt;I decided to copy the exact same Eclipse folder again to the same destination on the system disk, which then looked like this (I also tested another destination; c:\temp, which had the same result):&lt;/p&gt;
&lt;p&gt;- System disk: 623 MB&lt;/p&gt;
&lt;p&gt;Apparently, some check was done as the linked clone disk reused the data that was marked as &amp;lsquo;deleted&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;After I removed Eclipse again, the system disk looked like this:&lt;/p&gt;
&lt;p&gt;- System disk: 640 MB&lt;/p&gt;
&lt;p&gt;Now since Eclipse is deleted off disk and the system disk still has the size of 640 MB, which means the data is still there, maybe the snapshot technology is intelligent enough to mark the space as deleted so it can be filled up with other data. I copy some other data to the system disk that is smaller than the size of the data that could be &amp;lsquo;marked for deletion&amp;rsquo;. After copying a 219 MB folder, the disk looks like this:&lt;/p&gt;
&lt;p&gt;- System disk: 852 MB&lt;/p&gt;
&lt;p&gt;Conclusions: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Providing linked clones to users that have full control to the system, resulting in user initiated changes to the OS like copying data, removing it, etc., will end up in a system disk that eventually has a bigger size than if the OS was provided to the user without the linked cloning technology.&lt;/li&gt;
&lt;li&gt;If a View Administrator decided to refresh the OS because he added some hotfixes or extra software, all user modifications to the OS are deleted. In fact the System Disk is simply deleted and a new linked clone is generated off the new state of the &amp;lsquo;master image&amp;rsquo;.&lt;/li&gt;
&lt;li&gt;What &amp;lsquo;Persistent desktop&amp;rsquo; actually means is that the state of a disk provided by a View Administrator is &amp;lsquo;persistent&amp;rsquo;. A desktop can be made persistent by recomposing or (scheduled) refreshing the deployed linked clones, resulting in exactly the state that a View Administrators expects it to be. From the view of end users using Linked Cloned Desktops, no persistence can actually be guaranteed, because all user actions will be undone by &amp;lsquo;Desktop Refresh&amp;rsquo; or &amp;lsquo;Desktop Recompose&amp;rsquo;.&lt;/li&gt;
&lt;li&gt;As soon as user modifications to the System Disk need to be persistent, no linked clone technology should be used. Instead, 1-on-1 desktops need to be provided, in which deployment tools like SCCM or Altiris will have to be available to maintain the system.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Roland van der Kruk is a freelance consultant in The Netherlands. He currently works with server-based computing and desktop delivery solutions. Roland can be contacted by email at roland@sbcprojects.com or through his website at http://www.sbcprojects.com.&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=124210" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://www.brianmadden.com/tags/VDI/default.aspx">VDI</category><category domain="http://www.brianmadden.com/tags/Tutorial/default.aspx">Tutorial</category><category domain="http://www.brianmadden.com/tags/VMware+View+3/default.aspx">VMware View 3</category><category domain="http://www.brianmadden.com/tags/VMware/default.aspx">VMware</category><category domain="http://www.brianmadden.com/tags/Linked+Clones/default.aspx">Linked Clones</category></item><item><title>An introduction to VMware View 3 features and best practices, Part 1 of 3</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/15/an-introduction-to-vmware-view-3-features-and-best-practices-part-1-of-3.aspx</link><pubDate>Thu, 15 Jan 2009 14:50:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:124089</guid><dc:creator>Roland van der Kruk</dc:creator><slash:comments>20</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=124089</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/15/an-introduction-to-vmware-view-3-features-and-best-practices-part-1-of-3.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;In this three-part article series, Roland van der Kruk, a freelance consultant in The Netherlands, takes a look at the new features of VMware View 3, as well as best practices learned while doing a deployment for a customer. Part 1 (this article) provides information and insight on new features, &lt;a href="http://www.brianmadden.com/blogs/guestbloggers/archive/2009/01/18/an-introduction-to-vmware-view-3-part-2-of-3-linked-clones.aspx"&gt;Part 2&lt;/a&gt; looks at Linked Clones, and Part 3 will look at special considerations and best practices for deployment.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Early December 2008, VMware released their new product for the VDI market, VMware View 3.0. As a rather substantial update to the former version, VMware VDM 2.0, apparently the product name also had to undergo a change to underline the differences between the new product and its predecessor. In this article I will discuss the (new) features in View 3.0 and the way they work. I will first describe the components on which the product is based. Then I will focus on the different deployment types possible with View 3.0 and what happens during and after deploying different types of &amp;lsquo;desktop pools&amp;rsquo;. &lt;/p&gt;
&lt;p&gt;My experience with the new product is mainly based on an implementation that I did for a customer, who had a specific use case to provide desktop operating systems to developers around the globe. I will sometimes refer to other use cases as there are quite a few, however perhaps the biggest question that everyone probably has will remain unanswered, as the technology that makes up VDI is still developing. Where we can speak of an accepted and well known technology like Citrix XenApp, VDI is not nearly there yet. The question of how VDI will result in better return on investment than desktop deployment methods being used for many years now is not clear. It all depends on use cases and things like high availability requirements and hardware cost. Financial differences and justifications for using VDI or a traditional desktop model are not discussed in this article.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s first start with a description that VMware uses to describe the product and take it from there. &lt;/p&gt;
&lt;p&gt;VMware describes View 3.0 as follows:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;lsquo;The Next Generation of VDI, delivering rich, personalized desktops to any device with all benefits of centralized management&amp;rsquo;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;View 3.0 was created using different technologies that are found in other VMware products. Examples of technology used in View 3.0 include snapshotting as seen in VMware Workstation (see picture 1); VMware OS cloning as used in ESX; and Tomcat is used for the Web based administration console, which we have seen before in the free VMware Server product (including the &amp;ldquo;self-signed, untrusted certificates&amp;rdquo; &amp;lsquo;feature,&amp;rsquo; which is enabled by default ;-).&lt;/p&gt;
&lt;p&gt;Managing View 3.0 is fairly straightforward. It is quite easy to use once you are accustomed to the components and terminology used with this product. Troubleshooting might turn out different, so let&amp;rsquo;s hope this product is as stable as should be.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/gabeknuth/View1.png" alt="" /&gt;&lt;br /&gt;&lt;em&gt;Picture 1 - Snapshotting in VMware Workstation&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;VMware View 3.0 only supports VMware Infrastructure and is not a hypervisor-independent product. In fact, due to the new technologies that were added to View 3.0, it also imposes some requirements to the Virtual Infrastructure you are using. Before installing the first bit of View 3.0, you should check the version you are running on. View 3.0 is supported starting with VMware Infrastructure 3.02, however VI 3.5 u3 is recommended since linked clones are supported, which is probably the part raising most questions but also promising the best use cases. Both ESX 3.5 as ESX 3.5i can be used for View 3.0.&lt;/p&gt;
&lt;h2&gt;Components and terminology&lt;/h2&gt;
&lt;p&gt;Although setting up View 3.0 in fact can be quite straightforward, at first I found it difficult to figure out which components were doing what, communicating where, and for what purpose. I will try to explain the product by naming and describing all of the important components and terms used in the product. &lt;/p&gt;
&lt;h3&gt;View Connection Server&lt;/h3&gt;
&lt;p&gt;A connection server is a server acting as desktop broker. It facilitates two web sites; one for users that want to access a virtual desktop and one for administrators managing the View 3.0 environment. The Connection Server communicates with Active directory and maps Active Directory users and groups to virtual desktops and desktop pools. This information, together with configuration data, is stored in a local LDAP database, for which VMware decided to use ADAM (Active Directory Application Mode). The ADAM database can be viewed through the locally installed ADAM AdsiEdit.&lt;/p&gt;
&lt;p&gt;Although the choice for ADAM as a database seems a good choice, unfortunately this also causes confusion, as with ADAM, a second LDAP database is introduced next to Active Directory. Confusion can arise when looking at the log messages in the Event log of the View Administrator console, where sometimes errors point to the ADAM LDAP database, while the actual error might be caused in communication towards Active Directory or vice versa. &lt;/p&gt;
&lt;p&gt;When the Connection Server software is installed, the &amp;lsquo;VMware View Connection Server&amp;rsquo; service is added, running under &amp;lsquo;local system&amp;rsquo;.&lt;/p&gt;
&lt;h3&gt;View Replica Server&lt;/h3&gt;
&lt;p&gt;The installation package for the Connection Server also contains the installation source for the &amp;lsquo;View Replica Server&amp;rsquo;. A View Replica Server is a Connection Server with its own replica of the ADAM database stored locally. All configuration data and changes are instantaneously replicated to all replica servers, resulting in entirely independent Connection Servers, being able to act on their own in case of failure of other replica servers.&lt;/p&gt;
&lt;h3&gt;View Security Server&lt;/h3&gt;
&lt;p&gt;The installation package for the Connection Server also contains the installation source for a &amp;lsquo;View Security Server&amp;rsquo;. A View Security Server acts somewhat like a Citrix Secure Gateway Server (the free software version) and is typically placed in a DMZ. Installation is very straightforward and the only important thing to configure is a 1-on-1 connection to a View Connection Server. After having connected a Security Server to a Connection Server, all instances of all Connection Servers are added to the configuration of the Security Server, not introducing awkward availability situations where a Security Server is available but its attached Connection Server is not. No ADAM database is stored locally and in fact the Security Server only function is to tunnel communication from the outside world users to the internal Connection servers over SSL. By simply entering the hostname of the security server in a web browser, the View Portal page is displayed, which actually is the View Portal page of a connection server.&lt;/p&gt;
&lt;h3&gt;View Portal&lt;/h3&gt;
&lt;p&gt;View Portal is the web page that facilitates users in accessing their desktops and is run on the Connection Server. After pointing a web browser to &lt;a href="https://connectionservername"&gt;https://connectionservername&lt;/a&gt;, a logon screen appears in which all domains are available that are trusted by the domain to which the Connection Server was added. View Portal is the default web page on each Connection Server and is secured with self-signed certificates out of the box. Unfortunately with View 3.0, access to the View Portal is still not possible from Windows Server 2003 R2 machines, as was the case with VDM 2. Surprisingly enough, it is possible to access virtual desktops from Windows Server 2003, but only with the View Client software installed.&lt;/p&gt;
&lt;h3&gt;View Administrator/View Manager&lt;/h3&gt;
&lt;p&gt;The console from which all View management can be done, like View configuration, desktop deployment, user session management and log event viewing has in fact two names; &amp;lsquo;View Administrator&amp;rsquo; and &amp;lsquo;View Manager&amp;rsquo;, as can be seen when the web based console is started. To start managing View 3.0, point a web browser to &lt;a href="https://servername.domain/admin"&gt;https://servername.domain/admin&lt;/a&gt;. Make sure you read that correctly; it is NOT &lt;a href="https://servername.domain/adm"&gt;https://servername.domain/adm&lt;/a&gt;, a little something that could eat you up for awhile if you don&amp;rsquo;t pay attention ;-). View configuration is done from one console that contains all possible configuration settings; a relief if you are accustomed to the different consoles that Citrix offers with their VDI product :) (see picture 2). Licenses, the connection to the Virtual Center server(s) and the account to perform all necessary actions in Virtual Center, the accounts to use that have permissions to add computer accounts in Active Directory, smart card support, a current usage overview, session timeout settings, SSL communication to the broker, login messages and more, it can all be accomplished using this one console which is even conveniently arranged. Hurray for VMware!&lt;/p&gt;
&lt;p&gt;Perhaps a disadvantage would be that no real delegation of control can be configured; either you are a View administrator or you are not. No room for user session management only, or permissions to only modify specific desktops or pools; one down for VMware&amp;hellip;&lt;/p&gt;
&lt;p&gt;The four tabs in the administration console are: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Desktops and Pools&lt;/strong&gt; - An overview of all desktop pools and other resources like Terminal Severs or bare metal pc&amp;rsquo;s, which can also be offered to users if the View Agent is installed. If the tab for Desktops and Pools is selected, sub windows appear on which all active sessions, accessible desktops, offline desktops and desktop policies can be viewed and managed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Users and Groups&lt;/strong&gt; - An overview of desktop entitlements to Active Directory users and groups&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configuration &amp;ndash; &lt;/strong&gt;All configuration for View 3.0 can be done here as mentioned before&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Events - &lt;/strong&gt;All events about desktop pool creation, desktop refresh etc. Events can be searched and filtered on number of days through the always-good-to-know symbol that VMware uses to show that more options are available: the triangle ;-) which looks like this:&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/gabeknuth/ViewArrow.png" alt="" /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/gabeknuth/View2.png" alt="" /&gt;&lt;br /&gt;&lt;em&gt;Picture 2 &amp;ndash; VMware View Administrator, configuration tab&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/gabeknuth/View3.png" alt="" /&gt;&lt;br /&gt;&lt;em&gt;Picture 3 - An view on the &amp;lsquo;Desktops and Pools&amp;rsquo; tab in the View Administrator console, showing two desktop pools; one non persistent, one persistent&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;View Composer&lt;/h3&gt;
&lt;p&gt;View composer is a separate piece of software that has to be installed on the Virtual Center server if you want to use linked clones. Prior to doing that, a database needs to be created for which I used an MS SQL 2005 database, but SQL Express is also supported. You might consider using a separate account for the View Composer to run under, however I used the Active Directory Service account that Virtual Center is running under and granted the account dbowner rights on the LinkedClones database. &lt;/p&gt;
&lt;p&gt;While installing the View Composer software, the &amp;lsquo;&lt;em&gt;VMware View Composer&amp;rsquo;&lt;/em&gt; service is added as a Windows Service, however I could not finish the installation until I changed the logon credentials to run under the same account that &amp;lsquo;&lt;em&gt;VMware Virtual Center Server&amp;rsquo;&lt;/em&gt; service is running on. In the &lt;a href="http://www.vmware.com/pdf/viewmanager3_admin_guide.pdf"&gt;Administrators&amp;rsquo; guide for View Manager 3.0, page 104&lt;/a&gt; or in Table 1 below, you can see exactly which permissions are needed for View Composer to work.
  
&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Privilege &lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Group Privilege(s) to Enable&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Folder&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Create Folder&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Data store &lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Browse Data store, File Management&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Virtual Machine &lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Inventory Configuration State&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Provisioning &amp;gt; Clone&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Provisioning &amp;gt; Allow Disk Access&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Resource &lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Assign Virtual Machine To Resource Pool&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Global &lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Enable Methods, Disable Methods&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Table 1 -&lt;strong&gt; &lt;/strong&gt;View Composer Account &amp;ndash; Minimal Privileges in Virtual Center&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;View Agent&lt;/h3&gt;
&lt;p&gt;View Agent is the component that you install inside the virtual machine that you want to use as a master VM. With the machine that you decide to make the &amp;lsquo;Master Virtual Machine&amp;rsquo;, you can deploy other virtual machines that are cloned from the Master VM. The VMware view agent consists of the following components:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/gabeknuth/View4.png" alt="" /&gt;&lt;br /&gt;&lt;em&gt;Picture 4 &amp;ndash; Custom setup window of the View agent which is installed on the master VM&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;middot; &lt;strong&gt;VDM Secure Authentication&lt;/strong&gt; &amp;ndash; This feature will install a piece of software that handles single sign-on. A user has to enter his credentials either on the View Portal or in the View Agent that is installed locally on his computer, and these credentials can be passed to the virtual desktop provided by View 3.0. This works in conjunction with the View Client, in which you can configure to use SSL for your communication or not.&lt;/p&gt;
&lt;p&gt;&amp;middot; &lt;strong&gt;USB Redirection&lt;/strong&gt; &amp;ndash; This feature handles connections from the clients&amp;rsquo; desktop USB devices to the virtual machine. I&amp;rsquo;ve already found out that HP USB keyboards with integrated smart card readers are not supported and requested an update for that particular device. There are probably more devices that are not yet supported, so make sure you test the devices that you might plan to use in your company&amp;rsquo;s View 3.0 future.&lt;/p&gt;
&lt;p&gt;&amp;middot; &lt;strong&gt;VMware View Composer Agent&lt;/strong&gt; &amp;ndash; This feature needs to be installed if you plan to use linked clones, more on that in Part 2 of this article.&lt;/p&gt;
&lt;p&gt;&amp;middot; &lt;strong&gt;Virtual Printing&lt;/strong&gt; &amp;ndash; This feature installs ThinPrint universal printing software. I found version 7.8.0.3 of the ThinPrint Output Gateway, dated 07/12/2007 and version 1.0.0.11 of the PostScript driver, which is more recent, dating from 6/18/2008. I concluded that with advanced multi-functional devices, not all options like stapling your papers are supported, in contrast to the Citrix Universal Printer driver, in which you can open the client devices&amp;rsquo; local printer properties window and access all options available in the native client driver. However, most options like paper size, orientation and duplex printing are available with the Virtual Printing feature.&lt;/p&gt;
&lt;h3&gt;View Client&lt;/h3&gt;
&lt;p&gt;View client is the component that end users have to install on their own system. With this client, USB redirection and single sign-on are supported. The View client installation package is automatically pushed if users having logged on to View Portal do not have the Client installed. The installation is straightforward, but unfortunately not available as web plug-in, so administrative permissions are required for the end user to install it. The view agent looks a bit like the regular RDP client from Microsoft; you start the client, enter the connection server that you want to logon to and after successful authentication, available resources are displayed in the View Client (see picture 5). &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/gabeknuth/View5.png" alt="" /&gt;&lt;br /&gt;&lt;em&gt;Picture 5 &amp;ndash; Logon screens of the View Client, which needs to be installed on the client pc of end users.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Part 2 will be released in the next few days and cover Linked Clones.&amp;nbsp; Part 3, available early next week, will discuss VMware View 3 best practices.&amp;nbsp; &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Roland van der Kruk is a freelance consultant in The Netherlands. He
currently works with server-based computing and desktop delivery
solutions. Roland can be contacted by email at &lt;a href="mailto:roland@sbcprojects.com"&gt;roland@sbcprojects.com&lt;/a&gt; or through his website at &lt;a href="http://www.sbcprojects.com"&gt;http://www.sbcprojects.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=124089" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://www.brianmadden.com/tags/VDI/default.aspx">VDI</category><category domain="http://www.brianmadden.com/tags/Tutorial/default.aspx">Tutorial</category><category domain="http://www.brianmadden.com/tags/VMware+View+3/default.aspx">VMware View 3</category><category domain="http://www.brianmadden.com/tags/VMware/default.aspx">VMware</category></item><item><title>How to Deploy the XenApp Web Plugin (ICA Web Client) v11 via Web Interface 4.6 and Web Interface 5.0</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2008/11/10/how-to-deploy-the-xenapp-web-plugin-ica-web-client-v11-via-web-interface-4-6-and-web-interface-5-0.aspx</link><pubDate>Mon, 10 Nov 2008 22:20:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:121735</guid><dc:creator>Katie Koepke</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=121735</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2008/11/10/how-to-deploy-the-xenapp-web-plugin-ica-web-client-v11-via-web-interface-4-6-and-web-interface-5-0.aspx#comments</comments><description>&lt;p&gt;For those who would like a quick &amp;ldquo;Google-able&amp;rdquo; article on how to deploy the new XenApp Web Plugin (formerly known as the web client) this is the article for you.&lt;/p&gt;
&lt;p&gt;To do this, you basically follow the instructions from &lt;a href="http://support.citrix.com/article/CTX114097"&gt;CTX114097, &amp;ldquo;Deploying the Web Client 10.1 for Windows through Web Interface 4.6&amp;rdquo;&lt;/a&gt; but with a few modifications.&lt;/p&gt;
&lt;p&gt;First, &lt;a href="http://www.citrix.com/English/ss/downloads/details.asp?downloadId=1681207&amp;amp;productId=186&amp;amp;c1=sot2755"&gt;download the XenApp Web Plugin from Citrix&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;For Web Interface 4.6&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Rename XenAppWeb.msi to Ica32Web.msi.&lt;/li&gt;
&lt;li&gt;Copy Ica32Web.msi to \Program Files\Citrix\Web Interface\4.6.0\Clients\ica32. (Create the ica32 directory if it does not exist.)&lt;/li&gt;
&lt;li&gt;From a command prompt run iisreset.&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;For Web Interface 5.0:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Copy XenAppWeb.msi to \Program Files\Citrix\Web Interface\5.0.1\Clients\ica32.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;(A rename of the file is not necessary.)From a command prompt run iisreset. &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Automatic Deployment and Installation of the Web Client&lt;/h3&gt;
&lt;p&gt;Web Interface 4.5 was the last version of Web Interface where automatic deployment and installation of the web client was an option. This is due to increased browser security in Internet Explorer and Vista making this capability too difficult. That said, you can only configure &amp;quot;automatic detection&amp;quot; in versions 4.6 and 5.0 as described above, versus &amp;quot;automatic deployment.&amp;quot;&lt;/p&gt;
&lt;p&gt;You should run Web Interface 4.6 instead 4.5 but if you must know how to configure automatic deployment, refer Citrix&amp;#39;s article &amp;quot;&lt;a href="http://support.citrix.com/article/CTX112732"&gt;How to Deploy the ICA Web Client Through Web Interface 4.5&lt;/a&gt;.&amp;quot;&lt;/p&gt;
&lt;p&gt;*Special thanks to Bertine Luzincourt and Scott McDonald from Citrix for their help!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=121735" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Web+Interface/default.aspx">Web Interface</category><category domain="http://www.brianmadden.com/tags/Client+Software/default.aspx">Client Software</category><category domain="http://www.brianmadden.com/tags/XenApp+Web/default.aspx">XenApp Web</category></item><item><title>Vista Aero Glass for VDI: What's real today</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2008/02/24/vista-aero-glass-for-vdi-what-s-real-today.aspx</link><pubDate>Sun, 24 Feb 2008 22:00:25 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:12813</guid><dc:creator>Glenda Canfield</dc:creator><slash:comments>17</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=12813</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2008/02/24/vista-aero-glass-for-vdi-what-s-real-today.aspx#comments</comments><description>Recently at the &lt;a href="/blog/TimMangan/Thoughts-from-Citrix-Summit-Keynote-day-1"&gt;Citrix Summit&lt;/a&gt; I collaborated with the Citrix Multimedia Virtualization Team to present a demo using XenDesktop / PortICA to deliver Vista Aero Glass from HP 2500 series blade PCs to HP&amp;#39;s t5730 (XPe) / t5735 (Linux) thin clients. (PortICA is &amp;quot;port ICA,&amp;quot; which is a Citrix implementation of the ICA protocol being served by a Vista workstation for VDI scenarios. The demo we presented was completely dependant on PortICA which requires XenDesktop. This is &lt;em&gt;not&lt;/em&gt; officially supported by Citrix or HP at this time.) &lt;p&gt;I also participated in a panel discussion with two members of the Citrix&amp;#39;s Multimedia Virtualization team: &lt;a href="http://community.citrix.com/blogs/citrite/derekt/"&gt;Derek Thorslund&lt;/a&gt;, Product Strategist, and Juan Rivera, Sr. Development Manager. We discussed &lt;a href="http://community.citrix.com/blogs/citrite/derekt/2008/02/01/Video+of+Apollo+at+the+Summit+08+Tech+Lab"&gt;Project Apollo&lt;/a&gt; as well as the various protocols and what the use case would be for each. If you attended Summit you should be able to download the video recording and slide deck from the session. (Session ID 806 - Multimedia Requirements for Desktop and Application Virtualization)&lt;/p&gt;&lt;p&gt;In this article, I would like to discuss a bit about how this demo worked and review some of the technical components required to deliver a Vista Aero Glass desktop to a remote client. Before I do this, let&amp;#39;s review the two different protocols that I&amp;#39;ll reference:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Citrix Project Apollo (PortICA, via the Thin Wire Virtual Channel):&lt;/em&gt;&lt;/strong&gt; Project Apollo is currently pre-alpha, but my understanding is that the graphics travel inside the ICA Protocol over the Thin Wire virtual channel. Glass graphics are compressed on the backend (or the VDI instance, in this case of a blade PC or workstation blade) and then decompressed on the client side using a CODEC that will probably be embedded in the ICA Client. The Connection Broker for this will of course be the XenDesktop broker.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;HP Remote Graphics Software (RGS):&lt;/em&gt;&lt;/strong&gt; HP&amp;#39;s RGS is a protocol that allows realtime remote access to graphics over a LAN providing a local user experience.&amp;nbsp;RGS uses a proprietary HP3 CODEC.&amp;nbsp; A key benefit here is if you&amp;#39;re using a pure HP-based solution, this protocol can be brokered by SAM (Session Allocation Manager, a broker which is sold with HP solutions only.)&lt;/p&gt;&lt;p&gt;Both of the above protocols work in essentially the same way.&amp;nbsp;They&amp;#39;re both screenscrape-based protocols. The graphics are compressed on the backend resource and decompressed on the end point using a CODEC. Both PortICA/Apollo and RGS are capable of remoting Vista Aero Glass to NON-Vista Aero end points. &lt;em&gt;(UPDATE: Since writing this article, HP contacted me to clarify that remoting Aero Glass is not &amp;quot;officially&amp;quot; supported over RGS, despite the fact that the lead RGS developer told me otherwise. So take that for what it&amp;#39;s worth!)&lt;/em&gt;&lt;/p&gt;&lt;h2&gt;What&amp;#39;s the difference between a Blade PC and a Workstation Blade?&lt;/h2&gt;&lt;p&gt;Now that we&amp;#39;ve looked at the protocols, let&amp;#39;s look at something else that I&amp;#39;ll discuss in this article: &amp;quot;Blade PCs&amp;quot; and &amp;quot;Workstation Blades.&amp;quot; Most people probably use the two terms interchangeably, but hardware vendors like HP do not. To HP, these are two different things. The main difference is&amp;nbsp;the hardware specs of the two, although there&amp;#39;s a cost difference as well. (Although in reality, any high-end graphically-intense VDI solution is going to be expensive. In most cases when it comes to a solution around high-end graphics, money is not the key factor and the decisions are based on performance and end user experience/perception.)&lt;/p&gt;&lt;h3&gt;HP 2500 series &amp;quot;Blade PC&amp;quot;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;AMD Athlon 64 X2 3000+ dual-core processor&lt;/li&gt;&lt;li&gt;80GB Serial ATA 5400 RPM hard drive&lt;/li&gt;&lt;li&gt;1GB DDR2 SDRAM PC2 5300 (667 MHz) expandable to 4GB (2 SODIMM slots)&lt;/li&gt;&lt;li&gt;Two Broadcom 590 10/100 Integrated NICs, capable of PXE Boot&lt;/li&gt;&lt;li&gt;Embedded ATI DirectX 9-compliant graphics card&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;HP Documentation indicates this is &amp;ldquo;ideal for knowledge workers requiring cost effective access to many applications with increased graphics&amp;rdquo;.&lt;/p&gt;&lt;h3&gt;HP xw460c &amp;quot;Workstation Blade&amp;quot;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;1 or 2 Intel Xeon dual-core processors running at up to 2.66 GHz&lt;/li&gt;&lt;li&gt;NVIDIA Quadro FX high performance graphics adapter&lt;/li&gt;&lt;li&gt;Up to 16GB of ECC, DDR2 memory running at 667 MHz&lt;/li&gt;&lt;li&gt;Two 1 GB/s NICs&lt;/li&gt;&lt;li&gt;1 to 2 high-speed Serial Attached SCSI disk drives&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;HP Documentation indicates this is &amp;ldquo;ideal for engineers, designers, and traders with applications requiring more demanding 2D/3D graphics and/or the support of more than two displays&amp;rdquo;&lt;/p&gt;&lt;p&gt;As you can see, a &amp;quot;Workstation Blade&amp;quot; is a much higher-end device, with more processors, more RAM, and a SCSI disk. It is truly an Engineer&amp;#39;s Workstation in a blade form factor, whereas a &amp;quot;Blade PC&amp;quot; is more like a typical end-user&amp;#39;s computer.&lt;/p&gt;&lt;h2&gt;The collaboration between HP and Citrix&lt;/h2&gt;&lt;p&gt;What made the collaboration between HP and Citrix on Project Apollo interesting in my mind are two things:&lt;/p&gt;&lt;p&gt;The first is that most servers do not have a GPU in them, and even if they did, you cannot share the GPU in a hypervisor solution because of I/O issues. So to provide a full multimedia experience you only have two &amp;ldquo;realistic&amp;rdquo; choices: a blade PC or a workstation blade because each is a 1-to-1 connection which means each user gets their own GPU. You &lt;em&gt;must&lt;/em&gt; have a resource on the backend that is Vista Aero Glass capable in order to deliver it to an end point such as a Thin Client. (Of course it&amp;#39;s also necessary to have an protocol algorithm that can support it, i.e. PortICA or RGS.)&lt;/p&gt;&lt;p&gt;NOTE:&amp;nbsp; For those of you unfamiliar with the recommended hardware requirements for Vista Aero Glass, they are a 1GHz processor, 1GB of RAM, and a DirectX 9-capable 3D graphics system.&lt;/p&gt;&lt;p&gt;The use case for this would be end users who are working with graphically-intense applications.&amp;nbsp;As the .Net 3.0 architecture becomes more widely adopted and more WPF and 3D applications are deployed, people will be forced to migrate to Vista to take advantage of them.&amp;nbsp;It is not currently possible to get this experience from XP.&amp;nbsp;Nor can you get it from Vista in a virtual machine because Aero Glass is not supported in VMs. Most users are leveraging productivity applications today so for the most part hypervisor-based VDI is sufficient to meet their needs.&lt;/p&gt;&lt;p&gt;However, the more common VDI becomes, the use case for Blade PCs and Workstation Blades will become more compelling as a solution. Certainly some of the existing barriers to adoption will be a thing of the past. The way I see it, with servers becoming more commoditized (with the advent of hypervisors in general, but especially with the embedded hypervisor), the more important the end user experience will become.&amp;nbsp;That means MULTIMEDIA!&lt;/p&gt;&lt;p&gt;A potential road block that I see is having a broker to manage the connections. I understand that at this time the only qualified connection broker is HP&amp;#39;s SAM Broker.&amp;nbsp;A key benefit here is if you&amp;#39;re using a pure HP-based solution, the RGS protocol can be brokered by SAM (Session Allocation Manager). Both RGS and SAM have been fully qualified on both the HP Blade PCs &amp;amp; Workstation Blades.&amp;nbsp;Today you can remote Vista Aero to XP with RGS but it is not available for Thin Clients.&lt;/p&gt;&lt;p&gt;The second interesting thought is the idea of delivering Vista Aero Glass to a thin client, particularly a Linux-based thin client. Linux is becoming a very attractive option for customers as VDI is becoming more popular simply because the idea of paying for a license for two Microsoft operating systems is unappealing to pretty much everyone.&amp;nbsp; There are also a lot of customers who look at Linux and think &amp;ldquo;zero maintenance.&amp;rdquo; In some cases they see that as being more important--more so even than the cost of two Microsoft licenses.&amp;nbsp;A barrier here is end user acceptance. You have to get buy-in from them for this to be successfully deployed. I can say having worked with Linux thin clients, most are starting to look and feel closer to Windows but there is still a marked difference in how you navigate.&lt;/p&gt;&lt;p&gt;I see a great future for VDI, but until the server GPU I/O problem is solved Blade PCs and Workstation Blades are really the only viable solution if you want a complete Vista Aero Glass and Multimedia experience in a VDI scenario. Both HP (RGS) and Citrix (PortICA) are doing some pretty cool work around this and I find it intriguing that it will soon be possible to get a Vista Aero Glass experience using Blade PC&amp;#39;s/Workstation Blades to deliver a real-time multimedia experience to a Thin Client, whether it is XPe or Linux.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=12813" width="1" height="1"&gt;</description></item><item><title>VB Script to Backup / Restore CPS policies</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/12/06/vb-script-to-backup-restore-cps-policies.aspx</link><pubDate>Thu, 06 Dec 2007 06:31:46 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:12460</guid><dc:creator>Mark Elliott</dc:creator><slash:comments>38</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=12460</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/12/06/vb-script-to-backup-restore-cps-policies.aspx#comments</comments><description>&lt;p&gt;In response to several requests in our forums, Mark Elliott has written a couple of VB scripts that backup and restore policies stored in a Citrix Presentation Server 4.0 or 4.5 farm.&lt;/p&gt;&lt;p&gt;The backup script is pretty straightforward. It allows you to parse two (optional) parameters:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Logging detail level&lt;/li&gt;&lt;li&gt;XML file name the policy information is written to&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The restore script has some more parameters, all of which are optional. For example, you can:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Specify the logging detail&lt;/li&gt;&lt;li&gt;Whether or not to apply the policy filter&lt;/li&gt;&lt;li&gt;Whether or not to overwrite a policy if it already exists&lt;/li&gt;&lt;li&gt;The name of the XML file that you&amp;#39;re restoring (from the backup script)&lt;/li&gt;&lt;li&gt;The policy name (if you only want to restore a subset of the policies in the XML file)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.brianmadden.com/downloads/get/VB-Script-to-Backup--Restore-CPS-policies"&gt;Download a ZIP file containing these two scripts here.&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=12460" width="1" height="1"&gt;</description><enclosure url="http://www.brianmadden.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.01.24.60/CitrixPolicyBackup.zip" length="14137" type="application/x-compressed" /><category domain="http://www.brianmadden.com/tags/Technical+Articles/default.aspx">Technical Articles</category><category domain="http://www.brianmadden.com/tags/Scripting/default.aspx">Scripting</category></item><item><title>How to Automate the Backup of a SQL Server 2005 Express Data Store</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/05/07/how-to-automate-the-backup-of-a-sql-server-2005-express-data-store.aspx</link><pubDate>Mon, 07 May 2007 07:13:31 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:11279</guid><dc:creator>Katie Koepke</dc:creator><slash:comments>26</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=11279</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/05/07/how-to-automate-the-backup-of-a-sql-server-2005-express-data-store.aspx#comments</comments><description>&lt;p&gt;I recently built a Presentation Server 4.5 (PS 4.5) farm where the decision was made to use a SQL Server 2005 Express database as the IMA data store. When it came time to create an automated backup of the data store, I soon realized the process was not at simple as creating a SQL job in a friendly GUI as with a full-blown SQL Server install, or running DSMAINT BACKUP. This article describes how automate the backup a SQL Server Express data store without having to purchase a third-party tool or without having to learn SQL programming. That said, this document is intended for the non-SQL savvy administrator unfamiliar with creating T-SQL statements.&lt;/p&gt;&lt;p&gt;As you may know, it&amp;rsquo;s very easy to install and use a SQL Server Express database as your data store since Citrix provides at custom batch file in the PS 4.5 Support folder. Running \Support\SqlExpress_2005_SP1\SetupSqlExpressForCPS.cmd automatically installs and configures a SQL Server Express instance named CITRIX_METAFRAME. By default, three SQL Server Express configuration tools (SQL Server Configuration Manager, SQL Server Error and Usage Reporting, and SQL Server Surface Area Configuration) are also installed on the server, but none of these can be used to configure a backup.&lt;/p&gt;&lt;h2&gt;Creating the Database Backup Script&lt;/h2&gt;&lt;p&gt;For further SQL Server Express management options &lt;a href="http://msdn.microsoft.com/vstudio/express/sql/download/"&gt;download and install SQL Server Management Studio Express&lt;/a&gt; .&amp;nbsp; This is a free tool from Microsoft and will be used to create a script to backup your data store.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Once the tool is installed, launch Microsoft SQL Server Management Studio Express and connect to the CITRIX_METAFRAME instance.&lt;/li&gt;&lt;li&gt;Expand Databases and you will see the MF20 database. (This is the default name of the database that was created when creating the Presentation Server farm.)&lt;/li&gt;&lt;li&gt;Right click the MF20 database and select &amp;ldquo;Tasks | Backup&amp;rdquo;.&amp;nbsp; A dialog box appears allowing you to define different options such as what type of backup (full or differential) you want to do, backup destination etc. Configure the available options as desired then click the &amp;ldquo;Options&amp;rdquo; page on the left-hand column. Continue configuring options accordingly. For example, you may want to select &amp;ldquo;overwrite all existing backup sets.&amp;rdquo;&lt;/li&gt;&lt;li&gt;Once all desired options are set, select &amp;ldquo;Script | Actions to File&amp;rdquo; and enter a desired file name, for example, &amp;ldquo;DatastoreBackup,&amp;rdquo; and specify the location where to save the file.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;This creates a .SQL file which scripts the options you defined in the prior step. The contents of your .SQL file may look like this:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="text-align:center;"&gt;&lt;img src="http://www.brianmadden.com/library/content/sql%20backup.jpg" alt=" " width="432" height="388" /&gt;&lt;/div&gt; &lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;BACKUP DATABASE [MF20] TO&amp;nbsp; DISK = N&amp;#39;C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\MF20.bak&amp;#39; WITH NOFORMAT, INIT,&amp;nbsp; NAME = N&amp;#39;MF20-Full Database Backup&amp;#39;, SKIP, NOREWIND, NOUNLOAD,&amp;nbsp; STATS = 10&lt;br /&gt;GO&lt;/p&gt;&lt;p&gt;To test your .SQL file run the following from a command prompt.&lt;/p&gt;&lt;p&gt;sqlcmd -S .\CITRIX_METAFRAME -i &amp;quot;C:\&amp;lt;enter path to .sql file&amp;gt;\DatastoreBackup.sql&amp;quot;&lt;/p&gt;&lt;p&gt;If the MF20.bak file was created with the correct data and time stamp then you know your script works. By default the MF20.bak is located in C:\Program Files\Microsoft SQL Server\MSSQL\MSSQL\Backup. (This folder might be &amp;ldquo;MSSQL.1&amp;rdquo; or &amp;ldquo;MSSQL.x&amp;rdquo; depending on what else is on your server.)&lt;/p&gt;&lt;h2&gt;Automating the Database Backup&lt;/h2&gt;&lt;p&gt;You can automate the backup process by creating two Scheduled Tasks.&lt;/p&gt;&lt;h3&gt;SQLCMD Scheduled Task&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;First, create a Scheduled Task to automate the .SQL script created above. Use the Scheduled Task Wizard and when asked to select a program browse to use browse to C:\Program Files\Microsoft SQL Server\90\Tools\binn\ SQLCMD.exe. Define the Schedule Task parameters accordingly and click &amp;ldquo;Finish&amp;rdquo;.&lt;/li&gt;&lt;li&gt;Go the properties of the newly created Scheduled Task and edit the Run command as such.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;quot;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE&amp;quot; -S .\CITRIX_METAFRAME -i &amp;quot;C:\Program Files\Microsoft SQL Server\DatastoreBackup.sql&amp;quot;&lt;/p&gt;&lt;h3&gt;Copy MF20.bak Scheduled Task&lt;/h3&gt;Next, create a simple batch file to copy the MF20.bak from the local server to a network share located on server being backed up regularly.&amp;nbsp; For example, create a file named, &amp;ldquo;CopyMF20bak.cmd&amp;rdquo;, with the following contents. &amp;nbsp;&lt;p&gt;copy &amp;quot;C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\MF20.bak&amp;quot; &amp;quot;\\&amp;lt;servername&amp;gt;\&amp;lt;sharename&amp;gt;\&amp;quot;&lt;/p&gt;&lt;p&gt;Lastly, create a simple Command Prompt Scheduled Task and configure accordingly. (Make sure to run this Scheduled Task after the SQLCMD Scheduled Task.)&amp;nbsp; Go to the properties of the newly created Scheduled Task and edit the Run command to point to the location of CopyMF20bak.cmd (or your respective batch file name).&lt;/p&gt;&lt;h3&gt;Resources&lt;/h3&gt;&lt;p&gt;&lt;a href="http://www.sqldbatips.com/showarticle.asp?ID=27"&gt;http://www.sqldbatips.com/showarticle.asp?ID=27&lt;/a&gt; &lt;br /&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=487021&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=487021&amp;amp;SiteID=1&lt;/a&gt; &lt;br /&gt;&lt;a href="http://msdn.microsoft.com/vstudio/express/sql/download/"&gt;http://msdn.microsoft.com/vstudio/express/sql/download/&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=11279" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Citrix/default.aspx">Citrix</category><category domain="http://www.brianmadden.com/tags/Technical+Articles/default.aspx">Technical Articles</category><category domain="http://www.brianmadden.com/tags/Support/default.aspx">Support</category></item><item><title>Login Consultants releases free tool for converting MSI packages to SoftGrid sequences!</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/03/06/login-consultants-releases-free-tool-for-converting-msi-packages-to-softgrid-sequences.aspx</link><pubDate>Tue, 06 Mar 2007 12:10:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:11058</guid><dc:creator>Jeroen van de Kamp</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=11058</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/03/06/login-consultants-releases-free-tool-for-converting-msi-packages-to-softgrid-sequences.aspx#comments</comments><description>&lt;p&gt;Now that Softricity has been &lt;a href="http://www.brianmadden.com/content/content.asp?ID=593"&gt;acquired by Microsoft&lt;/a&gt; and its &lt;a href="http://www.brianmadden.com/content/content.asp?ID=619"&gt;price has been decreased&lt;/a&gt; so much, interest for SoftGrid is rapidly growing. Most enterprises have invested in MSI-based application packaging, and converting these packages into SoftGrid sequences can be laborious. To address this, Dennis Damen and Rodney Medina have created the SoftGrid Migration tool (SMGT). The SoftGrid Migration Tool is an add-on for the native SoftGrid Sequencer that helps you quickly “convert” existing automated application setups to SoftGrid Virtualized Applications (a.k.a. &amp;quot;streams&amp;quot; or &amp;quot;sequences&amp;quot;) with the least possible amount of user intervention. This tool can be a huge benefit if you&amp;#39;re planning to integrate SoftGrid with an existing software distribution sytem like SMS or Altiris. (If you want to virtualize applications that only have a manual setup, we still recommend using the native SoftGrid Sequencer.)&lt;/p&gt;
&lt;p&gt;When using the SoftGrid Migration Tool for converting applications the SoftGrid sequencing, best practices still apply. (Check out &lt;a href="http://support.microsoft.com/kb/932137/en-us"&gt;Microsoft KB article 932137&lt;/a&gt; for a list of sequencing best practices.)&lt;/p&gt;
&lt;p&gt;The SoftGrid Migration Tool was written in Visual Basic 2005 and requires the .NET Framework 2.0 or higher in order to work. 
  It&amp;#39;s very easy to use:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;From the zip file, copy the SGMT.exe, defaults.ini, and SettingsChanged.exe to the sequencer machine and start the SGMT executable.&lt;/li&gt;
  &lt;li&gt;Add the automated application setup(s) that needs to be converted to one virtual application.&lt;/li&gt;
  &lt;li&gt;Enter the appropriate SoftGrid Sequencing settings.&lt;/li&gt;
  &lt;li&gt;Click Start.&lt;/li&gt;
  &lt;li&gt;When done, copy the content of the entered output path to the SoftGrid Server’s content folder.&lt;/li&gt;
  &lt;li&gt;Import/Add the application to the SoftGrid Management Console.&lt;/li&gt;
  &lt;li&gt;Always test the application afterwards!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The tool is 100% freeware and available &lt;a href="http://www.loginconsultants.com/index.php?option=com_docman&amp;amp;task=doc_details&amp;amp;gid=10&amp;amp;Itemid=62"&gt;from Login Consultants download section&lt;/a&gt; (free registration required).&lt;/p&gt;
&lt;p align="center"&gt;&lt;img src="http://www.brianmadden.com/content/images/sgmt2.gif" width="400" height="305" alt="" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=11058" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Technical+Articles/default.aspx">Technical Articles</category><category domain="http://www.brianmadden.com/tags/Application+Streaming/default.aspx">Application Streaming</category></item><item><title>Updated: Lanmanserver and Lanmanworkstation Tuning</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/02/19/updated-lanmanserver-and-lanmanworkstation-tuning.aspx</link><pubDate>Tue, 20 Feb 2007 00:00:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:10073</guid><dc:creator>Michel  Roth</dc:creator><slash:comments>35</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=10073</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/02/19/updated-lanmanserver-and-lanmanworkstation-tuning.aspx#comments</comments><description>&lt;p&gt;Fileserving in Windows environments is usually of critical importance. After all, if you can&amp;#39;t reach your files or have to wait five minutes every time you browse a share, the heat starts to build up in the IT department.&lt;/p&gt;
&lt;p&gt; File serving is more than just saving a file to your home directory. I wrote a two-part article on &lt;a href="http://www.msterminalservices.org"&gt;MSTerminalServices.org&lt;/a&gt; on file serving and Terminal server environments. I suggest you read that article (&lt;a href="http://www.msterminalservices.org/articles/Fileserving-Terminal-Server-Environments-Part1.html"&gt;Part 1&lt;/a&gt; and &lt;a href="http://www.msterminalservices.org/articles/Fileserving-Terminal-Server-Environments-Part2.html"&gt;Part 2&lt;/a&gt; ) first to get a feel for the proper context of this article.&lt;/p&gt;
&lt;p&gt; One of the main reasons I wrote that article is that fileserving can easily become a bottleneck if not configured properly, especially in Terminal Server environments.&lt;/p&gt;
&lt;p&gt; To solve these performance problems, you sometimes have to tune the fileserver (lanmanserver) and the “fileserver-client” (lanmanworkstation). However, this isn’t for the faint of heart and can cause huge problems if you do it wrong. Unfortunately, documentation on these tuning parameters is rather scarce.&lt;/p&gt;
&lt;p&gt; So in this article, I’ll try to explain what the important parameters are, what they do, and how they relate to each other. Once you know this, you&amp;#39;ll be able to tune your fileserving environments yourself.&lt;/p&gt;
&lt;p&gt; Before we jump into this, please note that there are also a great deal optimizations that you can do in the &amp;quot;Terminal Server  Terminal Server Client&amp;quot; hemisphere. Although the basic fileserving principles also apply in that area, this article is not meant to help you perform those optimizations. Also, there is a lot of additional tweaking you can do in other parts of the (Terminal Server) registry. I&amp;#39;ve purposely left these optimizations out because I wanted this article to focus on the performance of Fileserving components only.&lt;/p&gt;
&lt;p&gt; This article was written assuming you’re running Windows 2000 (SP4+) or Windows Server 2003, Service Pack 1.&lt;/p&gt;
&lt;h2&gt;  Core Components &lt;/h2&gt;
&lt;p&gt;Before we get down and dirty, we need to take a look at the core components that the Windows file serving environment is made of. File serving in Windows is a classic example of a Client-Server mechanism. All you have to do become a file server is to check the box “file and printer sharing for Microsoft networks” in the network connection properties box. On the other end all you have to do to “use” this file server is to check the box “client for Microsoft Networks”.&lt;/p&gt;
&lt;p&gt; Both the server and the client components are run as a service. Not surprisingly, this is the &amp;quot;Server&amp;quot; service for the server component and the &amp;quot;Workstation&amp;quot; service for the client components.&lt;/p&gt;
&lt;p&gt; Settings for these services are stored in the Windows registry. For the Server service this location is: &lt;strong&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver&lt;/strong&gt;. The corresponding location for the Workstation service is &lt;strong&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Lanmanserver &lt;/h3&gt;
&lt;p&gt;By default, the lanmanserver registry key on a freshly installed Windows Server 2003 Service Pack 1 machine looks like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt="" hspace="0" src="http://www.brianmadden.com/content/images/lanmanserver.jpg" align="baseline" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;The first sub key we encounter is the “AutotunedParameters” key. If you look at it you&amp;#39;ll see that it&amp;#39;s empty. Don’t worry--it’s supposed to be empty. This registry key exists because, by default, the Server service is auto-tuning. This means that every time the system boots, the server takes a look at the hardware configuration and incorporates any changes in the configuration of the Server service. Changes in hardware that are monitored are the amount of memory and the number of processors. There’s even a formula for it:&lt;/p&gt;
&lt;p&gt; (4*(MB*SMBServerPerfSetting)*OSVersion/1)*(#Processors)&lt;/p&gt;
&lt;p&gt;where:&lt;/p&gt;
&lt;p&gt;MB = Megabytes RAM on the server&lt;br /&gt;
  SMBServerPerfSetting = .5 if &amp;quot;Minimize Memory Used&amp;quot;&lt;br /&gt;
  SMBServerPerfSetting = 1 if &amp;quot;Balance&amp;quot;&lt;br /&gt;
  SMBServerPerfSetting = 2 if &amp;quot;Maximize Throughput for File Sharing&amp;quot;&lt;br /&gt;
  OSVersion = 2 if running NTServer with &amp;gt; 16MB RAM&lt;br /&gt;
  #Processors = is the number of processors in the system&lt;/p&gt;
&lt;p&gt;In the formula you’ll notice that it refers to the SMBServerPerfSetting. This brings us to the only GUI ‘tool” native to Windows that you can use to “tune” the Server service. When you select the properties of a connection and then select the properties of “file and printer sharing for Microsoft networks”, you should end up with a window like this:&lt;/p&gt;
&lt;p align="center"&gt;&lt;img alt="" hspace="0" src="http://www.brianmadden.com/content/images/optimize-lanmanserver.jpg" align="baseline" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;This is where you can optimize the Server service for a specific role. Consequently, if you do the numbers you’ll see that the higher you set the SMBServerPerfSetting, the higher the outcome of the formula is. But what is this number? Good question.&lt;/p&gt;
&lt;p&gt; This number represents the value Windows will use for the MaxWorkItems, an important value in tuning the Server service. However, MaxWorkItems is just one of the parameters you can set to tune your fileserver. Let’s take a look at the (registry) values.&lt;/p&gt;
&lt;h3&gt;Parameters&lt;/h3&gt;
&lt;p&gt;Before we begin discussing the relevant parameters you can use to tune the Server service you should know that you should create them in the parameters sub key of the lanmanserver registry key. Let’s take look at the most important parameters:&lt;/p&gt;
&lt;h4&gt;MaxWorkItems&lt;/h4&gt;
&lt;p&gt;As said, MaxWorkItems isn’t the only thing tuning the Server service. It is one of the most important parameters though. What does this parameter mean? Well, MaxWorkItems specifies the maximum number or work items (receive buffers for file requests) that the Server service is permitted to allocate at one time. If this limit is reached, you get really bad performance out of your file server on even no performance (new connections to the file server are denied).&lt;/p&gt;
&lt;p&gt;Possible values: 1-65535&lt;/p&gt;
&lt;h4&gt;InitWorkItems&lt;/h4&gt;
&lt;p&gt;This configures the number of work items allocated to a processor during startup. (The &amp;quot;initial&amp;quot; work items.) If this number is too low, it can significantly reduce performance or even deny new connections to the file server.&lt;/p&gt;
&lt;p&gt;Possible values: 1-512&lt;/p&gt;
&lt;h4&gt;MaxMpxCt&lt;/h4&gt;
&lt;p&gt; This parameter permits a fileserver to provide a suggested maximum number of simultaneous outstanding client requests to itself. During negotiation of the Server Message Block dialect on this initial connection, this value is passed to the client&amp;#39;s redirector where the limit on outstanding requests is enforced. A higher value can increase server performance, but requires more use of server work items (MaxWorkItems).&lt;/p&gt;
&lt;p&gt;Possible values: 1-65535&lt;/p&gt;
&lt;h4&gt;MaxWorkItems and MaxMpxCt Relationship&lt;/h4&gt;
&lt;p&gt;The value for MaxWorkItems must be at least four times as large as that for MaxMpxCt. For example, if MaxMpxCt has a value of 4096, then MaxWorkItems needs to have a value of at least 16384.&lt;/p&gt;
&lt;h4&gt;MaxRawWorkItems&lt;/h4&gt;
&lt;p&gt;This value determines the maximum number of raw receive buffers that a server can allocate. If this limit is reached, server performance may be degraded.&lt;/p&gt;
&lt;p&gt; Possible values: 1-512&lt;/p&gt;
&lt;h4&gt;MaxFreeConnections&lt;/h4&gt;
&lt;p&gt;This value controls the number of free connection blocks that are maintained for each endpoint.&lt;/p&gt;
&lt;p&gt;Possible values: 2–4096 &lt;/p&gt;
&lt;h4&gt;MinFreeConnections&lt;/h4&gt;
&lt;p&gt;This value specifies the minimum number of free connection blocks to be maintained for each endpoint. This setting can sometimes dramatically improve performance.&lt;/p&gt;
&lt;p&gt;Possible values: 0–256 &lt;/p&gt;
&lt;h4&gt;SizReqBuf&lt;/h4&gt;
&lt;p&gt;This specifies the size of a WorkItem (see MaxWorkItems) that the Server service uses. Small WorkItems use less memory, but large WorkItems can improve performance.&lt;/p&gt;
&lt;p&gt; When running applications that use a lot of copy or move functions to a remote server (profiles anyone?), the speed at which this function completes is determined by network speed (of course) and by the SMB size. By increasing this WorkItems size, you will allow the server to complete its file copies faster. This will increase the performance of the application making the copy/move calls.&lt;/p&gt;
&lt;p&gt; For computers running Windows Server 2003 and with 512 MB or more of physical memory, the default size of the request buffers is 16,644 bytes; for servers with less physical memory, the default size is 4,356 bytes. If this entry is present in the registry, its value overrides the default value.&lt;/p&gt;
&lt;p&gt;Possible values: 1-65535&lt;/p&gt;
&lt;h2&gt; Lanmanworkstation&lt;/h2&gt;
This key is where all the configuration data for the Workstation service is stored. The lanmanworkstation key by default, looks like this on a freshly installed Windows Server 2003 Service Pack 1 machine:
&lt;p&gt;&lt;img alt="" hspace="0" src="http://www.brianmadden.com/content/images/lanmanworkstation.jpg" align="baseline" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;As you can see, there’s no “AutotunedParameters” here. However, there is a &amp;quot;parameters&amp;quot; sub key in which we can do some tuning. It is not uncommon (especially in Terminal Server environments) to have to tune the Workstation service to alleviate performance problems. This is due to the nature of Terminal Servers. My article on MSTerminalServices.org discusses this in detail, but in a nutshell it’s like this: the workstation service was (and is) designed for a single workstation (like your desktop). However, a Terminal Server can easily host 50 desktop sessions, but unless you do manually intervene this server most likely is still configured just as your desktop would be. It’s pretty obvious that this could lead to some performance problems.&lt;/p&gt;
&lt;h3&gt;Parameters&lt;/h3&gt;
&lt;p&gt;Although there aren’t that many important parameters like in lanmanserver, there are still a few parameters of the Workstation service you should definitely know about.&lt;/p&gt;
&lt;h4&gt;MaxCmds&lt;/h4&gt;
&lt;p&gt;Specifies the maximum number of network control blocks that the redirector can reserve. The value of this entry coincides with the number of execution threads that can be outstanding simultaneously. Increase this value to improve network throughput, especially if you are running applications that perform more than 15 operations simultaneously.&lt;/p&gt;
&lt;p&gt;MaxCmds actually serves the same purpose as the MaxMpxCt on the Fileserver. Not surprisingly these two parameters have a special relationship. It’s like this: whenever an SMB session is setup (i.e. a shared file is accessed), the SMB session is negotiated. During this negotiation the Fileserver passes down the value of MaxMpxCt to the client (a Terminal server for example). The client then compares this value to his own MaxCmds value. The lower of the two values then is used to set a maximum on the number of outstanding client requests to the File server.&lt;/p&gt;
&lt;p&gt;Possible values: 1-65535&lt;/p&gt;
&lt;h4&gt;MaxThreads&lt;/h4&gt;
&lt;p&gt;The MaxThreads specifies how many threads are allowed to run at once. (Each thread allows one outstanding operation.) By increasing this you can increase the amount of simultaneous work. Each extra execution thread will take 1 Kbyte of additional NonPaged pool memory.&lt;/p&gt;
&lt;p&gt;Possible values: 1-255&lt;/p&gt;
&lt;h4&gt;MaxCollectionCount&lt;/h4&gt;
&lt;p&gt;Specifies the amount of data that must be present in the buffer of the redirector to trigger a write operation. If the amount of data in the buffer meets or exceeds this value, then it is written immediately. Otherwise, it is retained in the buffer until either more data is added or the value of the CollectionTime entry expires.&lt;/p&gt;
&lt;p&gt;Possible values: 1-65535&lt;/p&gt;
&lt;h4&gt;Monitoring &lt;/h4&gt;
&lt;p&gt;Problems stemming from poor fileserving performance can sometimes be a bit tricky to pinpoint. One way to make sure is by using good ol’ perfmon. The problem with interpreting perfmon counters is that you can never know what the &amp;quot;right&amp;quot; value is unless you have baselined your environment properly. So what to monitor and how to interpret those values is entirely up to you. However, there are some counters you can monitor that I can give some basic tips on. Configure perfmon to monitor the following counters:&lt;/p&gt;
&lt;h4&gt;Physical Disk&lt;/h4&gt;
&lt;p&gt;You can measure this on the Terminal Server as well, but you should start at the file server. If the queue length is more than one for a sustained period of time, then your disks are hyperventilating. Give them some air: up your I/O throughput. Look on the software-side: are you paging a lot? (that&amp;#39;ll kill your I/O throughput right there) or is your system disk heavily fragmented? Or on the hardware side: buy faster disks (15K SCSI) or upgrade your RAID controller.&lt;/p&gt;
&lt;h4&gt;Redirector&lt;/h4&gt;
&lt;p&gt;This is something you should only measure on your Terminal Server(s). You should monitor the &amp;quot;current commands&amp;quot; in the Redirector object. If the value is higher than 20 during sustained periods of time then you could have a bottleneck.&lt;/p&gt;
&lt;h4&gt;Server Work Queues&lt;/h4&gt;
&lt;p&gt;The Server Work Queues object should be monitored on the File server. You should monitor the &amp;quot;Available WorkItems&amp;quot; counter. Sustained values smaller than ten mean that the File server is running out of work items. When it does, performance really starts to plummet. Make sure this doesn&amp;#39;t happen by upping the MinFreeworkItems value.&lt;/p&gt;
&lt;h4&gt;Server&lt;/h4&gt;
&lt;p&gt;In this object there&amp;#39;s a counter called &amp;quot;Work Item Shortages&amp;quot;. This value represents the number of times no work items were available or couldn&amp;#39;t be allocated to service a file request. Obviously if you see any other value than zero, you need to start worrying. Upping the InitWorkItems or MaxWorkItems could help out here.&lt;/p&gt;
&lt;p&gt; Again, there&amp;#39;s so much more you can monitor but interpreting the results depends heavily on your environment. Just browsing the performance monitor objects I mentioned and playing around with it will give you a lot more information.&lt;/p&gt;
&lt;h2&gt;Tuning&lt;/h2&gt;
&lt;p&gt; So what do I set these registry values to? Unfortunately it’s not that simple. For starters, it depends on your specific environment. Also, an unfortunately side effect of almost every one of these registry values is that when they are increased, they consume more kernel memory. Seeing as (the lack of) kernel memory is often a bottleneck in scaling up in Terminal Server environments, you should be very careful in adjusting/creating the registry settings we discussed. If you are not careful, you could end up having more performance problems than you started out with. You need to know why.&lt;/p&gt;
&lt;p&gt; Tuning LanManServer and LanManWorkstation in the registry, requires the use of more Non-Paged Pool memory. This can be a real issue on the File Server (LanManServer). Let me briefly explain where Non-Paged pool memory fits into the whole “2GB-Kernel--Memory-Bottleneck-Of-32-Bit-Windows”. &lt;/p&gt;
&lt;p&gt; When you have a 32 bit operating system, this means that you have a 32 bit address space. That translates to 4GB of addressable memory space (2 to the power of 32). This 4GB is evenly shared between the user mode and kernel mode. User mode is the memory space that applications run in and kernel mode is used by the system for everything else. This 2 GB kernel mode memory is divided into several areas, amongst which is the NonPaged Pool. Because there’s only 2GB to share, the NonPaged pool gets configured with a maximum size at boot time. By default this is 256 MB.  This 256 MB is the area in which you should perform your (LanManServer) tuning.&lt;/p&gt;
&lt;p&gt; Why should you worry about this 256 MB? Well, because if the NonPaged pool is depleted then your system usually becomes unresponsive until some NonPaged pool becomes available again. So how does this apply to LanManServer tuning? Well, if you tune LanManServer in such a way that it allocates memory than the NonPaged pool has available and you indeed use up ALL of that allocated memory then you have effectively pushed Windows beyond its limits.&lt;/p&gt;
&lt;p&gt; So what should you do? A safe way of doing it is to tune LanManServer in such a way that it can never deplete the NonPaged pool.  The amount of memory LanManServer allocates in the NonPaged Pool is primarily determined by two parameters: MaxWorkItems and SizReqBuf. So if you set MaxWorkItems to 8192 and SizReqBuf to 16644 (default) (which in reality is 20480 due to tracking overhead) the amount of memory LanManServer will allocate is (8192  x 20480 bytes) 160 MB. This fits nicely into the 256 MB NonPaged Pool area. &lt;br /&gt;
  So it basically boils down to this: If you have more than 512 MB of memory in your Terminal Server (which is every Terminal Server on earth and adjacent planets) then SizReqBuf starts out at 16644. This allows you to push the MaxWorkItems value to 8192. If you try higher numbers to create more of these similar sized WorkItems AND your File Servers tries to use these, you run the chance of running out of NonPaged Pool.&lt;/p&gt;
&lt;p&gt; So there is however a decent chance that  having 8192 WorkItems does not cut it for you. This is when the bits start to hit the fan. If you’re in that rather sad place, you really have only three options, with option 3 being the safest choice:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Try making the size of the WorkItems smaller (trough the SizeReqBuf parameter) so you can safely set higher MaxWorkItems values. For example: If you set SizReqBuf lower to 8322 (plus a overhead of 3836 makes 12158 bytes) then this would allow you to have 13800 WorkItems ( 160MB / 12158 bytes). &lt;br /&gt;
  &lt;/li&gt;
  &lt;li&gt;You could even try to up the MaxWorkItems and SizeReqBuf values further with the risk that you run out of NonPagedPool. Now, you should also know that you can tune the Kernel Mode memory in such a way that more memory is allocated to the NonPagedPool. The downside to this is of course is that this memory is taken away from other parts of the Kernel Mode memory. I wouldn’t go there if I were you (unless you’re up there with the likes of Mark Russinovich).&lt;br /&gt;
  &lt;/li&gt;
  &lt;li&gt;Make sure that less Work Items are demanded from the File Server. This is a topic on its own but quick suggestions are: limit folder redirection (especially Application Data) or / and distribute File Services (put for example home directories on one Fileserver and redirected folders on another).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;.ADM Templates&lt;strong&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;I have provided two .adm templates, one for lanmanserver and one for lanmanworkstation. I&amp;#39;ve separated these purposely because the lanmanserver adm template should be applied to your File Server and the lanmanworkstation adm template should be applied to your Terminal Servers.&lt;/p&gt;
&lt;h3&gt;Thincomputing.net Lanmanserver Tuning.zip&lt;/h3&gt;
&lt;p&gt;
  This template (&lt;a href="http://www.thincomputing.net/download.php?view.10"&gt;download&lt;/a&gt;) contains all of the Lanmanserver parameters discussed in this article. When you import the ADM template and enable the policy, it will set the following parameters to the maximum recommended, safe values:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;MaxWorkItems &lt;/li&gt;
  &lt;li&gt;InitWorkItems &lt;/li&gt;
  &lt;li&gt;MaxMpxCt &lt;/li&gt;
  &lt;li&gt;MaxRawWorkItems &lt;/li&gt;
  &lt;li&gt;MaxFreeConnections &lt;/li&gt;
  &lt;li&gt;MinFreeConnections &lt;/li&gt;
  &lt;li&gt;SizReqBuf&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These optimizations should applied to your FILESERVER, not your Terminal Server. I&amp;#39;ve included the possibility to &amp;#39;undo&amp;#39; the optimizations made the template. You can do this by selecting -Undo Lanmanserver Optimizations- and REBOOTING.&lt;/p&gt;
&lt;h3&gt;    Thincomputing.net Lanmanworkstation Tuning.zip&lt;/h3&gt;
&lt;p&gt;
  This template (&lt;a href="http://www.thincomputing.net/download.php?view.11"&gt;download&lt;/a&gt;) contains all of the discussed Lanmanworkstation parameters in this article. When you import the ADM template and enable the policy, it will set the following parameters to the maximum recommended, safe values:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;MaxThreads &lt;/li&gt;
  &lt;li&gt;MaxCollectionCount &lt;/li&gt;
  &lt;li&gt;MaxCmds&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These optimizations should applied to your TERMINAL SERVER, not your File server. I&amp;#39;ve included the possibility to &amp;#39;undo&amp;#39; the optimizations made the template. You can do this by selecting -Undo Lanmanworkstation Optimizations- and REBOOTING.&lt;/p&gt;
&lt;h2&gt;Final Thoughts &lt;/h2&gt;
&lt;p&gt; Although some settings have been improved in Windows 2000 and even more in Windows Server 2003, I must say that I’m a bit disappointed that file serving problems like I discussed in the article are still quite common in Terminal Server environments. These problems have been around just as long as Terminal Server has, and one would think these problems would at least be a lot less common, but maybe that’s just my point of view.&lt;/p&gt;
&lt;p&gt; Microsoft, finally, recently has published an excellent article which discusses these issues in very good detail. This article isn’t just about Terminal Server environments but it is still the best article Microsoft has ever written on the subject. Bookmark &lt;a href="http://support.microsoft.com/kb/317249"&gt;KB317249.&lt;/a&gt; &lt;br /&gt;
  I hope that this document has provided you with enough knowledge to combat file serving performance problems.&lt;/p&gt;
&lt;p&gt; There’s however a good chance that these problems with the file serving components of Windows will relatively soon be something of the past or at least be a lot less common. Windows Vista and Longhorn server will incorporate many changes, amongst which are major revisions in the file serving components. For example Vista comes with a major revision of the SMB protocol identified as SMB 2.0. The current protocol (SMB 1.0) was built to support file-serving solutions a couple of decades ago and was based on the assumptions existing then.&lt;br /&gt;
  These are some of the key enhancements in SMB 2.0:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;SMB 2.0 supports an arbitrary, extensible      way of compounding operations to reduce round trips. This makes the      protocol less chatty as compared to SMB 1.0. Chattiness of SMB 1.0 has      often been a major pain point. &lt;/li&gt;
  &lt;li&gt;SMB 2.0 supports much larger buffer sizes      compared to SMB 1.0. &lt;/li&gt;
  &lt;li&gt;SMB 2.0 greatly grows the restrictive      constants in the protocol, so we never need to worry about the protocol      itself being the limiting factor for scalability. This includes increasing      the number of concurrent open file handles on the server, and the number      of shares that a server can share out, among other things. &lt;/li&gt;
  &lt;li&gt;SMB 2.0 supports durable handles that can      withstand short network glitches.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All these enhancements in SMB 2.0 will result in better performance and security over LAN and WAN.&lt;/p&gt;
&lt;p&gt;Sounds good huh? I’ll believe it when I see it, but the file serving future looks bright!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=10073" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Technical+Articles/default.aspx">Technical Articles</category><category domain="http://www.brianmadden.com/tags/Performance/default.aspx">Performance</category></item><item><title>How to use hot-pluggable client USB storage devices with Citrix Presentation Server</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/02/14/how-to-use-hot-pluggable-client-usb-storage-devices-with-citrix-presentation-server.aspx</link><pubDate>Thu, 15 Feb 2007 00:00:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:11038</guid><dc:creator>Dennis Damen</dc:creator><slash:comments>13</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=11038</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/02/14/how-to-use-hot-pluggable-client-usb-storage-devices-with-citrix-presentation-server.aspx#comments</comments><description>&lt;p&gt;A lot of people have been complaining about USB disk support in Citrix Presentation Server. When a user connects a USB drive while working in a Citrix ICA session, the drive will not become visible in that session. While Microsoft has already added support for this in their RDP protocol, Citrix lags behind on implementing this in ICA.&lt;/p&gt;
&lt;p&gt;While researching the possibilities of adding support for this &amp;lsquo;hot plugging&amp;rsquo; myself, I stumbled upon a great tool called &amp;lsquo;USBDLM&amp;rsquo; written by Uwe Sieber.&amp;nbsp; By default, Windows allocates the first available drive letter to an inserted USB storage device which makes management of this device somewhat troublesome. USBDLM installs as a service on a Win32 client and enables YOU, the administrator, to predefine where and how USB disks are made available to your operating system using a simple ini-file. (Just the way we like it!)&lt;/p&gt;
&lt;p&gt;While reading the manual, I also came across the possibility to mount USB storage devices to a predefined &lt;u&gt;folder&lt;/u&gt;. This is when I realized that this tool could be of great value to the Citrix community. Below you will find a set of instructions on how to make hot plugging USB disks possible within your environment.&lt;/p&gt;
&lt;h2&gt;The How to Guide &lt;/h2&gt;
&lt;p&gt;First of all, download USBDLM from &lt;a href="http://www.uwe-sieber.de/usbdlm_e.html"&gt;http://www.uwe-sieber.de/usbdlm_e.html&lt;/a&gt;, extract it, and follow the simple steps as described below. Mind you, USBDLM is NOT free for commercial use so please read the license agreement.&lt;/p&gt;
&lt;h3&gt;Step 1: Edit the configuration file (on the client)&lt;/h3&gt;
&lt;p&gt;In the UBDLM directory you will find a USBDLM_example.ini file. Copy this file, rename it to &amp;ldquo;USBDLM.ini,&amp;rdquo; and open it using notepad. Scroll down to the [setting] part and add the &amp;ldquo;&lt;em&gt;ForceDriveLetters=1&amp;rdquo;&lt;/em&gt; setting. Now, scroll down to the [DriveLetters] section and change the &lt;em&gt;&amp;ldquo;Letter1=&amp;rdquo;&lt;/em&gt; to &lt;em&gt;&amp;ldquo;Letter1=C:\USB\%DiskName%&amp;rdquo;&lt;/em&gt;.&amp;nbsp; Make sure you save the ini file in ANSI format. UNICODE is not supported.&lt;/p&gt;
&lt;h3&gt;Step 2: Creating a mount folder (on the client)&lt;/h3&gt;
&lt;p&gt;As said, USBDLM is able to mount a USB storage device to a folder instead of assigning a drive letter to it. To enable this feature we need to pre-create a folder where USBDLM can mount the USB storage device. Following the previous step we need to create a folder called &amp;ldquo;C:\USB&amp;rdquo;. The folder %DiskName% &lt;u&gt;will&lt;/u&gt; be auto-created.&lt;/p&gt;
&lt;h3&gt;Step 3: Making all USB storage devices available through &lt;u&gt;one&lt;/u&gt; drive letter (on the client)&lt;/h3&gt;
&lt;p&gt;Substitute the folder that we created in the previous step using the user&amp;rsquo;s login script. CMD-based login scripts could add the following line: &amp;ldquo;SUBST X: C:\USB&amp;rdquo;.&amp;nbsp; From now on all client USB devices will be available though this drive letter.&lt;/p&gt;
&lt;h3&gt;Step 4: Enable Client drive mappings (on the server)&lt;/h3&gt;
&lt;p&gt;There are a number of ways to enable client drive mapping for your Citrix farm. Use the method that best suits your environment. &lt;/p&gt;
&lt;h3&gt;Step 5: Log on to Citrix farm&lt;/h3&gt;
&lt;p&gt;Log on to your farm with client drives enabled. The substituted drive will be visible as a normal client drive. Now insert your USB storage device and wait for the contents to show up.&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s a screen shot from the client showing the local USB device and the remote folder. &lt;/p&gt;
&lt;p align="center"&gt;&lt;img src="http://www.brianmadden.com/content/images/USBdrive.jpg" width="455" height="421" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Have fun!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=11038" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Citrix/default.aspx">Citrix</category><category domain="http://www.brianmadden.com/tags/Technical+Articles/default.aspx">Technical Articles</category><category domain="http://www.brianmadden.com/tags/Client+Software/default.aspx">Client Software</category></item><item><title>Are thin client devices still relevant in a world of $300 Dell PCs?</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/01/26/are-thin-client-devices-still-relevant-in-a-world-of-300-dell-pcs.aspx</link><pubDate>Fri, 26 Jan 2007 11:00:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:10903</guid><dc:creator>Michel  Roth</dc:creator><slash:comments>50</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=10903</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2007/01/26/are-thin-client-devices-still-relevant-in-a-world-of-300-dell-pcs.aspx#comments</comments><description>&lt;p&gt;I know I’ve ranted about this before but I’m going to have to do it again. Earlier this week I received an email from Dell about their latest offerings. My entire home lab is Dell-based. Why? Because they&amp;#39;re cheap and reliable. Anyway, in the email I got they were offering a PC to me (as a consumer) for €249 (which is about $325). The specs of this machine are:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;AMD AthlonTM  64 3200+ processor&lt;/li&gt;
  &lt;li&gt;XP Home&lt;/li&gt;
  &lt;li&gt;512MB DDR2 533Mhz&lt;/li&gt;
  &lt;li&gt;80GB SATA (7,200rpm)&lt;/li&gt;
  &lt;li&gt;Integrated nVidia 6150-LE_Nforce&lt;/li&gt;
  &lt;li&gt;48x CD-RW/DVD Combo&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So nothing fancy right? Sure, if you look at it in terms of a game PC for  home. But what if you look at it as a thin client or a company PC? Just to compare prices: one of the better and cheaper thin clients out there in my mind is the Wyse S10. These go for $289 (list price).&lt;br /&gt;
So if you think about it, for about thirty bucks extra you could have a fully-fledged PC in stead of a thin client. Now I have always been a strong believer in thin clients mainly because of the following advantages:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;No moving parts, so a longer lifespan&lt;/li&gt;
  &lt;li&gt;Lower investment (purchase cost)&lt;/li&gt;
  &lt;li&gt;Security: no data is on the device&lt;/li&gt;
  &lt;li&gt;Lower Power Consumption&lt;/li&gt;
  &lt;li&gt;Almost no management cost (dumb device)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But if you take a look at these arguments today, this is what it looks like:&lt;/p&gt;
&lt;h2&gt;No moving parts, so a longer lifespan&lt;/h2&gt;
&lt;p&gt;True. Say that a PC lasts 3 years and a Thin Client 5 years. Even if this were to be true this does not do you that much good. Unless you’re using a Thin Client to Telnet into your AS400 system then even Thin Clients get overage at about three years. Examples:&lt;br /&gt;
  New OSes (Windows XPe, Windows CE, Linux) that require more resources that the Thin Client eventually can’t provide.&lt;br /&gt;
  New other software: ICA Clients, RDP 6 Client, ThinPrint clients etc. that require more resources that the Thin Client eventually can’t provide.&lt;/p&gt;
&lt;p&gt; New peripherals become a commodity and users need to use them. The Thin Client might not be able to provide in this, certainly not at the hardware level.&lt;/p&gt;
&lt;p&gt;Most important of all: the use of Server Based Computing environments is getting more and more graphically intense. Like I said, if you only use telnet then you’re fine but the reality is that once your environment offers a Windows Server 2007 Desktop with Word 2007 and Internet Explorer 8 then your Thin Client is toast.&lt;/p&gt;
&lt;h2&gt; Lower investment (purchase cost)&lt;/h2&gt;
&lt;p&gt;Well this is what started me on this rant. This used to the case but not anymore. It’s quite obvious that in this day and age Thin Clients are almost priced the same as a regular PC. Even though I am not a Thin Client vendor, I can not imagine that a company like Dell can produce a full sized PC for the same (or sometimes even a lower ) price as a Thin Client. I think that there should be a way to build a decent[/u] Thin Client for under $200. I emphasize the word decent because the are some Thin Client out there that do cost about $200 but frankly: they suck bigtime.&lt;/p&gt;
&lt;h2&gt;Security: no data is on the device&lt;/h2&gt;
&lt;p&gt;True but if you design your environment right then there should also be no data on your “Fat Client”. You can use group policy to lock them down as tight as you want. &lt;/p&gt;
&lt;h2&gt;Lower Power Consumption&lt;/h2&gt;
&lt;p&gt; This is true. Especially when you’re using a lot of thin clients, this can make for quite a bit of savings. However, the biggest power consumer in desktop PCs--the CPU--is using less and less energy. If you do the math I think that this advantage will get smaller as time goes by.&lt;/p&gt;
&lt;h2&gt;Almost no management cost (dumb device)&lt;/h2&gt;
&lt;p&gt;Historically this has been dubbed as the biggest money saver. And it is true. For example, some Wyse thin clients only require a network connection (and a configured FTP server) to work. So they literally work out of the box without any configuration. And of course on a thin client there is little a user can mess up. They cannot play solitaire on it and then can’t use it to install their favorite fileshare software. These advantages almost make it sound like it’s impossible to secure fat clients. I think this stems from the fact that around when Windows 2000 (Terminal Services) came out this was indeed the case. Group Polices and stuff like that were new. But these days, if you do it right, you can configure a Fat Client in such a way that it can only serve the purpose that you want it to. You could go even further and turn it into a Thin Client, by installing Windows FLP or using Thin Client server for example.&lt;/p&gt;
&lt;p&gt;So these were the “advantages” of using Thin Clients. What about the drawbacks? Well, there are two major drawbacks to using Thin Clients&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Usually Thin Clients have poor video performance&lt;/li&gt;
  &lt;li&gt;Thin Clients are very inflexible&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt; Usually Thin Clients have poor video performance&lt;/h2&gt;
&lt;p&gt;This really is a big problem. Even the best of the Thin Clients (and by this is do not mean a Thin Client with a $300 PCI-X Graphics Card added ) have moderate graphical capabilities at best. The Dell PC I referenced to can have up to 256MB video memory and performs much better. This is really important issue because the end-user experience is very much dependent on the way the screen “performs.” You could be the only user on a Terminal server with 8 CPUs and 16 GB of RAM and be running Internet Explorer and still get “bad performance.”&lt;/p&gt;
&lt;p&gt;This is a phenomenon that is becoming more and more common since the way server-based computing is being used is getting more and more graphically intense. Think about it: five years ago broadband internet, 100 page PDF papers and skinned applications were extremely rare. These days the local senior citizens association has a huge flash-based website, every single emailed document or flyer is a PDF file and the most popular text editor by Microsoft is “skinned” by default in Office 2007. So you WILL need video power to cope with all of this and this isn’t one of the strengths of Thin Clients.&lt;/p&gt;
&lt;h2&gt;Thin Clients are very inflexible&lt;/h2&gt;
&lt;p&gt;In today’s world, companies require that their infrastructure is dynamic and allows it to cope with changing business demands. This is not something that rimes with Thin Clients. The software (firmware) on the Thin Clients cannot (or hardly) be updated on demand. Usually you’re dependent on the vendor to release new firmware updates. Also, hardware upgrades like more memory or a faster CPU are usually impossible to do. Fat clients (like the aforementioned Dell) are able to cope with change. Software and hardware can be upgraded in any way the IT department pleases. Also, take into account technology like application streaming (Softricity, Citrix Streaming Server) or even OS streaming (Ardence). These technologies will co-exist or even integrate with server-based computing. Fat clients will be able to use these technologies without any adjustments. Thin clients will not be able to do so.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt; In today’s and future server-based computing environments, it seems like thin clients are losing their advantages. Todays technology allows for you to design fat client configurations in such a way that they provide the same benefits that thin clients do while still delivering better video performance and providing the necessary flexibility. So unless thin client vendors are able to start producing good thin clients at low prices, I think the future of thin clients look bleak.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=10903" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Editorials/default.aspx">Editorials</category><category domain="http://www.brianmadden.com/tags/Thin+Client+Hardware/default.aspx">Thin Client Hardware</category></item><item><title>Application Publishing: Comparing Longhorn Terminal Services to Citrix Presentation Server</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2006/11/14/application-publishing-comparing-longhorn-terminal-services-to-citrix-presentation-server.aspx</link><pubDate>Tue, 14 Nov 2006 09:10:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:10710</guid><dc:creator>Katie Koepke</dc:creator><slash:comments>27</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=10710</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2006/11/14/application-publishing-comparing-longhorn-terminal-services-to-citrix-presentation-server.aspx#comments</comments><description>&lt;p&gt;It’s now common knowledge that one of the biggest new &lt;a href="http://www.brianmadden.com/content/content.asp?id=617"&gt;features of Terminal Services in Windows Longhorn Server&lt;/a&gt; is the ability to “publish applications”. But how does publishing applications in Longhorn compare to publishing applications in Citrix Presentation Server? This article answers this question by comparing the application publishing functionality between Windows Longhorn Server (August 2006 CTP version) and Citrix Presentation Server 4.0.&lt;/p&gt;
&lt;p&gt;To begin, it’s important to clarify the terminology. As technologists familiar with Citrix products, Citrix terminology has become the de facto industry standard. What Citrix calls a “Published Application”, Microsoft refers to as a “Remote Program”.  In this sense a Remote Program from the user’s perspective is an application running remotely on a server, but it means the same thing as Published Application. This article will refer to both terms.&lt;/p&gt;
&lt;p&gt;Moving forward, after installing Windows Longhorn Server, you’ll naturally need to install Terminal Services. In Windows 2003 this is done via Add/Remove Windows Components, whereas in Windows Longhorn, Terminal Services is added as a “Role”. This is done by simply running the Add Roles Wizard in Server Manager. (Note that the Server Manager of Windows Longhorn is totally different from the Server Manager of the NT 4.0 days.)&lt;/p&gt;
&lt;p&gt;When it comes time to “published applications” in Longhorn, Server Manager can also handle this functionality or you can use the Terminal Services Remote Programs (TSRP) MMC snap-in. When compared to Citrix’s Presentation Sever Java Console, Longhorn’s Server Manager provides a similar look and feel, however, when solely administering remote programs you may opt for the TSRP console.&lt;/p&gt;
&lt;h3&gt;  Server Manager &lt;/h3&gt;
&lt;img border="0" width="432" height="246" src="http://www.brianmadden.com/content/images/TSLH-servermanager.jpg" alt="" /&gt;
&lt;h3&gt;Terminal Server Remote Programs MMC Snap-in&lt;/h3&gt;
&lt;img border="0" width="432" height="244" src="http://www.brianmadden.com/content/images/TSLH-RPMMC.jpg" alt="" /&gt;
&lt;h2&gt;Creating a Remote Program&lt;/h2&gt;
&lt;p&gt;To create remote program (or “published application”) in Longhorn Server, you can use either the Server Manager or the TSRP MMC to launch the Remote Programs Wizard. This wizard is similar to Citrix’s Application Publishing Wizard. In short, the Remote Programs Wizard is made up of three easy windows: a welcome screen, a list of preconfigured remote programs to choose from or the option to browse to an executable, and a confirmation screen. The second window is pictured below.
  &lt;img src="http://www.brianmadden.com/content/images/TSLH-RPW.jpg" width="377" height="347" hspace="10" border="0" align="left" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Creating a Remote Program adds the program to what Microsoft calls the “Allow List”. You can view all of the available Remote Programs in the Allow List on a given Terminal Server through Server Manager or the TSRP MMC. Unlike Citrix Presentation Server where you can assign individual Published Applications to specific servers, an Allow List of Remote Programs must be created for each Terminal Server. If you have multiple Terminal Servers that require the same Remote Programs, you have the option of exporting and importing Allow Lists from server to server. Again, this can be done via Server Manager or the TSRP MMC. Another distinct difference worth mentioning is that when creating a Published Application in Citrix Presentation Server, a &lt;em&gt;farm &lt;/em&gt;is automatically available as part of the Presentation Server’s “out-of-the-box” functionality (even if it’s a farm of one server).  When publishing applications, this allows you to simply choose which server you would like to publish your application on. With Longhorn Server, a Terminal Server &lt;em&gt;farm&lt;/em&gt; must be configured separately either using a 3rd party load balancer or using Windows NLB. (To have the ability to reconnect to a disconnected session and share a session when launching more than one application on a Terminal Server, Session Directory, which is somewhat like Citrix’s Data Collector, must be in place. Session Directory will be discussed further in a future article.) The bottom line is without manually configuring a Terminal Server farm when creating a Remote Program, you only have the option of “publishing” or allowing that program on each specific Terminal Server.&lt;/p&gt;
&lt;h2&gt;Permissions to Remote Programs&lt;/h2&gt;
&lt;p&gt;For a user to have permission to access a Remote Program, the given Remote Program must exist in the Terminal Server’s Allow List, Remote Desktop connections must be allowed, and the user must be a member of the Remote Desktop Users local group. Adding the Terminal Services role to a server automatically changes the System Properties - Remote Desktop settings from, “Don’t allow connections to this computer” to “Allow connections from computers running any version of Remote Desktop”.  The former can also be configured through Local or Group policy. The final step in regards to permission is to ensure the user is a member of the Remote Desktop Users group. &lt;/p&gt;
&lt;p&gt;You lose some granularity in controlling who has permission to Remote Programs in comparison to how Citrix Presentation Server handles who has permissions to Published Applications. With Presentation Server you can control access by the application, whereas Longhorn Server gives access to all applications in the Allow List on a given server. With Longhorn you can restrict who has access by the server, using policy etc., however, it’s not on a per-application basis. Naturally you can also leverage security groups, however, this still does not allow you to restrict access per application with the same ease as in Presentation Server’s published applications.&lt;/p&gt;
&lt;h2&gt;    Methods of Accessing Remote Programs&lt;/h2&gt;
&lt;p&gt; There are three different ways you can provide access to Longhorn’s remote programs: by creating an RDP package, creating an MSI package, or accessing the Remote Program through TS Web Access. These methods will be discussed in more detail in a future article, however, here is a brief summary. &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;An RDP package creates an .rdp file which essentially acts the same as an ICA file and establishes a connection directly to the remote program when you double click it. &lt;/li&gt;
    &lt;li&gt;An MSI package creates an .msi file which can be installed on the client machine. This creates a shortcut to the Remote Program either on the client’s desktop and/or in the client start menu, similar to the Citrix Program Neighborhood Agent (PNA).&lt;/li&gt;
    &lt;li&gt;A Remote Program can be accessed via TS Web Access which is similar to Citrix’s Web Interface. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By default, access to Remote Programs in the Allow List via TS Web Access is enabled. Of course you could always establish an RDP session to a Terminal Server desktop and launch programs as if you were connected to a published desktop.&lt;/p&gt;
&lt;p&gt; By the way, there is a default Remote Program available that essentially publishes an RDP connection called a “Remote Remote Desktop Connection” (a “double hop” from one server to another). I think it would be fun to call it a “Really Remote Desktop Connection”.&lt;/p&gt;
&lt;h2&gt;Configuration Options when creating Remote Programs&lt;/h2&gt;
&lt;p&gt;When compared to publishing applications in Citrix Presentation Server, there are very few configuration options possible at the point of creating a Remote Program through the Remote Programs Wizard. However, many options can be configured after the fact through policy. For example, with Presentation Server you have the option of defining color depth and encryption level when publishing the application. When creating a Remote Program you do not have the option to define color depth or encryption level when “publishing” (or allowing) the program, but you can configure these settings later through Local or Group Policy in Computer Configuration | Admin Templates | Windows Components | Terminal Services | Terminal Server etc.&lt;/p&gt;
&lt;p&gt;With regards to Session Window Size, in Citrix Presentation Server this can be defined in the Application Publishing Wizard, however, the Remote Program by default will launch in a resizable window. For the Remote Programs to launch seamlessly, you must launch the program using the RDP 6.0 client. If you are using the older RDP client the program will still launch in a resizable window, but it will be displayed within an outer shell (which is also resizable). This more cumbersome and not as pretty than if you were using the newer client.&lt;/p&gt;
&lt;p&gt;Both Published Applications in Citrix and Remote Programs in Longhorn have the option of changing the icon associated with the program as well as defining command line arguments to use with the program through their respective publishing wizards. Citrix’s Publish Application Wizard allows you to limit the number of published application instances allowed to run in a server farm and limit the number of instances of each application per user. In Longhorn, the number of connections to a server can be limited through policy, but connections to a specific &lt;em&gt;application&lt;/em&gt; cannot be defined. (Again, you can get creative with Security Groups but it’s not as straightforward as with Citrix Published Applications.) Another feature the Publish Application Wizard allows is the ability to assign a CPU priority level as well as Access Control (if you are using Advanced Access Control with the Citrix Access Gateway) whereas no similar options exist for Longhorn Remote Programs. In addition, file type associations can be defined in the Publish Application Wizard whereas if you’d like to define file type associations or “client file extensions” for Remote Programs, you do when creating an MSI package versus at the point of allowing (“publishing”) the Remote Program.&lt;/p&gt;
&lt;p&gt;Finally, Local Policy or Group Policy for Remote Programs and Citrix Policy for Published Applications can be used to configure multiple options such as connection level settings, device and printer settings, security, session time limits, etc.&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Citrix’s Published Applications and Longhorn’s Remote Programs have some similarities, and naturally, some differences. Presentation Server’s Published Applications have more options when using the Published Application Wizard and they offer more granularity, particularly when targeting an individual application. Longhorn’s Remote Programs offer a very simplified wizard while having the option to configure additional settings using Local or Group Policy. Published Applications in general allow more flexibility and more exhaustive “out-of-the-box” options. That said, Longhorn’s Remote Programs are a huge enhancement to the Terminal Services of the past and provide a great option for those who don’t need the enhancements and expense of Citrix.&lt;/p&gt;
&lt;h2&gt;Resources&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://www.brianmadden.com/content/content.asp?id=500"&gt;Microsoft&amp;#39;s Complete Longhorn Terminal Server Feature List&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.brianmadden.com/content/content.asp?id=617"&gt;More Longhorn Terminal Server details uncovered in yesterday&amp;#39;s product group chat&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsserver/longhorn/prodguide.mspx"&gt;Introducing the Windows Server Code Name &amp;quot;Longhorn&amp;quot; Operating System&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsserver/longhorn/terminal-services/default.mspx"&gt;Terminal Services in Windows Server “Longhorn” Beta 2&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://forums.microsoft.com/TechNet/ShowForum.aspx?ForumID=580&amp;amp;SiteID=17"&gt;Microsoft TechNet Terminal Services support forum&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/techinfo/overview/sessiondirectory.mspx"&gt;Session Directory and Load Balancing Using Terminal Server&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Step-by-Step Guide for Windows Server Longhorn Beta 2 Terminal Services Remote Programs&lt;/em&gt;, Daniel H. Brown, Tessa Wooley, Linda Caputo&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=10710" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Citrix/default.aspx">Citrix</category><category domain="http://www.brianmadden.com/tags/Technical+Articles/default.aspx">Technical Articles</category><category domain="http://www.brianmadden.com/tags/Microsoft+Terminal+Services/default.aspx">Microsoft Terminal Services</category><category domain="http://www.brianmadden.com/tags/Longhorn+Terminal+Services/default.aspx">Longhorn Terminal Services</category></item><item><title>Citrix Printing: Brush up on the basic best practices</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2006/08/22/citrix-printing-brush-up-on-the-basic-best-practices.aspx</link><pubDate>Wed, 23 Aug 2006 02:00:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:10540</guid><dc:creator>Kevin Buchaniec</dc:creator><slash:comments>41</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=10540</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2006/08/22/citrix-printing-brush-up-on-the-basic-best-practices.aspx#comments</comments><description>&lt;p&gt;Being around Citrix for a while, one of the things that you&amp;rsquo;ll notice and continues to hold true is that printing is still one of the biggest challenges. With each release, Citrix touts that printing is better. However, reality sets in and you soon find out that you&amp;rsquo;re in the same boat again and you&amp;rsquo;re forced back to old school printing configurations.&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t be mistaken, the EMF printing model of Citrix Presentation Server 4 is a good move. It has given back your server&amp;rsquo;s horsepower from the days of when a single logon or print job would spike your processors, or even worse, clog the user&amp;rsquo;s virtual channel. Most of the problems occur when administrators expect that printing will work out-of-the-box and are unfamiliar with how to properly set it up. Further, many of the helpful printing sites seemed to have ventured off topic, adding additional content and making it difficult to find a clear, concise, guided approach in how to set up printing. &lt;/p&gt;
&lt;p&gt;Once again, if you&amp;rsquo;ve been around Citrix for a while, you should know these best practices and how to set up printing, but a re-fresher never hurts. This guide is mainly written for the new Citrix administrator either setting up an environment or even trying to fix an existing one. Although you can debate some these recommendations, they have been successfully deployed in environments with 50,000 named users.&lt;br /&gt;
  Before you start the journey of setting up Citrix printing, you need to know what makes up the system and how they work together. &lt;/p&gt;
&lt;h2&gt;Printing Components&lt;/a&gt; &lt;/h2&gt;
&lt;p&gt;Basically, there are six main areas or components that you need to be concerned about. These are: &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Server Side Printers,&lt;/strong&gt; which includes print drivers that are installed on the Citrix server. &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Client Side Printers&lt;/strong&gt; are printers that are both locally attached and network attached that are defined on each client workstation.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Management Console Settings&lt;/strong&gt; are configurations that are made in the Presentation Server Java Console. These include Citrix policies and driver mappings. &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Wtsprnt.inf&lt;/strong&gt; is a text file that resides on each Citrix Presentation Server that contains the re-mapped printers for the farm. &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Wtsuprn.inf&lt;/strong&gt; is a legacy text file equivalent of the wtsprnt.inf file. This may still exist if the servers have been upgraded from previous Citrix releases. Unlike the wtsprnt.inf, this file can vary from server to server.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;NTPrint.inf&lt;/strong&gt; is a configuration file that has information about all drivers that shipped with the server operating system that can be loaded.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Printer Auto-Creation&lt;/h2&gt;
&lt;p&gt;Now that you&amp;rsquo;re a little more familiar with the components, it&amp;rsquo;s time to look at how they interact with each other. When a client first connects, Citrix initiates a sequence to auto create the necessary server side printers. For it to be successful, these printers need to correspond with the client side ones and the printer driver name on the client must match (exactly) a printer that is defined in either the registry or one of the .inf files. It parses these files, listed below (in order):&amp;nbsp; &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;wtsuprn.inf (if it exists)&lt;/li&gt;
  &lt;li&gt;wtsprnt.inf&lt;/li&gt;
  &lt;li&gt;The registry&lt;/li&gt;
  &lt;li&gt;ntprint.inf &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If a match is found, it bails out of the sequence. There are several other sub-steps, but they&amp;rsquo;re really not that important, nor is it necessary that you know them. It should also be noted that: &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;The process is done for each printer defined on the client. &lt;/li&gt;
  &lt;li&gt;For the most part, locally attached client printers auto-create faster than the network ones. &lt;/li&gt;
  &lt;li&gt;The first printer that connects, even though it may not be defined as the user&amp;rsquo;s default, becomes the temporary default in the session until the actual default is mapped. &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Best Practices &lt;/h2&gt;
&lt;p&gt;Seeing the components and the process Citrix uses to connect printers, it&amp;rsquo;s still a challenge to have consistent and reliable printing. Yes, EMF performance enhancements have been great, but it&amp;rsquo;s consistency, or lack there of, that generates the most support calls (which, without a doubt, is the bane of the Citrix admin&amp;rsquo;s existence). It&amp;rsquo;s usually easier in a controlled environment, however, in an environment where a strict printing standard can&amp;rsquo;t be adopted, it&amp;rsquo;s a nightmare. Properly setting up your environment is a must and regardless of how it&amp;rsquo;s done, it needs to include the following: &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Avoid loading third-party print drivers--especially drivers that are not specifically documented to be compatible with terminal services. This has, was, and still is the number one cardinal rule. Back in the NT 4.0 TSE days, third-party drivers accounted for most of the BSoDs. These days, the &amp;ldquo;good&amp;rdquo; news is that it may only cause your spooler to tank out. &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
  &lt;li&gt;Remove all version-2 drivers. These types of drivers run in kernel mode and cause serious issues with the servers. Stick with Version-3 drivers which operate in &amp;quot;user mode.&amp;quot;&lt;/li&gt;
  &lt;li&gt;Use native Windows 2000 or Windows 2003 OS drivers for all printers, even if some functionality is lost. This includes using them over the Universal Print Driver. &lt;/li&gt;
  &lt;li&gt;If additional functionality is really needed, map the client driver to another Windows 2000 or Windows 2003 OS driver that offers similar functionality. This isn&amp;rsquo;t always possible, but most users are satisfied with just being able to print and don&amp;rsquo;t mind killing an extra tree or two because duplex printing isn&amp;rsquo;t available. &lt;/li&gt;
  &lt;li&gt;Disable the loading of drivers on demand and/or importation of drivers from the client. This is important in keeping your environment clean and free of third-party drivers or other unwanted drivers. &lt;/li&gt;
  &lt;li&gt;Keep the combination of drivers and/or re-mapped drivers to minimum. The more places to parse during printer auto-creation, the longer the logon may take. &lt;/li&gt;
  &lt;li&gt;Ensure users have write access to %systemroot%\system32\spool on the server. Problems usually occur with overzealous, Sarbanes-Oxley compliant lock-down admins applying security settings. &lt;/li&gt;
  &lt;li&gt;If possible, print directly to the printer or print server and not through the virtual channel. Sorry, Citrix is meant to be thin--why clog the pipe with a print job if you don&amp;rsquo;t have to? &lt;/li&gt;
  &lt;li&gt;Old print jobs in the spooler should be cleaned up periodically. This should be done through a common maintenance script. &lt;/li&gt;
  &lt;li&gt;Do not load Hotfixes because they are available. Ensure it fixes something that is actually broke. Basically, if it ain&amp;rsquo;t broke, don&amp;rsquo;t fix it. &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Step by Step&lt;/h2&gt;
&lt;p&gt;Using all of this information, it&amp;rsquo;s time to put it to together and build a solution around it. Working under the assumption that you&amp;rsquo;re setting up a new environment and a have clean slate. Start by: &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Setting up your policy&lt;/li&gt;
  &lt;li&gt;Installing your drivers&lt;/li&gt;
  &lt;li&gt;Re-mapping your printers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Create Your Farm Print Policy&lt;/h3&gt;
&lt;p&gt;Your farm&amp;rsquo;s print policies will vary in your particular environment and will always be dictated through the needs of your user base. The following settings seem to be the sweet spot for most farms that have users coming in from the Internet on untrusted clients. It uses native drivers over the UPD, and is applied to all servers as a default. &lt;/p&gt;
  &lt;table align="center" cellpadding="0" cellspacing="0" class="table"&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;        Printing &lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p align="center"&gt;&lt;strong&gt;Setting&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;p&gt;Client   Printers/Auto-creation&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p align="center"&gt;Enabled&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p&gt;Auto-create   all client printers&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;p&gt;Client   Printers/Legacy client printers&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p align="center"&gt;Enabled&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p&gt;Create   old-style client printers&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;p&gt;Client   Printers/Printer properties retention&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p align="center"&gt;Enabled&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p&gt;Held in   profile only if not saved on client&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;p&gt;Client   Printers/Print job routing&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p align="center"&gt;Enabled&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p&gt;Always   connect indirectly as a client printer&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;p&gt;Client   Printers/Turn off client printer mapping&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p align="center"&gt;Not Configured&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p&gt;&amp;nbsp; &lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;p&gt;Drivers/Native   printer driver auto-install&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p align="center"&gt;Enabled&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p&gt;Do not   automatically install drivers&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;p&gt;Drivers/Universal   driver&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p align="center"&gt;Enabled&lt;/p&gt;&lt;/td&gt;
      &lt;td&gt;&lt;p&gt;Use   universal driver only if requested driver is unavailable&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;h3&gt;Drivers&lt;/h3&gt;
&lt;p&gt;Remarkably, you can run your entire farm with less than 25 drivers and all third-party drivers can and should be removed. These drivers ship with the operating system and serve as a good base for any environment. &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Canon Bubble-Jet BJC-210&lt;/li&gt;
  &lt;li&gt;Canon Bubble-Jet BJC-4000&lt;/li&gt;
  &lt;li&gt;Generic / Text Only&lt;/li&gt;
  &lt;li&gt;Epson Stylus COLOR ESC/P 2&lt;/li&gt;
  &lt;li&gt;HP Color LaserJet&lt;/li&gt;
  &lt;li&gt;HP Color LaserJet 4500&lt;/li&gt;
  &lt;li&gt;HP DeskJet&lt;/li&gt;
  &lt;li&gt;HP DeskJet 550C&lt;/li&gt;
  &lt;li&gt;HP DeskJet 850C&lt;/li&gt;
  &lt;li&gt;HP DeskJet 855C&lt;/li&gt;
  &lt;li&gt;HP LaserJet&lt;/li&gt;
  &lt;li&gt;HP LaserJet Series II&lt;/li&gt;
  &lt;li&gt;HP LaserJet 1100 (MS)&lt;/li&gt;
  &lt;li&gt;HP LaserJet 2100&lt;/li&gt;
  &lt;li&gt;HP LaserJet 4&lt;/li&gt;
  &lt;li&gt;HP LaserJet 5&lt;/li&gt;
  &lt;li&gt;HP LaserJet 6P&lt;/li&gt;
  &lt;li&gt;HP LaserJet 4000 Series PCL&lt;/li&gt;
  &lt;li&gt;HP LaserJet 8100 Series PCL&lt;/li&gt;
  &lt;li&gt;HP OfficeJet&lt;/li&gt;
  &lt;li&gt;Lexmark Optra&lt;/li&gt;
  &lt;li&gt;Lexmark 1020 Color Jetprinter&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The easiest way to load these is to simply walk through the &amp;ldquo;Add a printer&amp;rdquo; wizard one-by-one. You can get creative and write a script however you only need to do this once because they can be replicated. The drivers can also be integrated into your Citrix base build.&lt;br /&gt;
  So that additional drivers don&amp;rsquo;t accidentally get installed, it&amp;rsquo;s also a best practice that you rename %systemroot%\inf\ntprint.inf to ntprint.old.&lt;/p&gt;
&lt;h1&gt;Replicating Drivers &lt;/h1&gt;
&lt;p&gt;Using Citrix&amp;rsquo;s print driver replication feature, the drivers can be loaded on one of your servers and then replicated to all of the servers in the farm. In larger Citrix Farms, replicating drivers can cause performance issues, so you may want to create a print package that can be redistributed. &lt;/p&gt;
&lt;p&gt;Creating a package is a simple process: &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Start with a clean, freshly installed server&lt;/li&gt;
  &lt;li&gt;Copy the directories and files from %systemroot%\system32\spool\drivers&lt;/li&gt;
  &lt;li&gt;Export &lt;strong&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Write a wrapper script similar to: &lt;/li&gt;
&lt;/ul&gt;
&lt;p class="code"&gt;REM Backup Files and Registry&lt;br /&gt;
  @IF NOT EXIST MD c:\temp\printback&lt;br /&gt;
  @XCOPY /E /H /Y %systemroot%\system32\spool\drivers c:\temp\printback\&lt;br /&gt;
  @REG EXPORT &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3&amp;quot; c:\temp\printback\printers.reg&lt;/p&gt;
&lt;p class="code"&gt;REM Removing Print Drivers&lt;br /&gt;
  @REG DELETE &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3&amp;quot; /F&lt;br /&gt;
  @RD /S /Q %systemroot%\system32\spool\drivers\color&lt;br /&gt;
  @RD /S /Q %systemroot%\system32\spool\drivers\w32x86&lt;/p&gt;
&lt;p class="code"&gt;REM Installing New Print Drivers&lt;br /&gt;
  @XCOPY /E /H /Y color %systemroot%\system32\spool\drivers\color&lt;br /&gt;
  @XCOPY /E /H /Y w32x86 %systemroot%\system32\spool\drivers\w32x86&lt;br /&gt;
  @REG IMPORT PrintDrivers.reg&lt;/p&gt;
&lt;p class="code"&gt;REM Restore&lt;br /&gt;
  REM @XCOPY /E /H /Y c:\temp\printback\color %systemroot%\system32\spool\drivers\color&lt;br /&gt;
  REM @XCOPY /E /H /Y c:\temp\printback\w32x86 %systemroot%\system32\spool\drivers\w32x86&lt;br /&gt;
  REM @REG IMPORT c:\temp\printback\printers.reg&lt;/p&gt;
&lt;p class="code"&gt;@NET START SPOOLER&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Bundle it all together as a self executing zip file. InstallShield Packager for the Web (if you can still find it) is a great utility for this type of work. &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Re-Mapped Drivers&lt;/h2&gt;
&lt;p&gt;Now that you have a good driver base, it&amp;rsquo;s time to re-map to them. You can do this a couple of different ways. Downloading and importing somebody else&amp;rsquo;s remapping file isn&amp;rsquo;t necessarily the best since your environment is more than likely unique. You&amp;rsquo;re bound to get a number of unnecessary re-mappings, thus violating best practice #6. Under that premise, the easiest approach is to use Doug Brown&amp;rsquo;s Advanced Print Manger (APM) from &lt;a href="http://www.dabcc.com/apm"&gt;http://www.dabcc.com/apm &lt;/a&gt;. If you get the answer &amp;ldquo;it&amp;rsquo;s not in the budget,&amp;rdquo; then the re-mappings will have to be done manually using two different processes:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Manual Process #1&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Filter the event view for printer failures &amp;ndash; 1106 and 1007 messages&lt;/li&gt;
  &lt;li&gt;Parse through it and just grab the printer name. &lt;/li&gt;
  &lt;li&gt;Look up the printer at &lt;a href="http://www.printingsupport.com/"&gt;www.printingsupport.com &lt;/a&gt; and find a comparable driver&lt;/li&gt;
  &lt;li&gt;Create a text/inf file and manipulate so it resembles a wtsprnt.inf. &lt;/li&gt;
  &lt;li&gt;Import using qprinter /IMPRMAPPING C:\MyMappings.INF&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Manual Process #2&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Dump the event view for printer failures &amp;ndash; 1106 and 1007 messages&lt;/li&gt;
  &lt;li&gt;Look up the printer at &lt;a href="http://www.printingsupport.com/"&gt;www.printingsupport.com &lt;/a&gt; and find a comparable driver&lt;/li&gt;
  &lt;li&gt;Re-map them one-by-one in the CMC. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Six out of Seven Citrix Admins agree: stick with APM. It&amp;rsquo;s easier to use and you&amp;rsquo;ll be done in half the time. It polls the event logs for failed mappings and displays them in a consolidated, readable format along with a suggested re-mapping. &lt;/p&gt;
&lt;p&gt;If a recommendation isn&amp;rsquo;t available, the following table can be used as a simple guide or starting point for re-mappings. Of course you&amp;rsquo;ll need to test them to ensure they work. Further, since support is being added for a printer that is currently unavailable to the user, adding these mappings during production hours is a minimal risk.&amp;nbsp; &lt;/p&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="table"&gt;
  &lt;tr&gt;
    &lt;td&gt;      Printer Type&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;Remaps to&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet&lt;br /&gt;
      HP LaserJet   Series II&lt;br /&gt;
      HP LaserJet 4&lt;br /&gt;
      HP LaserJet 5&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Amyuni&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 5&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Brother&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 4&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Canon   Bubble-Jets&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;Canon Bubble-Jet   BJC-210&lt;br /&gt;
      Canon Bubble-Jet   BJC-4000&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Epson&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 4&lt;br /&gt;
      HP LaserJet 5&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Epson Stylus&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;Epson Stylus   COLOR ESC/P 2&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;HP DeskJet   Series&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP DeskJet&lt;br /&gt;
      HP DeskJet 550C&lt;br /&gt;
      HP DeskJet 850C&lt;br /&gt;
      HP DeskJet 855C&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;HP LaserJet   Series&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet&lt;br /&gt;
      HP LaserJet   Series II&lt;br /&gt;
      HP LaserJet 4&lt;br /&gt;
      HP LaserJet 5&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;HP LaserJet   1000 series&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 1100   (MS)&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;HP LaserJet   2000 series&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 2100&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;HP LaserJet   PCL Series&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 4000   Series PCL&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;HP OfficeJet   Series&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP OfficeJet&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Lanier&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 4000   Series PCL&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Konica&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 4&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Lexmark   Default &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 4&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Lexmark   Jetprinter series&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;Lexmark 1020   Color Jetprinter&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Lexmark T   Series&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 4&lt;br /&gt;
      HP LaserJet 5&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Lexmark Z   Series&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;UPD&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Lexmark Optra   Series&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;Lexmark Optra&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Ricoh&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 4&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Color Printers&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP Color LaserJet&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;PDF Writers &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;HP LaserJet 5&lt;br /&gt;
      HP Color LaserJet   4500&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;Fax Printers&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;Generic / Text   Only&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;As mentioned in the beginning of this article, the above printing configuration has been field tested several times over, from MetaFrame 1.8 all the way to Presentation Server 4.0. Once it&amp;rsquo;s set up, the administrative overhead is minimal, with only the occasional new mapping being added. Wrapping a process around it might prove to beneficial as well. But this still proves to be the most reliable approach for printing in Citrix. Maybe they&amp;rsquo;ll prove it wrong in 4.5. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=10540" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Citrix/default.aspx">Citrix</category><category domain="http://www.brianmadden.com/tags/Technical+Articles/default.aspx">Technical Articles</category><category domain="http://www.brianmadden.com/tags/Printing/default.aspx">Printing</category></item><item><title>Microsoft reduces Softricity Licensing pricing by almost 85%</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2006/08/08/microsoft-reduces-softricity-licensing-pricing-by-almost-85.aspx</link><pubDate>Tue, 08 Aug 2006 06:30:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:10428</guid><dc:creator>Michael Burke</dc:creator><slash:comments>71</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=10428</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2006/08/08/microsoft-reduces-softricity-licensing-pricing-by-almost-85.aspx#comments</comments><description>&lt;p&gt;Microsoft’s acquisition of Softricity is now complete and there are some major changes to the licensing for SoftGrid. In a  LiveMeeting Monday, Microsoft identified some key changes--some that are already in place and others that are coming.&lt;/p&gt;
&lt;h2&gt;New Pricing&lt;/h2&gt;
&lt;p&gt;The biggest change comes with the new pricing that Microsoft announced this past Friday. All SoftGrid products have been consolidated into the following two licenses. These prices reflect an almost 85% reduction in client licensing costs alone.&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="0"&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;strong&gt;Product Description&lt;/strong&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;&lt;strong&gt;MSRP (US$)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;SoftGrid Desktop License&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;$36&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;p&gt;SoftGrid CAL for   Terminal Services&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;p&gt;$20&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;ul&gt;
  &lt;li&gt;There are only two licenses available--the SoftGrid Desktop License and the SoftGrid CAL for Terminal Services. The Universal Desktop license is no longer available.&lt;/li&gt;
  &lt;li&gt;The SoftGrid platform, Sequencer, ZeroTouch and Microsoft SMS Extensions are all included in both licenses.&lt;/li&gt;
  &lt;li&gt;Under the new EULA, SoftGrid CALs for Terminal Services are no longer licensed on a concurrent user basis. They are now licensed the same way as Microsoft Terminal Server CALs--either per-user or per-device.&lt;/li&gt;
  &lt;li&gt;Minimum order quantities have been reduced to 5 licenses.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Softricity Software Assurance (SA) Agreements&lt;/h2&gt;
&lt;p&gt;Many changes have been made to the Softricity Software Assurance program.  For the most part, there is no more SA being sold Softricity Licensing, with the exception of existing customers re-ordering product.  Details are below:&lt;/p&gt;
&lt;h3&gt;New Customers&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Software Assurance is suspended.  SA will no longer be offered on new sales of SoftGrid licensing.&lt;/li&gt;
  &lt;li&gt;Hotfixes, patches and minor updates will still be provided for now, but no major revisions to product.&lt;/li&gt;
  &lt;li&gt;Customers will be able to purchase support incident packs to open support cases will Softricity. The Support Pack SKUs are not yet available, but should be by the time the product ships at the end of September.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Existing Customers&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Existing agreements due to expire will not be renewed or extended.  Microsoft is in the process of integrating the Softricity SKUs in with their Volume Licensing program and Microsoft’s “SA” will be available in the first half of 2007.&lt;/li&gt;
  &lt;li&gt;Existing customers &lt;strong&gt;will&lt;/strong&gt; get upgrades to product provided their support agreement is still valid at the time the update is released (i.e. Vista-compatible version).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Existing Customers Re-Ordering Licenses&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Only existing customers can purchase SA for &lt;strong&gt;&lt;em&gt;re-orders&lt;/em&gt;&lt;/strong&gt; on an existing agreement until either July 1, 2007 or the date their agreement expires, whichever comes first.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Release Schedules/Timelines&lt;/h2&gt;
&lt;p&gt;The Softricity name is staying for now.  Microsoft feels that the Softricity brand has a lot of recognition in industry and is planning to capitalize on it.  On the slides in the presentation, the logo now reads “A wholly owned subsidiary of Microsoft Corp”.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;August 1, 2006&lt;/strong&gt; – new pricing/EULA is in      effect.  Existing customers’ re-orders can be fulfilled, and new orders can be placed, however new code will not ship until the end of September.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;August 4, 2006&lt;/strong&gt; – Interim code released to      support POCs (version 4.0.0.585; not supported for Production      environments).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;September 29, 2006&lt;/strong&gt; – Target date for revised      code and fulfillment (production release).  This release will not include ZeroTouch, most likely as a result of crucial open-source code being removed from the product.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fall 2006&lt;/strong&gt; – ZeroTouch functionality will be released.  The current version of ZeroTouch (1.11.99) will not be supported in the 9/29/2006 release.  Customers wishing to deploy ZeroTouch will need to wait until it is released in the Fall.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also in the Fall of 2006, Microsoft is expected to &lt;em&gt;announce&lt;/em&gt; projected Volume Licensing offerings and upgrade paths.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;First Half of 2007&lt;/strong&gt; – Microsoft Software Assurance      will be available through the Volume Licensing programs.  Microsoft is also expected to make the SoftGrid Platform available to all Microsoft channels for resale.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;July 1, 2007 &lt;/strong&gt;– All existing Softricity SA      agreements will expire.  SA will only be available via the Microsoft Volume Licensing programs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;What this means to the Industry&lt;/h2&gt;
&lt;p&gt;First, since SA is now defunct, there is no definitive answer from Softricity on how new customers will get updates to the software as there is no maintenance agreements available. The same also applies for customers whose maintenance expires before the expected release of Volume Licensing SA information.&lt;/p&gt;
&lt;p&gt; Next, the product roadmap is unclear. Prior to the acquisition, Softricity&amp;#39;s #1 goal was to have context communication working between virtual environments. Softricity does such a great job of isolating applications that it&amp;#39;s almost a detriment. Now, Microsoft&amp;#39;s focus is clearly on a 64-bit version and a Vista-compatible client. Beyond that, there is little information on where the product is going.&lt;/p&gt;
&lt;p&gt;Microsoft obviously has serious competition with Altiris, and this acquisition is clearly meant to close the gap. &lt;a href="http://www.altiris.com/Products/SoftwareVirtualizationSolution.aspx"&gt;Altiris&amp;#39; SVS&lt;/a&gt; is a direct competitor of Softricity, but now that the pricing is so low, it may give Microsoft an advantage.&lt;/p&gt;
&lt;p&gt;In terms of &lt;a href="http://google.brianmadden.com/search?q=tarpon&amp;amp;btnG=Search&amp;amp;site=all&amp;amp;client=all&amp;amp;proxystylesheet=all&amp;amp;output=xml_no_dtd&amp;amp;filter=0"&gt;Citrix Streaming Server (aka Tarpon)&lt;/a&gt;, Softricity is now the first product that directly competes with Citrix. Presentation Server was always an &amp;quot;add on&amp;quot; to Terminal Server. However, customers will now have a decision to make between software virtualization platforms. It will be either Citrix OR Microsoft, but not both. I am curious to see how this will affect (if at all) the relationship between Microsoft and Citrix.&lt;/p&gt;


&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=10428" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Industry+Buzz/default.aspx">Industry Buzz</category><category domain="http://www.brianmadden.com/tags/Application+Streaming/default.aspx">Application Streaming</category></item><item><title>More Longhorn Terminal Server details uncovered in yesterday's product group chat</title><link>http://www.brianmadden.com/blogs/guestbloggers/archive/2006/08/02/more-longhorn-terminal-server-details-uncovered-in-yesterday-s-product-group-chat.aspx</link><pubDate>Wed, 02 Aug 2006 09:30:00 GMT</pubDate><guid isPermaLink="false">a59ee4a9-9560-4436-b47c-b649e4ba6aaa:10382</guid><dc:creator>Katie Koepke</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.brianmadden.com/blogs/guestbloggers/rsscomments.aspx?PostID=10382</wfw:commentRss><comments>http://www.brianmadden.com/blogs/guestbloggers/archive/2006/08/02/more-longhorn-terminal-server-details-uncovered-in-yesterday-s-product-group-chat.aspx#comments</comments><description>&lt;p&gt;As many of you know, the Microsoft Terminal Server Product Team hosted a live chat yesterday. There were a lot of great questions and it was a great opportunity to interact directly with the Terminal Server group. A PDF transcript of the chat is available above, and highlights are covered in this article.&lt;/p&gt;
&lt;p&gt;The experts present in the chat from the Terminal Services Product Team included:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ted Kummert &lt;/strong&gt;-- Vice President of the Security, Access and Solutions Division&lt;br /&gt;
    &lt;strong&gt;Chandra Shekaran&lt;/strong&gt; -- Product Unit Manager of Terminal Services&lt;br /&gt;
    &lt;strong&gt;Maxim Oustiougov&lt;/strong&gt; -- Program Manager with Microsoft&amp;#39;s Terminal Services team&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
    &lt;strong&gt;Alex Balcanquall&lt;/strong&gt; -- Product Manager for Terminal Services&lt;br /&gt;
    &lt;strong&gt;Tad Brockway&lt;/strong&gt; -- Group Program Manager, for the Terminal Services Product Development &lt;br /&gt;
    &lt;strong&gt;Nelly Porter &lt;/strong&gt;-- Lead Program Manager on Terminal Services team&lt;br /&gt;
    &lt;strong&gt;Joy Chik&lt;/strong&gt; -- Development Manager for Terminal Server&lt;br /&gt;
    &lt;strong&gt;Guaray&lt;/strong&gt; -- Program Manager in the Windows Terminal Services team&lt;br /&gt;
    &lt;strong&gt;Samim Erdogan&lt;/strong&gt; -- Program Manager with the Terminal Services Team&lt;/p&gt;
&lt;p&gt;So what’s the latest with Longhorn Server?  Let’s start by taking a brief look at what we learned from the &lt;a href="http://www.brianmadden.com/content/content.asp?id=487"&gt;last live chat held on this topic in September, 2005&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Application Publishing with client-side file type associations &lt;/li&gt;
  &lt;li&gt;Seamless Windows &lt;/li&gt;
  &lt;li&gt;A Terminal Server Gateway (TSG)&lt;/li&gt;
  &lt;li&gt;Intelligent Avalon/WinFX Remoting&lt;/li&gt;
  &lt;li&gt;A Unified Management Console&lt;/li&gt;
  &lt;li&gt;Redirection of Plug-n-Play devices with UDMF drivers&lt;/li&gt;
  &lt;li&gt;Major Reworking of the Logon Process&lt;/li&gt;
  &lt;li&gt;Per-User Licenses will be Tracked&lt;/li&gt;
  &lt;li&gt;Web interface&lt;/li&gt;
  &lt;li&gt;RDP 6&lt;/li&gt;
  &lt;li&gt;A Refined Windows System Resource Manager (WSRM)&lt;/li&gt;
  &lt;li&gt;WMI Interface for Everything&lt;/li&gt;
  &lt;li&gt;RDP Virtual Channel Tuning. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The above features are discussed in more detail &lt;a href="http://www.brianmadden.com/content/content.asp?id=500"&gt;here&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;After reading this list of features, a common question is (and has been), “is Microsoft trying to compete with Citrix, its own ISV partner?”  Tad Brockway reiterated Microsoft’s position on this question in yesterday’s chat saying, &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Citrix will continue to add great value on top of our Longhorn Server feature set. It&amp;#39;s our goal, for Longhorn, for customers to have the basic features in-the-Windows-box for scenarios of small to medium scale and complexity. So, Longhorn Server will include features, like: Remote Programs and a Terminal Server Gateway for VPN-less access to TS resources. In terms of deployment scenarios, our ISV partners will add value on top of these features as well as our existing features.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is a good perspective for us, the system engineers, to keep in mind as our managers and clients ask us why Microsoft is adding some of the same features as Citrix.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What we learned from the August 2006 chat…&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Beyond the features discussed in the September 2005 chat, we learned of some additional features slated to be released with Windows Longhorn.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Softricity Acquisition&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.brianmadden.com/content/content.asp?ID=593"&gt;Microsoft’s acquisition of Softricity&lt;/a&gt; has been a hot topic as of late and in yesterday’s chat the community was able to ask if there were any plans to incorporate Softricity specifically with Terminal Server. (Until now the rumor had been that Softricity would be incorporated with the SMS group.) While no specifics were released on how Softricity will be built-in to Microsoft products, Chandra Shekaran indicated that there will be involvements with Terminal Services. When asked specifically how the Softricity acquisition will affect Terminal Services in Longhorn, Chandra provided us with this insight:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;In the medium term, one should expect TS Application Compatibility and efficiency of TS deployments to significantly improve. That said, we just closed on the acquisition and haven&amp;#39;t finalized product evolution or announced licensing plans going forward. We will announce more details in the next couple of weeks. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It will be interesting to hear how Softricity may interact with Terminal Server in the future. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Monitor Spanning&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;Whether or not multi-monitor support would be supported in Longhorn Server was another popular topic. Longhorn Server and the RDP 6.0 client will &lt;u&gt;not&lt;/u&gt; provide multi-monitor support, but &lt;u&gt;will&lt;/u&gt; provide “monitor spanning.” So what’s the difference? With monitor spanning, the system only &amp;quot;sees&amp;quot; one display. Therefore if you had two monitors, your  start menu taskbar would stretch across both screens. You would have some ability to move and resize windows to one monitor or the nother, but the system only sees it as one display. A popup message would appear &amp;quot;on the seam&amp;quot; in the middle of your display, half on one monitor and half on the other. &lt;/p&gt;
&lt;p&gt;With true multi-monitor support, using the same example of two monitors, the system would see the extra display and therefore your taskbar, and pop up messages etc., would appear only on your primary display. You would be able to maximize windows within their specific display without having them stretch across both. &lt;/p&gt;
&lt;p&gt;The new RDP client will allow you to invoke monitor spanning from the command prompt via &lt;em&gt;mstsc.exe /span&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Terminal Server Web Access (TS Web Access or TSWA) &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Terminal Server Web Access provides a web interface to remote programs.  (TS Web Access is to Remote Programs as Web Interface is to Published Applications. S.A.T. flashback anyone?) Tad made a good analogy comparing TSWA to OWA (Outlook Web Access).&lt;/p&gt;
&lt;p&gt;TS Web Access can be configured in two modes; Simple Mode and Group Policy Mode. Simple mode is configured per Terminal Server and Group Policy Mode, as you may expect, is configured in Active Directory Group Policy. Samim went on to explain:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;In TSWebAccess: There are two modes: Simple Mode and GP (Group Policy) mode. In Simple mode, it is possible to point the TSWebAccess page to a particular TS installation or deployment. You can use multiple TS Servers in this mode as long as the servers are all in a farm accessible with the same DNS name. In the GP mode, the app definitions come from Group Policy.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Profiles &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There is an indication, based on today’s chat, that there is going to be a big overhaul to profiles. (Woo hoo!) Alex Balcanquall states, &lt;/p&gt;
&lt;p&gt;&lt;em&gt;I am not sure what we have announced but yes profiles and folder redirection have been enhanced. For example profile sync has been vastly improved and is more efficient, almost all folders can be redirected and sync is super efficient for off line files; the new profile service ensure profile corruption is mitigated in most scenarios. Basically vastly improved.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Will roaming profiles as we know them (slow and prone to corruption like an Enron executive) soon be a thing of the past? &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enhancements to RDP and WPF Remoting&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There were a handful of audio-video improvements announced to release with the next version of the RDP client.  Among them, ClearType support and 32-bit color depth in RDP. In addition, Microsoft  announced that they are working on enabling audio redirection for MIDI formats.&lt;/p&gt;
&lt;p&gt;Another popular topic in the chat was how Windows Presentation Foundations (WPF) Remoting, also known as Avalon/WinFX Remoting, will work in Longhron. Just so we have all the terminology out there, WinFX technology is now referred to as the &amp;quot;.NET Framework 3.0.&amp;quot; Aero-Glass, which was referred to in the chat as well, is one theme available in WPF.  What is WPF Remoting?  In short, WPF Remoting changes how and where an application is rendered and presented to the user via Terminal Services. You can read more about it about this &lt;a href="http://www.brianmadden.com/content/content.asp?id=500"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Advantages to WPF Remoting include:&lt;/p&gt;
&lt;ol start="1"&gt;
  &lt;li&gt;Less network bandwidth utilization&lt;/li&gt;
  &lt;li&gt;A more seamless client experience. For example, remote applications will feel more integrated with the client.&lt;/li&gt;
  &lt;li&gt;Less server load since less rendering is not taking place there. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;On the other hand, the main disadvantages to WPF Remoting is that you must have a client that&amp;#39;s running WPF, either  Vista or a  Windows XP with the WinFX / .NET Framework 3.0 update.&lt;/p&gt;
&lt;p&gt;The big question is &amp;quot;will WPF Remoting be released with Longhorn?&amp;quot; Previously we thought this answer was &amp;quot;yes.&amp;quot; However, when the question was asked, “What support will Longhorn Terminal Services provide for Avalon-based applications?” The response given was, &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Yes, we are working to support Aero-Glass via RDP, when connecting from a Vista client. …. We have more work to do and we haven&amp;#39;t yet targeted a specific release vehicle. (Tad Brockway)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Based on this answer it doesn’t sound like the WPF Remoting capability will be released with Longhorn as was originally thought.  Perhaps it will arrive later in the form of a Service Pack?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RDP Client Versions and Updates &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Of course many of these new features will require a new RDP client. Tad Brockway elaborated on how the new client for Windows XP, SP2 will be made available—via Windows Update! &lt;/p&gt;
&lt;p&gt;&lt;em&gt;When we ship Vista, we will make an updated version of our TS Client available via download from Windows Update ... for Windows XP SP2 clients. Similarly, when we ship Longhorn Server we will update the client that is available via Windows Update ... for Windows XP SP2 and Vista clients. This approach will result in supported Windows clients to get access to the new features in Longhorn Server. Current plan is for the Vista SP1 OS to include the version of the TS Client that we ship with Longhorn Server, automatically, so no download will be required for Vista SP1 clients.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TS Gateway Single Sign On update.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The upcoming arrival of Microsoft’s TS Gateway (TSG) product, similar to Citrix’s CSG product, is no surprise. The chat, however, revealed some additional information about the product which is worth noting. For example, the question was asked if a TSG server can exist outside of a domain. Alex explains that,&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The TSG can be standalone if needed - but this means you would need local accounts on the TSG. The other alternative is to put the TSG in the internal network and use an SSL terminator in the DMZ instead.&lt;/em&gt;&lt;/p&gt;
  &lt;p&gt;The drawback of having a TSG standalone server is that local credentials would be necessary and Single Sign On (SSO) would not be possible without a 3rd party tool. So what&amp;#39;s the deal with SSO? The question was posed whether SSO would be possible between TSWA, TSG, and the TS Server? Tad fielded this question.&lt;/p&gt;
  &lt;p&gt;&lt;em&gt;In Longhorn Server, we implemented a Network Authentication feature so that your local credentials that you provided at the login screen are automatically forwarded (securely of course) to the Terminal Server. This feature effectively enables SSO from the TS client to the TS server. We do not have a true integrated SSO solution that crosses TS Web Access, TS Gateway, and the Terminal Server. However, we do a pretty good job of supporting credential caching and if it is allowed via your admin would enable an &amp;#39;SSO experience&amp;#39; for many scenarios. It isn&amp;#39;t something we would refer to as SSO, of course.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;Another cool piece of information shared a couple of times throughout the chat was that the TS Gateway would work connecting to Windows 2000 and 2003 Server in addition to Vista and Windows XP clients. The ability to connect to desktops and not just servers could be profound with respects to &lt;a href="http://www.brianmadden.com/content/content.asp?id=608"&gt;VDI&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;In summary, there is a lot of added functionality in Longhorn Server to look forward to. A big thank you is extended to this panel of experts who took time to chat with us!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Additional Resources&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;A great document on the features included with Longhorn Server is available from Microsoft &lt;a href="http://download.microsoft.com/download/0/d/c/0dc48a82-a74d-4463-a338-c70069d8a9a2/WSLB2_overview.doc"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
  &lt;li&gt;Some great Step-by-Step guides to installing and configuring Longhorn, Remote Programs, and the TS Gateway are available for download &lt;a href="http://www.frameworkx.com/Frameworkx/blog.aspx?blog=56&amp;amp;id=391"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://www.brianmadden.com/media/p/10381.aspx"&gt;Chat with Microsoft Terminal Server Product Group.pdf&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.brianmadden.com/aggbug.aspx?PostID=10382" width="1" height="1"&gt;</description><category domain="http://www.brianmadden.com/tags/Microsoft+Terminal+Services/default.aspx">Microsoft Terminal Services</category><category domain="http://www.brianmadden.com/tags/Industry+Buzz/default.aspx">Industry Buzz</category><category domain="http://www.brianmadden.com/tags/Longhorn+Terminal+Services/default.aspx">Longhorn Terminal Services</category></item></channel></rss>