<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>Terminal Services Team Blog</title><link>http://blogs.msdn.com/ts/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Improving TS Gateway availability using NLB</title><link>http://blogs.msdn.com/ts/archive/2009/03/24/improving-ts-gateway-availability-using-nlb.aspx</link><pubDate>Tue, 24 Mar 2009 18:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9504930</guid><dc:creator>termserv</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ts/comments/9504930.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9504930</wfw:commentRss><description>&lt;p&gt;TS Gateway is a Windows Server 2008 role which provides secure access to corporate desktops and applications for Internet users. Mobile workforces rely heavily on TS Gateway for remote access needs. To ensure 100% availability there are three methods we recommend which can help achieve this goal for TS Gateway: &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Load balancing device (HW implementation): &lt;/b&gt;A third-party load balancer like F5 Networks BIG-IP, as one example, can be used to load-balance SSL traffic to TS Gateway servers.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;SW load balancing (Ex: Microsoft NLB): &lt;/b&gt;This is the low cost and optimal solution for load balancing the TS Gateway traffic. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;DNS Round Robin (DNSRR): &lt;/b&gt;DNS round robin can be used to balance the load on TS Gateway servers. One disadvantage with DNSRR is that it cannot act as a fail-over cluster. Therefore, if one server fails, clients might continue to attempt connection to the failed server.&lt;/p&gt;  &lt;p&gt;In this article, we will focus on configuring TS Gateway high availability mode using NLB.&lt;/p&gt;  &lt;h4&gt;About Microsoft NLB:&lt;i&gt;&lt;/i&gt;&lt;/h4&gt;  &lt;p&gt;The Network Load Balancing (NLB) role is available in Windows Server 2008. Every TS Gateway server member in the farm must install and configure NLB to form a fail-over load balancing server cluster. NLB distributes traffic between different TS Gateway server farm members. When a server in the cluster fails, NLB automatically removes the failed server from the cluster. The NLB cluster has a virtual IP address which is used by the clients to connect to the TS Gateway farm. Figure 1 below illustrates load-balancing TS Gateway using NLB. To further understand the Microsoft NLB deployment, click the following link: &lt;a href="http://technet.microsoft.com/en-us/library/cc754833.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc754833.aspx"&gt;http://technet.microsoft.com/en-us/library/cc754833.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_2.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="742" alt="image" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb.png" width="542" border="0" mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="center"&gt;Figure 1. TS Gateway load balancing&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a class="" title="_Configuring_TS_Gateway" name="_Configuring_TS_Gateway"&gt;&lt;/a&gt;Configuring TS Gateway for a farm scenario&lt;i&gt;:&lt;/i&gt;&lt;/h4&gt;  &lt;p&gt;A TS client establishes an RPC/HTTPS connection to TS Gateway. Every RPC/HTTPS connection internally consists of two SSL channels to TS Gateway representing RPC_IN_DATA/RPC_OUT_DATA channels. In a farm environment, a situation could occur where the RPC_IN_DATA/RPC_OUT_DATA channels end up on two different TS Gateway servers. Normally to address this problem NLB requires IP affinity. However TS Gateway if configured as a farm ensures that the RPC_IN_DATA and RPC_OUT_DATA channels are routed to the same TS Gateway server. See &lt;a href="#_Recommendations_about_NLB"&gt;Recommendations about NLB parameters for TS Gateway farm scenario&lt;/a&gt; to know more information on different scenarios, IP affinity, and NLB. &lt;/p&gt;  &lt;h5&gt;&lt;a class="" title="_To_configure_a" name="_To_configure_a"&gt;&lt;/a&gt;To configure a TS Gateway farm :&lt;i&gt;&lt;/i&gt;&lt;/h5&gt;  &lt;p&gt;1. Launch “TS Gateway Manager” from &lt;b&gt;Start-&amp;gt;Administrative Tools -&amp;gt; Terminal Services.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;2. In the right pane click on &lt;b&gt;Properties&lt;/b&gt;, go to &lt;b&gt;Server Farm &lt;/b&gt;tab and enter FQDN name of all the servers which will be members of the farm, including local host.&lt;/p&gt;  &lt;p&gt;3. Repeat the above steps on each TS Gateway server in the farm.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_4.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="518" alt="image" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb_1.png" width="460" border="0" mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb_1.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;Setting up Microsoft NLB for TS Gateway farm&lt;i&gt;:&lt;/i&gt;&lt;/h4&gt;  &lt;p&gt;1. Install the Network Load Balancing feature using Server Manager on all the TS Gateway servers in the farm. To install the NLB feature: &lt;/p&gt;  &lt;p&gt;a. Open Server Manager, select Features in the left pane, right-click &lt;b&gt;Features&lt;/b&gt;, click &lt;b&gt;Add Features&lt;/b&gt;,&lt;b&gt; &lt;/b&gt;and select &lt;b&gt;Network Load Balancing&lt;/b&gt; in the available features. Click &lt;b&gt;Next&lt;/b&gt;, and then click &lt;b&gt;Install&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;OR&lt;/p&gt;  &lt;p&gt;b. Open an elevated command prompt and run the command “servermanagercmd –install nlb”&lt;/p&gt;  &lt;p&gt;2. NLB cluster can be configured using NLB manager. Launch NLB manager from &lt;b&gt;Start-&amp;gt; Administrative Tools.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;3. Right-click &lt;b&gt;Network Load Balancing Clusters, &lt;/b&gt;and then click &lt;b&gt;New Cluster&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;4. In &lt;b&gt;Host, &lt;/b&gt;enter the name of the host, and then click Connect.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;5. Select the network interface that you want to use with the cluster and click &lt;b&gt;Next&lt;/b&gt;. The interface hosts the cluster virtual IP address and receives the client traffic to load balance. (Note: NLB does not support DHCP, so here you will see a warning message about DHCP. Click OK. )&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;6. In the &lt;b&gt;Host Parameters &lt;/b&gt;page, select a &lt;b&gt;Priority&lt;/b&gt; (&lt;b&gt;Unique host identifier). &lt;/b&gt;The cluster node with the lowest priority handles the traffic that is not covered by port rules. If there is a single network adapter which is used both for communication between cluster nodes and external network traffic, then the dedicated IP address parameter is needed. The dedicated IP address is used for the communication between the cluster nodes (Ex: By TS Gateway farm services). This address should be a static IP address. Make sure the network adapter is configured with this address.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;7. To specify the dedicated IP address, click &lt;b&gt;Add &lt;/b&gt;and enter the IP address and subnet mask. Keep the remaining settings in the &lt;b&gt;Host Parameters &lt;/b&gt;page as default.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_6.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="466" alt="image" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb_2.png" width="488" border="0" mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;8. Click &lt;b&gt;Next &lt;/b&gt;to see the &lt;b&gt;Cluster IP Addresses &lt;/b&gt;page. Click &lt;b&gt;Add &lt;/b&gt;and enter the IP address for the cluster. This is the IP address which is used by the clients to connect to the TS Gateway farm. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_8.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="454" alt="image" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb_3.png" width="471" border="0" mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb_3.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;9. Click &lt;b&gt;Next &lt;/b&gt;to see the &lt;b&gt;Cluster Parameters &lt;/b&gt;screen. Enter the public DNS name of the TS Gateway farm as &lt;b&gt;Full Internet Name&lt;/b&gt; ( Ex: TSGatewayFarm.contoso.com )&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;10. Set Cluster&lt;b&gt; operation mode &lt;/b&gt;to either unicast or multicast. Recommendations about the cluster operation mode are discussed at the end of this post.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_10.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="398" alt="image" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb_4.png" width="418" border="0" mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb_4.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;11. Click &lt;b&gt;Next &lt;/b&gt;to see the &lt;b&gt;Port Rules &lt;/b&gt;page. &lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;12. Click &lt;b&gt;Edit &lt;/b&gt;to change the default port rules. Specify the port range as 443 to 443 if TS Gateway is an SSL end point. If you are using HTTPS-HTTP bridging with ISA in front, specify 80 to 80 as the port range. Only the incoming traffic to the range of ports specified in the port rules is load balanced. &lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="left"&gt;13. In &lt;b&gt;Protocols &lt;/b&gt;specify &lt;b&gt;TCP.&lt;/b&gt;&lt;/p&gt;  &lt;p align="left"&gt;14. In &lt;b&gt;Filtering mode &lt;/b&gt;select &lt;b&gt;Multiple host, &lt;/b&gt;which specifies that multiple nodes in the cluster will handle the network traffic for the port rule.&lt;/p&gt;  &lt;p align="left"&gt;15. Set the &lt;b&gt;Affinity &lt;/b&gt;to &lt;b&gt;Single. &lt;/b&gt;Recommendations about the IP Affinity setting are discussed at the end of this post.     &lt;br /&gt;&lt;/p&gt; &lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_14.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="477" alt="image" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb_6.png" width="504" border="0" mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/ImprovingTSGatewayavailabilityusingNLB_A2DF/image_thumb_6.png" /&gt;&lt;/a&gt;   &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;16. Click &lt;b&gt;Finish &lt;/b&gt;to create the cluster. &lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;17. To add more TS Gateway servers to the cluster, right-click the new cluster and then click &lt;b&gt;Add Host to Cluster. &lt;/b&gt;Configure the host parameters (including host priority and dedicated IP addresses) for the additional hosts by following the same instructions that you used to configure the initial host. All the cluster parameters remain the same for the new hosts.&lt;/p&gt;  &lt;h4&gt;&lt;a class="" title="_Recommendations_about_NLB" name="_Recommendations_about_NLB"&gt;&lt;/a&gt;Recommendations about NLB parameters for TS Gateway farm scenario:&lt;/h4&gt;  &lt;p&gt;Cluster operation mode (multicast / unicast):&lt;b&gt; &lt;/b&gt;If the gateway servers have multiple network adapters, use &lt;b&gt;unicast&lt;/b&gt; cluster operation mode. It is a requirement that the TS Gateway farm can communicate between gateway servers. So if you have only a single NIC on gateway servers, then &lt;b&gt;multicast&lt;/b&gt; should be used to enable communication between gateway servers in the cluster.&lt;/p&gt;  &lt;p&gt;IP Affinity: In most cases, especially when clients originate from many different locations on the internet, like their homes, set the IP affinity to &lt;b&gt;Single&lt;/b&gt;. There is one scenario where the IP affinity must be set to &lt;b&gt;None&lt;/b&gt;: if many of the TS Gateway clients are behind NAT devices causing all connections to end up with the same IP and hence the same TS Gateway server, then IP affinity set to &lt;b&gt;Single&lt;/b&gt; on NLB will load one server more than another (for example, all remote workers in a branch behind a NAT with a single external IP). In this scenario IP affinity should be set to &lt;b&gt;None&lt;/b&gt;. &lt;/p&gt;  &lt;p&gt;It is recommended to &lt;a href="#_To_configure_a"&gt;&lt;i&gt;configure TS Gateway for a farm scenario&lt;/i&gt;&lt;/a&gt;, no matter what affinity is used. This allows users to connect in the situation where the 2 SSL connections (RPC_IN_DATA, RPC_OUT_DATA channels) originate from different client IP addresses. For example, suppose a client is trying to connect from within an organization having two proxies to the Internet (or a proxy having two Internet IP addresses) which are used randomly. In this scenario, If TS Gateway farm is not configured then the connection might fail for any NLB IP Affinity setting because SSL connections (RPC_IN_DATA, RPC_OUT_DATA) from the client may go to different TS Gateway servers. &lt;/p&gt;  &lt;h4&gt;Useful links:&lt;/h4&gt;  &lt;p&gt;1. To know how MSIT used TS Gateway as a scalable remote access solution, see &lt;a href="http://technet.microsoft.com/en-us/library/cc304366.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc304366.aspx"&gt;http://technet.microsoft.com/en-us/library/cc304366.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. NLB FAQ: &lt;a href="http://technet.microsoft.com/en-us/library/cc758834.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc758834.aspx"&gt;http://technet.microsoft.com/en-us/library/cc758834.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3. TS Gateway step-by-step guide: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc771530.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc771530.aspx"&gt;http://technet.microsoft.com/en-us/library/cc771530.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9504930" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/TS+Gateway/default.aspx">TS Gateway</category><category domain="http://blogs.msdn.com/ts/archive/tags/ts/default.aspx">ts</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Rajesh+Ganta/default.aspx">Author: Rajesh Ganta</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Bohdan+Velushchak/default.aspx">Author: Bohdan Velushchak</category></item><item><title>Top 10 RDP Protocol Misconceptions – Part 2</title><link>http://blogs.msdn.com/ts/archive/2009/03/12/top-10-rdp-protocol-misconceptions-part-2.aspx</link><pubDate>Fri, 13 Mar 2009 04:36:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9472678</guid><dc:creator>termserv</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/ts/comments/9472678.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9472678</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;  &lt;p&gt;Nadim here again. Today we’re wrapping up our Top 10 list of RDP Misconceptions. So without further ado…&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;1) &lt;/b&gt;&lt;b&gt;&lt;u&gt;Myth: RDP is insecure; there is no encryption&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;To be clear, this is totally false! RDP has always supported strong encryption and is by default encrypted!&lt;/p&gt;  &lt;p&gt;What has changed over the releases is the type of encryption we offer. The very first versions of RDP back in the Windows 2000 era had encryption that was based on SSL.&lt;/p&gt;  &lt;p&gt;As early as Windows 2003 SP1 RDP we decided to introduce full-blown standards-based encryption (i.e. the same SSL as your browser uses to connect to your bank). SP1 did this by introducing standard SSL-encryption as an option.&lt;/p&gt;  &lt;p&gt;Current versions of RDP have even stronger encryption and server authentication options out of the box. This is because they are built on top of a security mechanism in Windows called &lt;a href="http://msdn.microsoft.com/en-us/library/bb204772.aspx"&gt;CredSSP&lt;/a&gt; which uses Kerberos or TLS (aka SSL) for authentication – when you use those settings RDP is using the same or stronger encryption that your browser uses when communicating with your bank.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;2) &lt;/b&gt;&lt;b&gt;&lt;u&gt;Myth: RDP performance hasn’t changed much over the releases&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;False! We’re constantly working to improve RDP performance as well as adding a lot of great functionality to RDP in terms of features.&lt;/p&gt;  &lt;p&gt;Every release since Windows 2000 has seen improved perf, i.e. there is a real benefit to upgrading to the latest client and server (e.g. RDP 6.1).&lt;/p&gt;  &lt;p&gt;Here’s just one example of the bandwidth difference for a common scenario across several releases of RDP. We essentially have in these scenarios gains of between 8% to 45% bandwidth improvement from switching to the latest protocol. See the &lt;a href="http://download.microsoft.com/download/4/d/9/4d9ae285-3431-4335-a86e-969e7a146d1b/RDP_Performance_WhitePaper.docx"&gt;RDP Performance Whitepaper&lt;/a&gt; for more details on this data.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/Top10RDPProtocolMisconceptionsPart2_12FF7/clip_image002_2.gif"&gt;&lt;img title="clip_image002" style="display: inline" height="284" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/Top10RDPProtocolMisconceptionsPart2_12FF7/clip_image002_thumb.gif" width="626" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Going forward - We’re hard at work to continue that trend and bring even better innovations and improved remote experiences – see Asael’s &lt;a href="http://blogs.msdn.com/ts/archive/2009/02/10/more-details-about-calista-technologies.aspx"&gt;post&lt;/a&gt; on some of the future upcoming improvements.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;3) &lt;/b&gt;&lt;b&gt;&lt;u&gt;Myth: RDP is only used in Remote Desktop Services (formerly TS)&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;RDP is actually used under the hood in pretty much every Microsoft product that benefits from desktop or application remoting.&lt;/p&gt;  &lt;p&gt;Just some examples of products or features you may not have known were built on top of RDP for their remoting needs:&lt;/p&gt;  &lt;p&gt;· Remote Assistance&lt;/p&gt;  &lt;p&gt;· Windows Media Center Extenders use RDP internally (including Xbox360)&lt;/p&gt;  &lt;p&gt;· Windows Live Mesh&lt;/p&gt;  &lt;p&gt;· Hyper-V Virtual Machine console&lt;/p&gt;  &lt;p&gt;· Office Communications Server 2007 R2&lt;/p&gt;  &lt;p&gt;· System Center Configuration Manager (SCCM)&lt;/p&gt;  &lt;p&gt;If you’re interesting in seeing how RDP might be able to fit within your application, see the next point...&lt;/p&gt;  &lt;p&gt;&lt;b&gt;4) &lt;/b&gt;&lt;b&gt;&lt;u&gt;Myth: I can’t customize or program extensions to RDP&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;There are actually several useful ways to extend/or customize RDP:&lt;/p&gt;  &lt;p&gt;· Programming the RDP Client: Host the RDP ActiveX control in your web page or application.&lt;/p&gt;  &lt;p&gt;The Remote Desktop client in Windows is a great example of an application that hosts the RDP ActiveX control. This control is fully documented &lt;a href="http://msdn.microsoft.com/en-us/library/aa383022(VS.85).aspx"&gt;in MSDN&lt;/a&gt;. It’s possible for 3&lt;sup&gt;rd&lt;/sup&gt; party software developers to host this control in an app or a web page to provide desktop remoting as part of your larger app.&lt;/p&gt;  &lt;p&gt;· Programming the RDP Server side: Use the Windows Desktop Sharing API&lt;/p&gt;  &lt;p&gt;This &lt;a href="http://blogs.msdn.com/ts/archive/2007/03/23/writing-a-desktop-sharing-application.aspx"&gt;blog post&lt;/a&gt; by Seenu has a lot of good detail and examples on how you can use our Windows Desktop Sharing API to write custom collaboration or desktop sharing applications, these APIs are all built on the same core RDP protocol that powers Windows Remote Desktop.&lt;/p&gt;  &lt;p&gt;· Write a dynamic virtual channel extension to RDP&lt;/p&gt;  &lt;p&gt;Probably the most powerful way to &lt;i&gt;extend&lt;/i&gt; RDP is to actually write a virtual channel plug-in extension to RDP. This allows you to extend the protocol with your own bi-directional channel that can communicate from client to server. The possibilities are limitless but some examples include supporting new devices over RDP. We have a nice blog &lt;a href="http://blogs.msdn.com/ts/archive/2007/09/20/dynamic-virtual-channels.aspx"&gt;post&lt;/a&gt; with an overview of the dynamic virtual channel API or the docs are in &lt;a href="http://msdn.microsoft.com/en-us/library/bb540860(VS.85).aspx"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;5) &lt;/b&gt;&lt;b&gt;&lt;u&gt;Myth: The RDP protocol is not publicly documented&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;If you’re curious to learn more about very low-level technical details of RDP, we have thousands of pages of detailed specifications up on MSDN. For example, you can see the documents for the core protocol sequence and basic graphics &lt;a href="http://msdn.microsoft.com/en-us/library/cc240445(PROT.10).aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I hope this list was useful, if you’ve got any questions or want to provide us with feedback or suggestions for what you’d like to see in RDP we’d love to hear it!&lt;/p&gt;  &lt;p&gt;Thank you!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9472678" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/RDP/default.aspx">RDP</category><category domain="http://blogs.msdn.com/ts/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/ts/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Nadim+Abdo/default.aspx">Author: Nadim Abdo</category></item><item><title>Remote Desktop Services at the 2009 MVP Summit </title><link>http://blogs.msdn.com/ts/archive/2009/03/10/remote-desktop-services-at-the-2009-mvp-summit.aspx</link><pubDate>Wed, 11 Mar 2009 00:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9469864</guid><dc:creator>termserv</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ts/comments/9469864.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9469864</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Last week, Microsoft hosted the annual MVP Summit in Seattle and Redmond. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;The term MVP stands for Most Valuable Professionals. The &lt;/FONT&gt;&lt;A href="http://mvp.support.microsoft.com/" target=_blank mce_href="http://mvp.support.microsoft.com/"&gt;&lt;FONT face=Calibri&gt;Microsoft MVP Program&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; is a worldwide award and recognition program that strives to recognize amazing individuals in technical communities around the world – these are individuals who are thought leaders and community leaders in different technologies. In fact, many of you have probably heard of many of our RDS MVPS through their individual blogs or their responses on RDS newsgroups and &lt;/FONT&gt;&lt;A href="http://social.technet.microsoft.com/Forums/en-US/winserverTS/threads/" mce_href="http://social.technet.microsoft.com/Forums/en-US/winserverTS/threads/"&gt;&lt;FONT face=Calibri&gt;web forums&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;The Remote Desktop Services feature area has &lt;/FONT&gt;&lt;A href="https://mvp.support.microsoft.com/communities/mvp.aspx?product=1&amp;amp;competency=Terminal%20Server" mce_href="https://mvp.support.microsoft.com/communities/mvp.aspx?product=1&amp;amp;competency=Terminal%20Server"&gt;&lt;FONT face=Calibri&gt;26 MVPs from about 10 countries&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;. This year the RDS team was very happy to have many of the MVPs &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;join us on the Microsoft campus in Redmond for some deep discussions on the current state and future directions of Remote Desktop Services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;We want to thank the RDS MVPs who were able to attend the Summit this year, as well as the rest of our RDS MVPs for their commitment to the RDS community and toward helping Microsoft build a better product: &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Douglas A. Brown, Shawn Bass, Rich Crusco, Alexander Danilychev, Laurent&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Falguière, Steve Greenberg, Gustavo&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Gurmandi, Bisheng&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Hu, Dong Jo&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Kim, Thomas&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Koetzing, Brian Madden, Vera&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Noest, Seung Heun Noh, Ron&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Oglesby, Andre Oliveira, Eric&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Perromat, Gus&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Pinto, Jeff&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Pitsch, Claudio&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Rodrigues, Michel&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Roth, Patrick C. Rouse, Greg Shields, Joe Shonk, Bernhard Tritsch, Wilco Van Bragt, and Alex Yushchenko.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Here are some of the videos and blog posts from our MVPs covering their experience at the 2009 MVP Summit&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;A href="http://www.brianmadden.com/blogs/tv/archive/2009/03/05/brian-madden-tv-episode-4-microsoft-mvp-summit-amp-rdp-7-preview.aspx" mce_href="http://www.brianmadden.com/blogs/tv/archive/2009/03/05/brian-madden-tv-episode-4-microsoft-mvp-summit-amp-rdp-7-preview.aspx"&gt;&lt;FONT color=#0000ff face=Calibri&gt;Brian Maddens videos (including demos from the RDS Product Group) covering RDS and RDP7&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; . Check back here in this Thursday for some more demos from the RDS product group. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;A href="http://www.youtube.com/watch?v=NveMpT1Xmcs&amp;amp;fmt=18" mce_href="http://www.youtube.com/watch?v=NveMpT1Xmcs&amp;amp;fmt=18"&gt;&lt;FONT face=Calibri&gt;Steve Greenbergs video highlights of the MVP Summit 2009 and RDS&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;A href="http://www.theshonkproject.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=60&amp;amp;Itemid=1" mce_href="http://www.theshonkproject.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=60&amp;amp;Itemid=1"&gt;&lt;FONT face=Calibri&gt;Joe Shonks experience at the MVP Summit and RDS sessions&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;A href="http://www.realtime-windowsserver.com/virtualization/2009/03/vdi_my_godits_all_about_applic.htm" mce_href="http://www.realtime-windowsserver.com/virtualization/2009/03/vdi_my_godits_all_about_applic.htm"&gt;&lt;FONT face=Calibri&gt;Greg Shields experience at the MVP Summit and what he learnt about VDI&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;A href="http://blog.drtritsch.com/?p=32" mce_href="http://blog.drtritsch.com/?p=32"&gt;&lt;FONT face=Calibri&gt;Benny Tritschs thoughts on the RDS sessions at the MVP Summit&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;For those of you who already have access to the Win7 Beta, you can also learn out more about Win7/WS08 R2 and RDS/RDP using these resources:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=821fa300-edb0-4396-a443-64890cc0fcbd" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=821fa300-edb0-4396-a443-64890cc0fcbd"&gt;&lt;FONT face=Calibri&gt;What's New in Remote Desktop Services in Windows Server 2008 R2 Beta&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;FONT color=#0000ff face=Calibri&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2f5b9705-bc09-466e-882b-7227cbb39183" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2f5b9705-bc09-466e-882b-7227cbb39183"&gt;RemoteApp and Desktop Connection Step-by-Step Guide for WS08 R2 Beta&lt;/A&gt;&lt;/FONT&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;A href="http://connect.microsoft.com/tsappcompat" mce_href="http://connect.microsoft.com/tsappcompat"&gt;&lt;FONT color=#0000ff face=Calibri&gt;RDS Application Compatibility Analyzer&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9469864" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Ayesha+Mascarenhas/default.aspx">Author: Ayesha Mascarenhas</category><category domain="http://blogs.msdn.com/ts/archive/tags/RDP/default.aspx">RDP</category><category domain="http://blogs.msdn.com/ts/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/ts/archive/tags/WS08+R2/default.aspx">WS08 R2</category></item><item><title>Migrating a Windows Server 2003 TS License Server</title><link>http://blogs.msdn.com/ts/archive/2009/03/06/migrating-a-windows-server-2003-license-server.aspx</link><pubDate>Fri, 06 Mar 2009 19:38:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9463343</guid><dc:creator>termserv</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/ts/comments/9463343.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9463343</wfw:commentRss><description>&lt;p&gt;This article is designed to help those who want to migrate their Windows Server 2003 TS License Server from one machine to another. We recommend that you read through the instructions once before beginning the migration.&lt;/p&gt;  &lt;p&gt;License Server migration is an added feature in Windows Server 2008 R2. In Windows Server 2008 R2, when you right-click on the server name you will see the ‘Manage RDS CALs’ option. After selecting this, you will see the ‘Manage RDS CALs Wizard’ to guide you through the migration process. But to migrate Windows Server 2008 license server, you need to follow the same steps as mentioned in the post.&lt;/p&gt;  &lt;p&gt;The migration of your license server requires three stages. First, you must activate the new license server. Next, you need to deactivate the old server. Lastly, you need to move all the licenses from the old server to the new server. To do this, you will need to contact Microsoft Clearinghouse over the telephone. You should to be prepared with the paperwork for the original TS licenses, as this data needs to be provided to clearinghouse personnel. If the original paperwork is lost, then you need to contact your Microsoft TAM (Technical Account Manager) to obtain copies.&lt;/p&gt;  &lt;p&gt;To migrate your license server:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Step 1: Activate the new license server:&lt;/h3&gt;  &lt;ol&gt;   &lt;p&gt;&lt;/p&gt;    &lt;li&gt;Set up the VM guest as a Win2003 TS license server. &lt;/li&gt;    &lt;li&gt;Open the TS License Manager tool (licmgr.exe) &lt;/li&gt;    &lt;li&gt;Activate the server by right-clicking on the server name under the ‘&lt;b&gt;All servers&lt;/b&gt;’ node in the left pane and selecting ‘&lt;b&gt;Activate Server&lt;/b&gt;’. The Activate Server Wizard will open. &lt;/li&gt;    &lt;li&gt;Click &lt;b&gt;Next. &lt;/b&gt;Select ‘&lt;b&gt;Telephone&lt;/b&gt;’ as your connection method and click &lt;b&gt;Next&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;On the ‘&lt;b&gt;Country or Region Selection&lt;/b&gt;’ page, select your appropriate country and region. &lt;/li&gt;    &lt;li&gt;The next page will provide you with the License Server ID and the Microsoft Clearinghouse telephone number to call. Write them on a piece of paper but don’t make the call yet. You may want to keep the wizard open. &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Step 2: De-activate the old license server:&lt;/h3&gt;  &lt;ol&gt;   &lt;li&gt;Open the TS License Manager tool on your old license server. &lt;/li&gt;    &lt;li&gt;Change the connection method to telephone by right-clicking the server name under the ‘&lt;b&gt;All servers&lt;/b&gt;’ node in the left pane, selecting ‘&lt;b&gt;Properties,&lt;/b&gt;’ and setting the connection method to ‘&lt;b&gt;Telephone&lt;/b&gt;’.&lt;u&gt;&lt;/u&gt; &lt;/li&gt;    &lt;li&gt;Again right-click the server name under the ‘&lt;b&gt;All servers&lt;/b&gt;’ node in the left pane, select ‘&lt;b&gt;Advanced&lt;/b&gt;’ and then select ‘&lt;b&gt;Deactivate Server.&lt;/b&gt;’ The License Server Deactivation Wizard will open. Click ‘&lt;b&gt;Next&lt;/b&gt;’.&lt;u&gt;&lt;/u&gt; &lt;/li&gt;    &lt;li&gt;On the ‘&lt;b&gt;License Server Deactivation&lt;/b&gt;’ page, you will be provided with the same clearinghouse phone number and the License Server ID of your old server. Make a note of this License Server ID as you need to provide this to Microsoft Clearinghouse.&lt;u&gt;&lt;/u&gt; &lt;/li&gt;    &lt;li&gt;Call Microsoft Clearinghouse at the number you have noted and give them the product ID of the new license server which you want to activate and of the old license server which you want to deactivate. Once you have given them this information, Microsoft Clearinghouse will provide you with the confirmation code. Enter this code into the License Server Deactivation Wizard when prompted. &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Step 3: Move each of the license key packs one by one, from the older LS to the new one:&lt;/h3&gt;  &lt;ol&gt;   &lt;li&gt;On the same call with the clearinghouse, inform them that you also want to migrate the licenses. &lt;/li&gt;    &lt;li&gt;Open the License Install Wizard on the new license server. &lt;/li&gt;    &lt;li&gt;Provide the following information to the clearinghouse which they will use to generate the new License Key Pack ID:      &lt;ol type="a"&gt;       &lt;li&gt;The license server ID of the old license server &lt;/li&gt;        &lt;li&gt;Paper work for the original TS licenses &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;Enter the new license key pack ID in the Install License Wizard and complete the License Installation on the new license server. &lt;/li&gt;    &lt;li&gt;Repeat the same process for migration of all license key packs. &lt;/li&gt; &lt;/ol&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9463343" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/Licensing/default.aspx">Licensing</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Silvia+Doomra/default.aspx">Author: Silvia Doomra</category></item><item><title>Top 10 RDP Protocol Misconceptions – Part 1</title><link>http://blogs.msdn.com/ts/archive/2009/03/03/top-10-rdp-protocol-misconceptions-part-1.aspx</link><pubDate>Wed, 04 Mar 2009 01:36:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9457833</guid><dc:creator>termserv</dc:creator><slash:comments>16</slash:comments><comments>http://blogs.msdn.com/ts/comments/9457833.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9457833</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;  &lt;p&gt;My name is Nadim Abdo and I’m the development manager responsible for the Remote Desktop Protocol (RDP).&lt;/p&gt;  &lt;p&gt;Since we first shipped RDP in 1998 with Windows NT Terminal Services Edition we’ve gotten lot of very useful feedback on RDP (please keep it coming!). But we’ve also heard a lot of ‘interesting’ myths and misconceptions about RDP and its performance. So I thought why not try to bust some of those myths.&lt;/p&gt;  &lt;p&gt;This post will at times get technical for those inclined to those details but I’ll also try to share some useful tidbits that end-users can apply to get an even better RDP experience.&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Top 10 RDP Protocol Misconceptions (Part 1 of 2):&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;1) &lt;/b&gt;&lt;b&gt;&lt;u&gt;Myth: RDP is pretty slow because it has to scrape the screen and can only send giant bitmaps&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This is a common misconception. While many alternative protocols are principally screen scrapers, RDP uses sophisticated techniques to get much better performance than can be obtained with a simple screen scraping approach.&lt;/p&gt;  &lt;p&gt;To drill into this it helps to first talk a little about what screen scraping really means (i.e. what RDP does not do today) and why it can be slow:    &lt;br /&gt;In a screen scraping protocol the server side has to ‘poll’ screen contents frequently to see if anything has changed. Screen scraping polling involves frequent and costly memory ‘scrapes’ of screen content and then scanning through a lot of memory (a typical 1600x1200 by 32bpp screen is about 7MB of data) to see what parts may have changed. This burns up a lot of CPU cycles and leaves the protocol with few options but to send large resulting bitmaps down to the client.&lt;/p&gt;  &lt;p&gt;So what does RDP do different today and why is it faster?&lt;/p&gt;  &lt;p&gt;RDP uses presentation virtualization to enable a much better end-user experience, scalability and bandwidth utilization. RDP plugs into the Windows graphics system the same way a real display driver does, except that, instead of being a driver for a physical video card, RDP is a virtual display driver. Instead of sending drawing operations to a physical hardware GPU, RDP makes intelligent decisions about how to encode those commands into the RDP wire format. This can range from encoding bitmaps to, in many cases, encoding much smaller display commands such as “Draw line from point 1 to point 2” or “Render this text at this location.”&lt;/p&gt;  &lt;p&gt;To illustrate some of the benefits on CPU load, terminal servers today can scale to many hundreds of users. In some of our scalability tests we see that even with hundreds of users connecting to one server running knowledge worker apps (e.g. Word, Outlook, Excel) the total CPU load consumed by RDP to encode and transmit the graphics is only a few percent of the whole system CPU load! &lt;/p&gt;  &lt;p&gt;With this approach RDP avoids the costs of screen scraping and has a lot more flexibility in encoding the display as either bitmaps or a stream of commands to get the best possible performance.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;2) &lt;/b&gt;&lt;b&gt;&lt;u&gt;Myth: RDP uses a lot of bandwidth&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;In many common and important scenarios such as knowledge worker applications and line of business app centralization RDP’s bandwidth usage is very low (on the order of Kbps per user depending on the app and scenario). &lt;/p&gt;  &lt;p&gt;This is certainly much lower than many of the screen scraping approaches can hope to achieve (see point #1 above). More importantly it’s low enough that it provides a good experience for many users sharing the same network and datacenter infrastructure even when over a slow network.&lt;/p&gt;  &lt;p&gt;So why has there been a perception that RDP uses a lot of bandwidth? &lt;/p&gt;  &lt;p&gt;This is a good question and the answer probably lies in the fact that RDP does not use a constant amount of bandwidth; it actually tries to reduce bandwidth usage to 0 when nothing is changing on the screen. Bandwidth consumption only goes up in proportion to what is changing on screen. For instance, if you just run a line of business app with basic graphics and not much animation you may end up sending just a few &lt;i&gt;Kbps &lt;/i&gt;of bandwidth down the wire. Of course if you start running animation-heavy applications or graphics your bandwidth usage will go up to support that scenario.&lt;/p&gt;  &lt;p&gt;So let’s illustrate some sample bandwidth usages for RDP6.1 in common scenarios (data is from the &lt;a href="http://download.microsoft.com/download/4/d/9/4d9ae285-3431-4335-a86e-969e7a146d1b/RDP_Performance_WhitePaper.docx"&gt;RDP Performance Whitepaper&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/Top10RDPProtocolMisconceptionsPart1_F7A6/clip_image002_2.gif"&gt;&lt;img title="clip_image002" style="display: inline" height="408" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/Top10RDPProtocolMisconceptionsPart1_F7A6/clip_image002_thumb.gif" width="651" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Your mileage will vary depending on your application and network conditions, so it’s important to actually measure empirically for your scenario but the whitepaper gives useful general trends.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;3) &lt;/b&gt;&lt;b&gt;&lt;u&gt;Myth: I can’t get the same rich experience I get locally when working over RDP&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This is also a misconception. RDP provides a scalable remoting experience. By default it cuts down on rich effects in the desktop and application experience in order to preserve bandwidth and save on server load (e.g. CPU, memory). However, if you want the highest end user experience it is possible to turn on many rich effects and display enhancements such as:&lt;/p&gt;  &lt;p&gt;· ClearType&lt;/p&gt;  &lt;p&gt;· Wallpaper&lt;/p&gt;  &lt;p&gt;· The Aero theme with full glass and 3D effects (when connecting to Vista with RDP 6.1)&lt;/p&gt;  &lt;p&gt;· 32-bit per pixel color&lt;/p&gt;  &lt;p&gt;The key to enabling many of these effects is to run the Remote Desktop client, &lt;b&gt;click Options, &lt;/b&gt;and then click the &lt;b&gt;Experience &lt;/b&gt;tab. Here you can select and enable many high-end features. Note that in some cases your admin might have controlled access to these features with server-side group policies.&lt;/p&gt;  &lt;p&gt;In many cases you can get a great end user experience with good parity to the local case.&lt;/p&gt;  &lt;p&gt;We’re also constantly working to ‘close the gap’ between the local and remote experience and so we’re looking to improve the remote experience even more in future versions.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;4) &lt;/b&gt;&lt;b&gt;&lt;u&gt;Myth: RDP can’t be tuned to get better performance&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This is again a misconception. RDP has a set of defaults that tries to provide the best balance between bandwidth usage, the remote user experience, and server scalability. However, you can override many settings if you want to manually tune for a specific scenario and in some cases get very significant boosts in performance.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;TIP: &lt;/u&gt;&lt;/b&gt;One of my favorite such settings is the ability to set policy on the server to optimize RDP compression. This can give you a boost of as much as 60% bandwidth improvement over previous versions of RDP. The tradeoff here is that you’d be consuming more server resources (such as memory and possibly CPU) to achieve that bandwidth reduction.&lt;/p&gt;  &lt;p&gt;The GP to control this is : &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Administrative Templates\Windows Components\Terminal Services\Terminal Server\Remote Session Environment\“Set compression algorithm for RDP data”&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;There is more information on tuning the bulk compressor as well as other RDP-tunable parameters such as cache sizes in the &lt;a href="http://download.microsoft.com/download/4/d/9/4d9ae285-3431-4335-a86e-969e7a146d1b/RDP_Performance_WhitePaper.docx"&gt;RDP Performance Whitepaper&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;5) &lt;/b&gt;&lt;b&gt;&lt;u&gt;Myth: Using lower color depths -- e.g. 8bpp -- gives the best end user experience&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This is a common misconception and was historically true, but not anymore!&lt;/p&gt;  &lt;p&gt;The first version of RDP only supported 8bpp color. However, ever since Windows XP, RDP has supported up to 32bpp color. &lt;/p&gt;  &lt;p&gt;The reason for this is that more and more apps have come to expect 32bpp mode as the default. Even the Windows Aero experience requires it. &lt;/p&gt;  &lt;p&gt;Rather than deny this trend and create a difference between the local and remote experiences, we put a lot of effort into optimizing the 32bpp case to bring down its cost. This allows the user to have the flexibility to pick what is best for their scenario without necessarily having to incur a much bigger bandwidth cost.&lt;/p&gt;  &lt;p&gt;In general I’d recommend attempting to run your scenario at 32bpp and measuring the resulting bandwidth to see if it’s acceptable for your scenario. It will usually give the best visual experience and in several cases will consume only a small percentage more data than 16bpp.&lt;/p&gt;  &lt;p&gt;That’s it for part 1. I hope this list has been useful, come back soon for part II of the Top 10 RDP Misconceptions list.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9457833" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/RDP/default.aspx">RDP</category><category domain="http://blogs.msdn.com/ts/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Nadim+Abdo/default.aspx">Author: Nadim Abdo</category></item><item><title>More details about Calista Technologies</title><link>http://blogs.msdn.com/ts/archive/2009/02/10/more-details-about-calista-technologies.aspx</link><pubDate>Wed, 11 Feb 2009 01:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9411719</guid><dc:creator>termserv</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/ts/comments/9411719.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9411719</wfw:commentRss><description>&lt;P&gt;It has been a year since Microsoft acquired Calista Technologies, a pioneering virtualization technologies company that I co-founded. I thought that it would be timely to provide some more details about Calista’s technologies and how they differ from traditional Windows desktop remoting. &lt;/P&gt;
&lt;P&gt;The Calista acquisition has provided Microsoft with several independent, but interoperable and important technologies that significantly enhance the end user experience and will be incorporated into future versions of Microsoft’s Remote Desktop Protocol (RDP).&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Host side rendering and “smart capture”&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Before Calista, RDP remoted graphics primitives (the graphics drawing commands, such as “draw a line from screen location A to screen location B”) from the host, over the network, to the client. Those primitives where then rendered (drawn – converted from primitives to actual pixels on the screen), on the client device by the client’s software and hardware. Calista adds innovative and important host side rendering (with select primitive remoting – so as to optimize for certain client and network capabilities / bandwidth / application behavior / etc.) Thus, with Calista technology, rendering is done primarily on the host, and a “smart capture” mechanism is used to monitor which parts of the screen have changed and need to be forwarded to the client. This approach significantly increases the range of client device hardware/software combinations for which the full Windows desktop experience can be enabled. What more, this technology is especially well suited for ultra-lightweight thin clients (which have minimal hardware and software). Conceptually, while RDP before Calista was based on primitives remoting, Calista is based on “image” remoting.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Virtual GPU&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;For a given VDI host to be able to support many users and target the full range of possible client devices, each interacting with rich content, rendering needs to be performed by the GPU on the server. Current technologies do not allow a GPU to be shared (virtualized) by multiple VMs. Some approaches try to overcome this problem by using CPU rendering (which is less efficient, cannot handle rich 3D graphics, and uses CPU cycles that would otherwise be available to the application workload), or by using a GPU for every VM (very expensive and not scalable). Calista has pioneered the technology to share (virtualize) a single GPU between multiple VMs. This GPU virtualization technology has major implications for centralized computing scenarios like VDI and Terminal Services as well as other VM applications. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Compression&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Host side rendering has many advantages over primitive remoting – most importantly desktop like performance for the end user, especially when the client device has limited rendering capabilities. However, a potential trade-off is that host side rendering may require more bandwidth (which can limit network scalability). To overcome this problem Calista uses a number of techniques (rich media redirection, hints, select primitive remoting, advanced caching, etc.). &lt;/P&gt;
&lt;P&gt;Nevertheless, in many cases large bitmaps need to be sent across the network. For those cases, Calista developed an advanced compression scheme (CODEC) specifically designed to remote the Windows desktop (optimized for low latency, high-frequency data, etc.). While this CODEC can run on the CPU, large parts of it can also run on the GPU (providing better performance and utilizing the GPU’s untapped power). Furthermore, when even higher scalability is required on the server and for ultra-lightweight thin clients (without a powerful GPU/CPU), Calista has created a reference ASIC implementation of this CODEC so that hardware partners can develop solutions for such cases.&lt;/P&gt;
&lt;P&gt;In summary, the combination of Microsoft’s proven primitive-remoting approach with the innovations that the Calista acquisition adds in the areas of host-side rendering, provides Microsoft with a comprehensive set of technologies that enables the remoting of a media-rich Windows-desktop with excellent user experience in numerous customer scenarios with varying network, host, and client requirements.&lt;/P&gt;
&lt;P&gt;-- Asael Dror, Architect, Remote Desktop Virtualization, Microsoft. &lt;BR&gt;(Previously, Co-Founder and Chief Architect, Calista Technologies.)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9411719" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/Calista/default.aspx">Calista</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Asael+Dror/default.aspx">Author: Asael Dror</category></item><item><title>The Windows Server 2008 Terminal Services Resource Kit is now available!</title><link>http://blogs.msdn.com/ts/archive/2009/02/04/the-windows-server-2008-terminal-services-resource-kit-is-now-available.aspx</link><pubDate>Wed, 04 Feb 2009 19:28:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9396469</guid><dc:creator>termserv</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ts/comments/9396469.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9396469</wfw:commentRss><description>&lt;p&gt;Long before I joined the &lt;s&gt;Terminal Services&lt;/s&gt; Remote Desktop Virtualization Team at Microsoft, I was writing/talking/teaching about Terminal Services. I had to quit being an MVP when I joined Microsoft in August of 2007, but the writing bug does not leave you so easily. When Microsoft Press asked me last year if I was interested in authoring the &lt;i&gt;Windows Server 2008 Terminal Services Resource Kit&lt;/i&gt;, I couldn’t say no. (Thankfully, I had a great coauthor in mind: Kristin Griffin, whom you may have seen on &lt;a href="http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.windows.terminal_services&amp;amp;cat=en_us_fdf138d6-427a-48d6-84dc-a91a6c9fbb45&amp;amp;lang=en&amp;amp;cr=us"&gt;microsoft.public.windows.terminal_services&lt;/a&gt;. Even more thankfully, she agreed to do it.)&lt;/p&gt;  &lt;p&gt;While I sometimes doubted our sanity at having taken this on, it was a great experience. We had four main goals:&lt;/p&gt;  &lt;p&gt;· Show how to set up a low-complexity Terminal Services environment with only the tools in the box&lt;/p&gt;  &lt;p&gt;· Explain how the features of Terminal Services work, to help readers understand and troubleshoot the features&lt;/p&gt;  &lt;p&gt;· Provide hands-on insights from the Terminal Services team and subject matter experts in the field&lt;/p&gt;  &lt;p&gt;· Point readers to online resources for more information and free third-party tools&lt;/p&gt;  &lt;p&gt;I’ve been part of the Terminal Services community since 1996 and have been impressed many times at how helpful its members are. This is truly a group of people who love what they do and want to share and teach. The process of writing this book demonstrated this yet again. I can’t stress enough how great the team was about pitching in first-hand knowledge, and people in the field—both those at Microsoft and others—were eager to share their experience in how to successfully deploy Terminal Services.&lt;/p&gt;  &lt;p&gt;The bottom line is that the &lt;i&gt;Windows Server 2008 Terminal Services Resource Kit&lt;/i&gt; is available today. See &lt;a href="http://www.microsoft.com/MSPress/books/12716.aspx"&gt;http://www.microsoft.com/MSPress/books/12716.aspx&lt;/a&gt; for more details and ordering information. I’ve already started a TechNet blog for collecting updates at &lt;a href="http://blogs.technet.com/tsresourcekit/default.aspx"&gt;http://blogs.technet.com/tsresourcekit/default.aspx&lt;/a&gt;, so be sure to let me know what you’d like to see in the next edition and check in for more content. &lt;/p&gt;  &lt;p&gt;Want to see a sample chapter? Go to &lt;a href="ftp://ftp.bookpool.com/sc/59/0735625859.pdf"&gt;ftp://ftp.bookpool.com/sc/59/0735625859.pdf to see Chapter 4&lt;/a&gt;, on using profiles with Terminal Services.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9396469" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Christa+Anderson/default.aspx">Author: Christa Anderson</category><category domain="http://blogs.msdn.com/ts/archive/tags/Resource+Kit/default.aspx">Resource Kit</category></item><item><title>Managing Remote Desktop Services (aka Terminal Services) using Windows PowerShell</title><link>http://blogs.msdn.com/ts/archive/2009/01/28/managing-remote-desktop-services-aka-terminal-services-using-windows-powershell.aspx</link><pubDate>Wed, 28 Jan 2009 22:25:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9381913</guid><dc:creator>termserv</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ts/comments/9381913.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9381913</wfw:commentRss><description>&lt;p&gt;Hello everyone,&lt;/p&gt;  &lt;p&gt;We are pleased to announce that the Beta release of Windows Server 2008 R2 supports managing &lt;a href="http://blogs.msdn.com/ts/archive/2008/11/03/terminal-services-renamed-remote-desktop-services-at-teched-emea.aspx"&gt;Remote Desktop Services&lt;/a&gt; using &lt;a name="_Toc207704230"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/powershell"&gt;PowerShell&lt;/a&gt;. You can now configure and manage all RDS role services and components using PowerShell. For example, below are few management tasks that you can now do with PowerShell&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;View and edit configuration settings of Remote Desktop server &lt;/li&gt;    &lt;li&gt;Publish RemoteApp applications&lt;/li&gt;    &lt;li&gt;Configure License Server&lt;/li&gt;    &lt;li&gt;Create and configure a Remote Desktop server farm&lt;/li&gt;    &lt;li&gt;Configure and assign virtual IP addresses to either sessions or applications&lt;/li&gt;    &lt;li&gt;Create and manage RDV (VDI) pools&lt;/li&gt;    &lt;li&gt;Create and manage Gateway Resource Access &amp;amp; Client Access policies&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Of course there is a lot more that you can do with Windows PowerShell. Install the Beta release of Windows Server 2008 R2 and give this feature a try. As always, we are eager to hear what you think, and it is important that you let us know what you like and don’t like as early as possible.&lt;/p&gt;  &lt;p&gt;Read further to understand RDS PowerShell in detail.&lt;/p&gt;  &lt;h2&gt;Remote Desktop Services PowerShell&lt;/h2&gt;  &lt;p&gt;Once you install the Remote Desktop Services role, a PowerShell provider gets installed. This provider&lt;b&gt; &lt;/b&gt;(we’ll call it RDS Provider in the rest of this post) allows you to view and manage the configuration of all role services and components of Remote Desktop Services.&lt;/p&gt;  &lt;p&gt;Think of RDS Provider as something similar to the file system provider, registry provider or the &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;i=1664&amp;amp;g=6"&gt;IIS Provider&lt;/a&gt;. You view, navigate and work with RDS Provider as you would with any of the other providers. &lt;/p&gt;  &lt;h2&gt;Working with RDS PowerShell&lt;/h2&gt;  &lt;p&gt;To get started, first install the Remote Desktop Services role and then launch RDS PowerShell. &lt;/p&gt;  &lt;p&gt;Step 1: Install Remote Desktop Services role&lt;/p&gt;  &lt;p&gt;RDS PowerShell is installed when you install the Remote Desktop Services role. You can install the Remote Desktop Services role using Server Manager.&lt;/p&gt;  &lt;p&gt;Step 2: Launch RDS PowerShell&lt;/p&gt;  &lt;p&gt;Right click on Start Menu -&amp;gt; All Programs -&amp;gt; Administrative Tools -&amp;gt; Remote Desktop Services -&amp;gt; ‘Remote Desktop Services PowerShell’ and select ‘Run as Administrator’.&lt;/p&gt;  &lt;p&gt;Once you click on this link, you’ll see a PowerShell window with the prompt set to RDS drive. There it is – the RDS provider for you. &lt;/p&gt;  &lt;p&gt;You’ll notice that once you issue the dir command, you see a view that has the following six columns. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Name&lt;/b&gt;: Name of the Container/Setting&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Type&lt;/b&gt;: Type of Item. There are three possible values for Type – Container (Node), Integer, or String. Container (Node) denotes a Container Item, and Integer and String denote Settings. You can only CD (change directories) to container items. Containers represent a setting group or a logical entity, whereas Settings represent configuration settings. For example, roles such as RDS and Connection Broker, and entities such as Connection Objects and RemoteApps are represented as Containers, while server drain mode is represented as a setting&lt;/p&gt;    &lt;p&gt;&lt;b&gt;CurrentValue&lt;/b&gt;: Value set to the Item (applicable only to Items of ‘Integer’ or ‘String’ Type)&lt;/p&gt;    &lt;p&gt;&lt;b&gt;GP&lt;/b&gt;: Indicates whether an Item is controlled by Group Policy or not &lt;/p&gt;    &lt;p&gt;&lt;b&gt;PermissibleValues&lt;/b&gt;: Possible values that a Setting Item can have&lt;/p&gt;    &lt;p&gt;&lt;b&gt;PermissibleOperations&lt;/b&gt;: Operations (cmdlets) that can be performed on the Item&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Users can select which columns are displayed by using the Format-table cmdlet. For example &lt;strong&gt;&lt;font color="#000000"&gt;Get-Item * | format-table -Property Name, CurrentValue&lt;/font&gt;&lt;/strong&gt; displays only Name and CurrentValue columns. Alternatively you can use dir * | ft -Property N*,C* to achieve the same result.&lt;/p&gt;  &lt;p&gt;You can also customize the default view. More on this in a later post.&lt;/p&gt;  &lt;h3&gt;How to get help?&lt;/h3&gt;  &lt;p&gt;One of the salient features of PowerShell is that it makes it easy to get information and help on a particular aspect. That advantage is retained in RDS Provider as well. There is a property called Description associated with every Item which succinctly describes what a particular setting does. &lt;/p&gt;  &lt;p&gt;For example &lt;strong&gt;PS RDS:\RDSConfiguration&amp;gt; get-item .\DrainMode| fl&lt;/strong&gt; displays information about the DrainMode item. You can also change the default view to always display the Description column.&lt;a name="_Toc207704243"&gt; &lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now, let’s look at few examples. &lt;/p&gt;  &lt;h3&gt;Example 1: Set RDP encryption level&lt;/h3&gt;  &lt;p&gt;Step 1: View current encryption level&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;PS RDS:\RDSConfiguration\Connections\RDP-Tcp\SecuritySettings&amp;gt; dir .\EncryptionLevel | fl&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Step 2: Set value of EncryptionLevel item to desired value&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;PS RDS:\RDSConfiguration\Connections\RDP-Tcp\SecuritySettings&amp;gt; Set-Item .\EncryptionLevel 2&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Example 2: Specify License servers that a Remote Desktop server will use&lt;/h3&gt;  &lt;p&gt;Step 1: View the current list of License Servers in use &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;PS RDS:\RDSConfiguration\LicensingSettings\SpecifiedLicenseServers&amp;gt; dir&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Step2: View the list of license servers registered with the domain controller.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;PS RDS:\RDSConfiguration\LicensingSettings\RegisteredLicenseServers&amp;gt; dir&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Step 3: Add a License server to SpecifiedLicenseServers list &lt;/p&gt;  &lt;p&gt;The simplest way to add a license server is to use new-item and specify the name of the license server that you want to add. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;PS RDS:\RDSConfiguration\LicensingSettings\SpecifiedLicenseServers&amp;gt; New-Item -name ls.contoso.com&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You can use the below command to add all license servers from the registered license server list to specified license server list. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;PS RDS:\RDSConfiguration\LicensingSettings\SpecifiedLicenseServers&amp;gt; dir ..\RegisteredLicenseServers | new-item –force&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Example 3: Join a Remote Desktop server to a Session Broker farm&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;PS RDS:\RDSConfiguration\ConnectionBrokerSettings&amp;gt; Set-Item MemberOfFarm 1 -FarmName testFarm -sessionbroker contoso-sb-test -CurrentRedirectableAddresses 65.52.65.53&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Example 4: Add a RemoteApp&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;PS RDS:\RemoteApps\PublishedApplications&amp;gt; new-item -Name &amp;quot;IExplore&amp;quot; -ApplicationPath &amp;quot;c:\Program Files\Internet Explorer\iexplore.exe&amp;quot; -ApplicationName &amp;quot;Internet Explorer&amp;quot; -ShowInPortal 1&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;These are just few examples that demonstrate the various possibilities. Almost all configuration tasks related to RD server configuration, RemoteApp, Gateway, License server, and RDV can now be performed using the RDS provider. &lt;/p&gt;  &lt;p&gt;Also, the true potential of RDS Provider is realized when writing a script to:&lt;/p&gt;  &lt;p&gt;1. Chain multiple configuration activities together &lt;/p&gt;  &lt;p&gt;2. Perform configuration on multiple servers&lt;/p&gt;  &lt;p&gt;One scenario that best demonstrates the above is the creation of RD server farms. The script shown as a example at the end of this post takes a list of servers and applications as input and creates an RD server farm and creates RemoteApp on all of the servers. Create two text files, one with a list of servers and another with a list of app paths (you can use paths with shell variables such as %windir%) and pass the names of these files as input to this script.&lt;/p&gt;  &lt;p&gt;Since this script makes use of PowerShell remoting, before you execute the script make sure you have enabled PowerShell remoting (run Enable-PSRemoting from an elevated PowerShell window to enable remoting.).&lt;/p&gt;  &lt;p&gt;Of course this is a very rudimentary script – you can augment it easily with advanced and specific functionality to suit your needs. Also, in our opinion, one of the important advantages of RDS Provider is that you don’t need to be a programmer to be able write such scripts as CreateRDFarm. All you need to know is basic PowerShell scripting. &lt;/p&gt;  &lt;p&gt;I hope you are as excited as we are about the possibilities that this opens up. Do let us know what you think. Also, keep watching this space for more scripts that you can put to use. &lt;/p&gt;  &lt;h2&gt;Appendix: Sample script&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;#Windows PowerShell script to create a RD Server farm.&lt;/p&gt;    &lt;p&gt;if ($args[0] -eq $null -or $args[1] -eq $null -or $args[2] -eq $null ){&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Write-Host&lt;/b&gt; &amp;quot;Insuffecient parameters.`nUsage: CreateRDFarm.ps1 SessionBroker Farmname &amp;lt;File containing list of RDS servers&amp;gt; &amp;lt;File containing Applications to publish&amp;gt;&amp;quot;&lt;/p&gt;    &lt;p&gt;exit&lt;/p&gt;    &lt;p&gt;}else{&lt;/p&gt;    &lt;p&gt;$sb = $args[0]&lt;/p&gt;    &lt;p&gt;$farmname = $args[1]&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;$rdsarr = &lt;b&gt;get-content&lt;/b&gt; $args[2]&lt;/p&gt;    &lt;p&gt;if ($rdsarr -eq $null){&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Write-Host&lt;/b&gt; &amp;quot;$args[2] cannot be read or is empty.`nUsage: CreateRDFarm.ps1 SessionBroker Farmname &amp;lt;File containing TS servers&amp;gt; &amp;lt;File containing Applications to publish&amp;gt;&amp;quot;&lt;/p&gt;    &lt;p&gt;exit&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;if ($args[3] -eq $null){&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Write-Host&lt;/b&gt; &amp;quot;No file containing Apps Servers specifed. TS Remote Apps will not be published.`nUsage: CreateFarm.ps1 SessionBroker Farmname &amp;lt;File containing TS servers&amp;gt; &amp;lt;txt file containing Applications to publish&amp;gt;.`n Farm creation will continue&amp;quot; &lt;i&gt;-ForegroundColor&lt;/i&gt; yellow&lt;/p&gt;    &lt;p&gt;}else{&lt;/p&gt;    &lt;p&gt;$apparr = &lt;b&gt;get-content&lt;/b&gt; $args[3]&lt;/p&gt;    &lt;p&gt;if ($apparr -eq $null){&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Write-Host&lt;/b&gt; &amp;quot;$args[3] cannot be read or is empty.`nUsage: CreateRDFarm.ps1 SessionBroker Farmname &amp;lt;File containing TS servers&amp;gt; &amp;lt;File containing Applications to publish&amp;gt;&amp;quot;&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;# Check whether session broker service is running on the remote machine&lt;/p&gt;    &lt;p&gt;$sbservice = &lt;b&gt;Get-Service&lt;/b&gt; &lt;i&gt;-ComputerName&lt;/i&gt; $sb &lt;i&gt;-Name&lt;/i&gt; Tssdis&lt;/p&gt;    &lt;p&gt;if( $sbservice.status -ne &amp;quot;Running&amp;quot;){&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Write-host&lt;/b&gt; &amp;quot;Session Broker service is not running on $sb. Exiting farm creation&amp;quot;&lt;/p&gt;    &lt;p&gt;exit&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;if ($rdsarr[0] -eq $null){&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Write-Host&lt;/b&gt; &amp;quot;No TS Server specified. Atleast one TS Server need to be specified.`nUsage: CreateFarm.ps1 SessionBroker Farmname TS1 TS2 ...&amp;quot;&lt;/p&gt;    &lt;p&gt;exit&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;#create a run space to run remote commands on the Session Broker server&lt;/p&gt;    &lt;p&gt;$sb_remotesession = &lt;b&gt;New-PSSession&lt;/b&gt; &lt;i&gt;-ComputerName&lt;/i&gt; $sb&lt;/p&gt;    &lt;p&gt;foreach ($rds in $rdsarr){&lt;/p&gt;    &lt;p&gt;#add ts server to Session Broker Computers group on SB server&lt;/p&gt;    &lt;p&gt;$tst = $rds+&amp;quot;$&amp;quot;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;invoke-command&lt;/b&gt; $sb_remotesession &lt;i&gt;-ScriptBlock&lt;/i&gt; {&lt;/p&gt;    &lt;p&gt;net localgroup 'Session Broker Computers' /add $args[0] 2&amp;gt;$null;&lt;b&gt;`&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;} &lt;i&gt;-ArgumentList&lt;/i&gt; $tst&lt;/p&gt;    &lt;p&gt;#join each ts server to sb farm. &lt;/p&gt;    &lt;p&gt;&lt;b&gt;Write-Host&lt;/b&gt; &amp;quot;Joining RD server $rds to $farmname farm&amp;quot; &lt;i&gt;-ForegroundColor&lt;/i&gt; magenta&lt;/p&gt;    &lt;p&gt;$rds_remotesession = &lt;b&gt;New-PSSession&lt;/b&gt; &lt;i&gt;-ComputerName&lt;/i&gt; $rds&lt;/p&gt;    &lt;p&gt;&lt;b&gt;invoke-command&lt;/b&gt; $rds_remotesession &lt;i&gt;-ScriptBlock&lt;/i&gt; { &lt;b&gt;`&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;import-module&lt;/b&gt; RemoteDesktopServices ;&lt;b&gt;`&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;$cipaddr = &lt;b&gt;dir&lt;/b&gt; RDS:\RDSConfiguration\ConnectionBrokerSettings\RedirectableAddresses ;&lt;b&gt;`&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Set-Item&lt;/b&gt; RDS:\RDSConfiguration\ConnectionBrokerSettings\MemberOfFarm 1 -FarmName $args[0] -sessionbroker $args[1] -IPAddressRedirection 0 -CurrentRedirectableAddresses $cipaddr[0].Name ;&lt;b&gt;`&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;}&lt;b&gt;`&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;-ArgumentList&lt;/i&gt; $farmname,$sb&lt;/p&gt;    &lt;p&gt;#create ts remote apps&lt;/p&gt;    &lt;p&gt;if ($args[3] -ne $null){&lt;/p&gt;    &lt;p&gt;foreach ($app in $apparr){&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Write-Host&lt;/b&gt; Publishing $app on $rds &lt;i&gt;-ForegroundColor&lt;/i&gt; magenta&lt;/p&gt;    &lt;p&gt;$ind = $app.LastIndexof(&amp;quot;\&amp;quot;)&lt;/p&gt;    &lt;p&gt;$alias = $app.SubString($ind+1,$app.LastIndexOf(&amp;quot;.&amp;quot;)-$ind-1)&lt;/p&gt;    &lt;p&gt;&lt;b&gt;invoke-command&lt;/b&gt; $rds_remotesession &lt;i&gt;-ScriptBlock&lt;/i&gt; { &lt;b&gt;`&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;new-item&lt;/b&gt; &lt;i&gt;-Path&lt;/i&gt; RDS:\RemoteApps\PublishedApplications &lt;i&gt;-Name&lt;/i&gt; $args[0] -ApplicationPath $args[1]&lt;b&gt;`&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;}&lt;b&gt;`&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;-ArgumentList&lt;/i&gt; $alias,$app&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;#close the remote session&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Remove-PSSession&lt;/b&gt; $rds_remotesession&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;#close the sb runspace&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Remove-PSSession&lt;/b&gt; $sb_remotesession&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9381913" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Shanmugam+Kulandaivel/default.aspx">Author: Shanmugam Kulandaivel</category><category domain="http://blogs.msdn.com/ts/archive/tags/PowerShell/default.aspx">PowerShell</category></item><item><title>Application Compatibility - Survey on TS Application Analyzer</title><link>http://blogs.msdn.com/ts/archive/2009/01/09/application-compatibility-survey-on-ts-application-analyzer.aspx</link><pubDate>Fri, 09 Jan 2009 17:26:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9302242</guid><dc:creator>termserv</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ts/comments/9302242.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9302242</wfw:commentRss><description>&lt;p&gt;As part of the development of tools to help IT Administrators find compatibility issues with applications and relevant workarounds on Terminal Services (now Remote Desktop Services), the TS App Analyzer was released in 2008 as a beta effort. To further improve the usability and effectiveness of the tool, we are doing a survey to gather input from the community.&lt;/p&gt;  &lt;p&gt;The survey is presently hosted at the &lt;a href="http://connect.microsoft.com/tsappcompat"&gt;TS App Compat Connect website&lt;/a&gt; and can be accessed &lt;a href="https://connect.microsoft.com/tsappcompat/Survey/Survey.aspx?SurveyID=7739"&gt;here&lt;/a&gt;. Please participate and provide your input to help us make more useful tools for detecting and fixing compatibility issues on Remote Desktop Services.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9302242" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/Application+Compatibility/default.aspx">Application Compatibility</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Anubhav+Kushwaha/default.aspx">Author: Anubhav Kushwaha</category></item><item><title>Why you should sign RDP files and how to script the signing</title><link>http://blogs.msdn.com/ts/archive/2009/01/05/why-you-should-sign-rdp-files-and-how-to-script-the-signing.aspx</link><pubDate>Mon, 05 Jan 2009 18:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9237143</guid><dc:creator>termserv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/ts/comments/9237143.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9237143</wfw:commentRss><description>&lt;P&gt;RDP file signing is all about security.&amp;nbsp; When you sign RDP files with trusted certificates, your clients can verify that important settings such as which server to connect to haven’t changed since the creation of the RDP file. This helps protect both the user and the server from potential attacks.&amp;nbsp; As an added benefit, because the identity of the publisher can be determined, the client doesn’t need to display warning dialogs stating that the RDP file might not be safe. &lt;/P&gt;
&lt;P&gt;So how do you get all this goodness for your users?&lt;/P&gt;
&lt;P&gt;You can create signed RDP files using the RemoteApp manager tool, but if you’re looking for a scripted approach this isn’t practical.&amp;nbsp; Luckily, there’s a tool that helps sign RDP files in a script called rdpsign.exe.&amp;nbsp; Unfortunately, it shipped without the ability to write out the Unicode header, but this is easily fixed with vbscript and has been fixed in the next release of Windows.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;So how do you sign using rdpsign?&amp;nbsp; &lt;/P&gt;
&lt;P&gt;First, create or import the certificate that you are going to be using.&amp;nbsp; You can find more information on how to set up the certificates here:&amp;nbsp; &lt;A href="http://technet.microsoft.com/en-us/library/cc754499.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc754499.aspx"&gt;http://technet.microsoft.com/en-us/library/cc754499.aspx&lt;/A&gt;.&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Second, get the thumbprint by looking at the certificates, clicking the Details tab, and then scrolling to the bottom. Keep in mind that the command line tool assumes there are no spaces in the thumbprint.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Third, sign the file with rdpsign.exe.&amp;nbsp;&amp;nbsp; You can find more information on the command line use of the tool here: &lt;A href="http://technet.microsoft.com/en-us/library/cc753982.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc753982.aspx"&gt;http://technet.microsoft.com/en-us/library/cc753982.aspx&lt;/A&gt;.&amp;nbsp; This will sign the rdp file, but when you double-click it, the mstsc dialog box will open with incorrect settings. This is because mstsc is trying to read the file as ASCII and it is encoded in Unicode.&amp;nbsp; This bug has been fixed in the next release of Windows 7.&lt;/P&gt;
&lt;P&gt;Finally, to fix this encoding issue, you can save the vb-script below and run the script on the file (for example: “fixsignRdp.vbs mySignedFile.rdp”).&amp;nbsp; This script reads the file in as Unicode and writes it back out with the Unicode Byte-Order Mark.&amp;nbsp; Then the RDP file will be signed and ready for anyone to use. &lt;/P&gt;
&lt;P&gt;Cheers, &lt;BR&gt;Kevin London&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;fixsignRdp.vbs&lt;/STRONG&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;' This script will read in the file as Unicode 
' and then write the file back out as Unicode. 
' The issue is that the file is missing the Unicode header 
' and forcing the re-write adds this to the file. 

Dim argCount:argCount = Wscript.Arguments.Count

If (argCount &amp;lt; 1) Then
                Wscript.Echo "Usage: fixRdpSignature &lt;RDPPATH&gt;"
                Wscript.Quit 1
End If

path = Wscript.Arguments(0)

Dim fso,rdpFile

Set fso = CreateObject("Scripting.FileSystemObject")
Set rdpFile = fso.OpenTextFile(path,1, 0, -1)
rdpContents = rdpFile.ReadAll()
rdpFile.Close

Set rdpFile = fso.OpenTextFile(path, 2, 0, -1)
rdpFile.Write rdpContents
rdpFile.Close
&lt;/PRE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9237143" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/RemoteApp/default.aspx">RemoteApp</category><category domain="http://blogs.msdn.com/ts/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/ts/archive/tags/Certificates/default.aspx">Certificates</category><category domain="http://blogs.msdn.com/ts/archive/tags/RDPSigning/default.aspx">RDPSigning</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Kevin+London/default.aspx">Author: Kevin London</category></item><item><title>TS Gateway Certificates Part III: Connection Time Issues related to TS Gateway Certificates</title><link>http://blogs.msdn.com/ts/archive/2008/12/18/ts-gateway-certificates-part-iii-connection-time-issues-related-to-ts-gateway-certificates.aspx</link><pubDate>Thu, 18 Dec 2008 19:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9237070</guid><dc:creator>termserv</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ts/comments/9237070.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9237070</wfw:commentRss><description>&lt;P&gt;&lt;EM&gt;This is the third and final part of our recent series on configuring certificates on TS Gateway. See also &lt;A href="http://blogs.msdn.com/ts/archive/2008/12/04/introduction-to-ts-gateway-certificates.aspx" mce_href="http://blogs.msdn.com/ts/archive/2008/12/04/introduction-to-ts-gateway-certificates.aspx"&gt;Part I&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/ts/archive/2008/12/18/ts-gateway-certificates-part-ii-how-to-deploy-a-certificate-on-ts-gateway.aspx" mce_href="http://blogs.msdn.com/ts/archive/2008/12/18/ts-gateway-certificates-part-ii-how-to-deploy-a-certificate-on-ts-gateway.aspx"&gt;Part II&lt;/A&gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;Background&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;TS clients authenticate TS Gateway server using server security certificates (X.509 format). TS Gateway passes the server security certificate to the clients during the SSL handshake process. During the SSL handshake process, the clients might drop connections because the certificate authority is untrusted or the TS Gateway server was unable to produce a valid certificate. In either case, the user will be unable to launch a remote connection using the TS Gateway. The following illustration summarizes certificate-related issues that can occur during connection establishment: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image002_thumb.jpg" width=565 height=429 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This blog identifies certificate-related connection issues that affect the user’s ability to establish a remote TS connection using the TS Gateway server, and actions that can be taken by end users and administrators to resolve these issues. For information on why TS Gateway needs a certificate and which is the recommended certificate to use on TS Gateway, see &lt;EM&gt;&lt;A href="http://blogs.msdn.com/ts/archive/2008/12/04/introduction-to-ts-gateway-certificates.aspx" mce_href="http://blogs.msdn.com/ts/archive/2008/12/04/introduction-to-ts-gateway-certificates.aspx"&gt;Part I: Introduction to TS Gateway Certificates&lt;/A&gt;&lt;/EM&gt; . And for information on how to deploy a certificate on TS Gateway, see &lt;EM&gt;&lt;A href="http://blogs.msdn.com/ts/archive/2008/12/18/ts-gateway-certificates-part-ii-how-to-deploy-a-certificate-on-ts-gateway.aspx" mce_href="http://blogs.msdn.com/ts/archive/2008/12/18/ts-gateway-certificates-part-ii-how-to-deploy-a-certificate-on-ts-gateway.aspx"&gt;Part II: How to deploy a certificate on TS Gateway&lt;/A&gt;&lt;/EM&gt;.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;Certificate authority not trusted &lt;/U&gt;&lt;/B&gt;&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Error message&lt;/B&gt; - “This computer can’t connect to the remote computer because the certificate authority that generated the Terminal Services Gateway server’s certificate is not valid. Contact your network administrator for assistance. “&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image004 border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image004_thumb.jpg" width=628 height=124 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Brief description&lt;/B&gt; - The TS Gateway certificate authority is not trusted by the client. This issue can most likely arise if the administrator has provisioned the TS Gateway with a self-signed certificate or private certificate authority.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Resolution (user-specific) - &lt;/B&gt;Import the TS Gateway certificate to the client machine and install it in the user trusted store. &lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;To install the certificate in the user trusted store: &lt;/P&gt;
&lt;P&gt;1. Download the TS Gateway certificate on the client machine.&lt;/P&gt;
&lt;P&gt;2. Click &lt;B&gt;Start&lt;/B&gt;, click &lt;B&gt;Run&lt;/B&gt;, type “mmc.exe” (without the quotation marks), and then click &lt;B&gt;OK&lt;/B&gt;. &lt;/P&gt;
&lt;P&gt;3. Click &lt;B&gt;File&lt;/B&gt;, and then click &lt;B&gt;Add/Remove Snap-In&lt;/B&gt;,&lt;/P&gt;
&lt;P&gt;4. Click the &lt;B&gt;Certificates&lt;/B&gt; snap-in, and then click &lt;B&gt;Add&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;5. Click &lt;B&gt;User account&lt;/B&gt;, and then click &lt;B&gt;Next&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;6. Click &lt;B&gt;Local computer&lt;/B&gt;, and then click &lt;B&gt;Finish&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;7. Expand &lt;B&gt;Certificates (Local Computer)&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;8. Right-click &lt;B&gt;Trusted Root Certification Authorities&lt;/B&gt;, click &lt;B&gt;All Tasks&lt;/B&gt;, and then click &lt;B&gt;Import&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;9. Use the Certificate Import Wizard to import the certificate to the user trusted store.&lt;/P&gt;
&lt;P&gt;After completing the above actions, try reconnecting using TS Gateway.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;Certificate identity mismatch &lt;/U&gt;&lt;/B&gt;&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Error message&lt;/B&gt; – “This computer can’t connect to the remote computer because the Terminal Services Gateway server address requested and the certificate subject name do not match. Contact your network administrator for assistance.”&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image006 border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image006_thumb.jpg" width=628 height=126 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Brief description&lt;/B&gt; - The security certificate name presented by the TS Gateway server does not match the TS Gateway name. This can happen either because you used the TS Gateway NetBIOS name to connect or the administrator has incorrectly configured the TS Gateway certificate name with an internal FQDN name. You can verify the discrepancy by reviewing the server certificates as shown here: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image008_2.gif" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image008_2.gif"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image008 border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image008_thumb.gif" width=624 height=446 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image008_thumb.gif"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;For SAN certificates: &lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image010_2.gif" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image010_2.gif"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image010 border=0 alt=clip_image010 src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image010_thumb.gif" width=624 height=448 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image010_thumb.gif"&gt;&lt;/A&gt;&lt;/B&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Resolution&lt;/B&gt; -&lt;/P&gt;
&lt;P&gt;1) &lt;B&gt;User&lt;/B&gt; &lt;B&gt;action &lt;/B&gt;- Try reconnecting using the full FQDN of the TS Gateway server&lt;/P&gt;
&lt;P&gt;2) &lt;B&gt;Administrators action&lt;/B&gt; - If you are an administrator, verify that the TS Gateway certificate name matches the external FQDN of the TS Gateway server&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;Invalid TS Gateway certificate - &lt;/U&gt;&lt;/B&gt;&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Error message&lt;/B&gt; – “This computer can’t connect to the remote computer because the Terminal Services Gateway server’s certificate is expired or revoked. Contact your network administrator for assistance.”&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image012_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image012_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image012 border=0 alt=clip_image012 src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image012_thumb.jpg" width=571 height=137 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image012_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Brief description&lt;/B&gt; – The TS Gateway server certificate’s validity period has expired. For instance, self-signed certificates have a validity period of 6 months. You will see the following screenshot on the TS Gateway server manager snap-in (Administrator only): &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image013_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image013_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image013 border=0 alt=clip_image013 src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image013_thumb.jpg" width=499 height=568 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image013_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Resolution&lt;/B&gt; (&lt;B&gt;administrator action)&lt;/B&gt; - Create and assign a TS Gateway certificate. Refer to the –“Obtain a certificate for the TS Gateway server” section at the&lt;B&gt; &lt;/B&gt;following URL: &lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://technet.microsoft.com/en-us/library/cc754252.aspx#BKMK_ObtainCertTSGateway" mce_href="http://technet.microsoft.com/en-us/library/cc754252.aspx#BKMK_ObtainCertTSGateway"&gt;http://technet.microsoft.com/en-us/library/cc754252.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;No TS Gateway certificates received&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Error message&lt;/B&gt; – “This computer can’t connect to the remote computer because no certificate was configured to use at the Terminal Services Gateway server. Contact your network administrator for assistance.”&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image015_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image015_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image015 border=0 alt=clip_image015 src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image015_thumb.jpg" width=572 height=154 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image015_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Brief Description&lt;/B&gt; – The TS Gateway server certificate was either overwritten or was never configured on the TS Gateway. You will see the following screenshot on the TS Gateway manager snap-in: &lt;/P&gt;
&lt;P&gt;The following screenshot represents the scenario in which no TS Gateway certificate exists for selection (Administrator action): &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image017_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image017_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image017 border=0 alt=clip_image017 src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image017_thumb.jpg" width=498 height=568 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image017_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;BR&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The following screenshot represents the scenario in which a valid TS Gateway certificate exists for selection (Administrator only): &lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image019_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image019_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image019 border=0 alt=clip_image019 src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image019_thumb.jpg" width=499 height=566 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIIConnectionTi_A37D/clip_image019_thumb.jpg"&gt;&lt;/A&gt;&lt;/B&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Resolution&lt;/B&gt; (&lt;B&gt;administrator&lt;/B&gt; &lt;B&gt;action&lt;/B&gt;) – Create a certificate and export it to the certificate Personal store of Local Computer. Install the certificate on the TS Gateway. Refer to the –“To map a certificate to the local TS Gateway server” section at the following URL: &lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://technet.microsoft.com/en-us/library/cc754252.aspx#BKMK_ObtainCertTSGateway" mce_href="http://technet.microsoft.com/en-us/library/cc754252.aspx#BKMK_ObtainCertTSGateway"&gt;http://technet.microsoft.com/en-us/library/cc754252.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Note: If you continue facing issues while trying to bind the TS Gateway certificate – refer to the following KB:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.microsoft.com/kb/959120/" mce_href="http://support.microsoft.com/kb/959120/"&gt;http://support.microsoft.com/kb/959120/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9237070" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/TS+Gateway/default.aspx">TS Gateway</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Archan+Das/default.aspx">Author: Archan Das</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Vikash+Bucha/default.aspx">Author: Vikash Bucha</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Gopikrishna+Kannan/default.aspx">Author: Gopikrishna Kannan</category></item><item><title>TS Gateway Certificates Part II: How to deploy a certificate on TS Gateway</title><link>http://blogs.msdn.com/ts/archive/2008/12/18/ts-gateway-certificates-part-ii-how-to-deploy-a-certificate-on-ts-gateway.aspx</link><pubDate>Thu, 18 Dec 2008 19:16:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9236909</guid><dc:creator>termserv</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ts/comments/9236909.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9236909</wfw:commentRss><description>&lt;p&gt;&lt;em&gt;For information on why TS Gateway needs a certificate and which is the recommended certificate to use on TS Gateway, see the &lt;/em&gt;&lt;a href="http://blogs.msdn.com/ts/archive/2008/12/04/introduction-to-ts-gateway-certificates.aspx"&gt;&lt;em&gt;first post in this series&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;To deploy a certificate on TS Gateway server, you must have the server certificate (and private key) contained in a file. You must also have access to the Certificates snap-in and have it set to view computer certificates from the local computer (though this can be done remotely).&lt;/p&gt;  &lt;p&gt;This blog will take you through the following steps. Please note that the screenshots in this blog are applicable to Windows Server 2008 only.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Viewing the certificate store on the local computer &lt;/li&gt;    &lt;li&gt;Installing the certificate in the personal certificate store of the local computer &lt;/li&gt;    &lt;li&gt;Installing the certificate on TS Gateway &lt;/li&gt;    &lt;li&gt;A common issue when deploying a certificate on TS Gateway &lt;/li&gt;    &lt;li&gt;How to trust the TS Gateway certificate on the clients &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Viewing the certificate store on the local computer&lt;/h3&gt;  &lt;p&gt;To view the Certificates store on the local computer, follow these steps: &lt;/p&gt;  &lt;p&gt;1. Click &lt;b&gt;Start&lt;/b&gt;, and then click &lt;b&gt;Run&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;2. Type &amp;quot;MMC.EXE&amp;quot; (without the quotation marks), and then click &lt;b&gt;OK&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image002_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image002_thumb.jpg" width="407" height="203" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3. Click &lt;b&gt;File menu item &lt;/b&gt;in the new MMC you created, and then click &lt;b&gt;Add/Remove Snap-in&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image004_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image004_thumb.jpg" width="675" height="509" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4. Click the &lt;b&gt;Certificates &lt;/b&gt;snap-in, and then click &lt;b&gt;Add&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image006_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image006_thumb.jpg" width="682" height="474" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. Choose the &lt;b&gt;Computer account &lt;/b&gt;option and click &lt;b&gt;Next&lt;/b&gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image008_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image008_thumb.jpg" width="529" height="385" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;6. Select &lt;b&gt;Local Computer&lt;/b&gt; on the next screen, and then click &lt;b&gt;Finish&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image010_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image010_thumb.jpg" width="529" height="385" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;7. Click &lt;b&gt;OK&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;8. You have now added the Certificates snap-in, which will allow you to work with any certificates in your computer's certificate store. You may want to save this MMC for later use.&lt;/p&gt;  &lt;p&gt;Now that you have access to the Certificates snap-in, you can import the server certificate into your computer's certificate store by following the steps in the next section.&lt;/p&gt;  &lt;h3&gt;&lt;a name="_Install_the_Certificate"&gt;&lt;/a&gt;Installing the certificate in the personal certificate store of the local computer&lt;/h3&gt;  &lt;p&gt;1. Open the Certificates (Local Computer) snap-in and navigate to &lt;b&gt;Personal&lt;/b&gt;, and then &lt;b&gt;Certificates&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Note: &lt;/b&gt;Certificates may not be listed. If it is not, that is because there are no certificates installed.&lt;/p&gt;  &lt;p&gt;2. Right-click &lt;b&gt;Certificates&lt;/b&gt; (or &lt;b&gt;Personal&lt;/b&gt; if that option does not exist.)&lt;/p&gt;  &lt;p&gt;3. Choose &lt;b&gt;All Tasks&lt;/b&gt;, and then click &lt;b&gt;Import&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image012_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image012_thumb.jpg" width="668" height="401" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4. When the wizard starts, click &lt;b&gt;Next&lt;/b&gt;. Browse to the PFX file you created containing your server certificate and private key. Click &lt;b&gt;Next&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image014_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image014_thumb.jpg" width="508" height="457" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image016_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image016_thumb.jpg" width="508" height="457" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. Enter the password you gave the PFX file when you created it. Be sure the &lt;b&gt;Mark the key as exportable&lt;/b&gt; option is selected if you want to be able to export the key pair again from this computer. As an added security measure, you may want to leave this option unchecked to ensure that no one can make a backup of your private key. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image018_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image018_thumb.jpg" width="508" height="457" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;6. Click &lt;b&gt;Next&lt;/b&gt;, and then choose the Certificate Store you want to save the certificate to. You should select &lt;b&gt;Personal&lt;/b&gt; because it is a server certificate. If you included the certificates in the certification hierarchy, it will also be added to this store.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image020_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image020" border="0" alt="clip_image020" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image020_thumb.jpg" width="508" height="457" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;7. Click &lt;b&gt;Next&lt;/b&gt;. You should see a summary screen showing what the wizard is about to do. If this information is correct, click &lt;b&gt;Finish&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;8. You will now see the server certificate you just installed in the list of personal certificates. It will be denoted by the common name of the server (found in the subject section of the certificate).&lt;/p&gt;  &lt;p&gt;Now that you have the certificate backup imported into the certificate store, you can use the TS Gateway Manager UI to install the certificate on TS Gateway. The steps for doing this are outlined in the next section.&lt;/p&gt;  &lt;h3&gt;&lt;a name="_Install_the_Certificate_1"&gt;&lt;/a&gt;Installing the certificate on TS Gateway&lt;/h3&gt;  &lt;p&gt;&lt;b&gt;1. &lt;/b&gt;Click &lt;b&gt;Start&lt;/b&gt;, click &lt;b&gt;Administrative Tools&lt;/b&gt;, click &lt;b&gt;Terminal Services&lt;/b&gt;, and then click &lt;b&gt;TS Gateway Manager.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Right-click on the &amp;lt;Machine Name&amp;gt; and select &lt;b&gt;Properties&lt;/b&gt;.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image022_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image022" border="0" alt="clip_image022" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image022_thumb.jpg" width="602" height="599" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;2. &lt;/b&gt;On the &lt;b&gt;SSL Certificate&lt;/b&gt; tab, click &lt;b&gt;Select an existing certificate for SSL encryption (recommended),&lt;/b&gt; and then click &lt;b&gt;Browse Certificates&lt;/b&gt;.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image024_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image024" border="0" alt="clip_image024" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image024_thumb.jpg" width="498" height="569" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;3. &lt;/b&gt;Choose the certificate, and then click &lt;b&gt;Install&lt;/b&gt;.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image026_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image026" border="0" alt="clip_image026" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image026_thumb.jpg" width="496" height="289" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;4. &lt;/b&gt;Click&lt;b&gt; OK.&lt;/b&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a name="_Common_issue_faced"&gt;&lt;/a&gt;&lt;a name="_A_common_issue"&gt;&lt;/a&gt;A common issue when deploying a certificate on TS Gateway&lt;/h3&gt;  &lt;p&gt;The most common issue faced by a TS Gateway administrator is that, although he has installed the certificate in the certificate store of the gateway machine, he is not able to view and install the certificate through the TS Gateway snap-in. Possible causes of this are:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;1. &lt;/b&gt;&lt;b&gt;The certificate does not have the private keys:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;If you install the certificate without the private keys in the Personal Certificate Store of the Local Computer, then you can’t view the certificate on the &lt;b&gt;Browse Certificate &lt;/b&gt;window of the TS Gateway Manager UI and therefore can’t install it for TS Gateway. This is how a certificate without a private key looks in the Certificate Manager UI. Notice that the first certificate (Issued to: www.contoso.com) does not have a key symbol over its icon.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image028_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image028" border="0" alt="clip_image028" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image028_thumb.jpg" width="724" height="398" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;2. &lt;/b&gt;&lt;b&gt;The certificate is not installed in the personal certificate store of the local computer:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;If you install the certificate in the personal certificate store of User instead of the personal certificate store of Local Computer, then you can’t view the certificate on the &lt;b&gt;Browse Certificate &lt;/b&gt;window on the TS Gateway Manager UI and therefore can’t install it for TS Gateway.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;3. &lt;/b&gt;&lt;b&gt;The certificate is not a “Server Authentication” certificate:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;If the “Intended Purpose” of the certificate is not “Server Authentication” then it won’t appear in the list of available certificates that can be installed on TS Gateway on the &lt;b&gt;Browse Certificate &lt;/b&gt;window of the TS Gateway Manager UI. The following example shows how to view the “Intended Purpose.” &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image030_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image030" border="0" alt="clip_image030" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/TSGatewayCertificatesPartIIHowtodeployac_14D15/clip_image030_thumb.jpg" width="723" height="290" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The general rule of thumb is that if you have installed the certificate but still don’t see it in the Browse Certificate window of the TS Gateway Manager UI, ensure that you have private keys installed for the certificate and that you have installed the certificate in the personal certificate store of the local computer instead of the User certificate store and that the certificate is intended for “Server Authentication.”&lt;/p&gt;  &lt;h3&gt;&lt;a name="_How_to_trust"&gt;&lt;/a&gt;How to trust the TS Gateway certificate on the clients&lt;/h3&gt;  &lt;p&gt;When you are using a self-signed or private CA certificate on the TS Gateway, the clients won’t trust the TS Gateway certificate by default. In this case, follow the steps outlined in the blog at &lt;a href="http://blogs.technet.com/sbs/archive/2008/10/03/receiving-certificate-errors-when-connecting-to-clients-servers-with-ts-gateway-or-remote-web-workplace-on-sbs-2008.aspx"&gt;http://blogs.technet.com/sbs/archive/2008/10/03/receiving-certificate-errors-when-connecting-to-clients-servers-with-ts-gateway-or-remote-web-workplace-on-sbs-2008.aspx&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9236909" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/TS+Gateway/default.aspx">TS Gateway</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Archan+Das/default.aspx">Author: Archan Das</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Vikash+Bucha/default.aspx">Author: Vikash Bucha</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Gopikrishna+Kannan/default.aspx">Author: Gopikrishna Kannan</category></item><item><title>Introduction to TS Gateway Certificates</title><link>http://blogs.msdn.com/ts/archive/2008/12/04/introduction-to-ts-gateway-certificates.aspx</link><pubDate>Thu, 04 Dec 2008 21:56:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9177080</guid><dc:creator>termserv</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/ts/comments/9177080.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9177080</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Why does TS Gateway need a certificate?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;A TS Gateway certificate is used for authentication and secure communication purposes by the TS clients. To appreciate the purpose of TS Gateway certificates, you will need to understand SSL communication. As illustrated in the following diagram and described in the steps below, a TS client launches an HTTP-SSL connection to the TS Gateway, which begins with a SSL handshake. The handshake allows the server to authenticate itself to the client by using public-key techniques, and then allows the client and server to cooperate in the creation of symmetric keys used for rapid encryption, decryption, and tamper detection during the session that follows. Optionally, the handshake also allows the client to authenticate itself to the server. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroductiontoTSGatewayCertificates_C3C9/image_2.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="234" alt="image" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroductiontoTSGatewayCertificates_C3C9/image_thumb.png" width="482" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font size="1"&gt;Illustration borrowed from Windows Server 2008 Terminal Services Resource Kit, available here. &lt;/font&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/learning/en/us/books/12716.aspx"&gt;&lt;b&gt;&lt;font size="1"&gt;http://www.microsoft.com/learning/en/us/books/12716.aspx&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The steps involved in the SSL handshake are as follows (note that the following steps assume the use of the cipher suites listed in Cipher Suites with RSA Key Exchange: Triple DES, RC4, RC2, DES): &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;b&gt;SSL initiation &lt;/b&gt;- The client and server exchange cryptographic information such as SSL version number, cipher settings, session data, and other information needed to establish a SSL connection. In this stage, the TS Gateway server sends its X.509 SSL certificate, which is used by the client to authenticate. &lt;b&gt;&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Gateway authentication &amp;amp; session key generation – &lt;/b&gt;The client validates the server identity using the SSL certificate produced by the TS Gateway. If the TS Gateway server cannot be authenticated, the user is warned of the problem and informed that an encrypted and authenticated connection cannot be established. If the TS Gateway server can be authenticated successfully, the client creates the pre-master secret for the session, encrypts it with the server's public key (obtained from the server's certificate, sent in step 1), and then sends the encrypted pre-master secret to the server. If the server has requested client authentication (an optional step in the handshake), the client also signs another piece of data that is unique to this handshake and known by both the client and server. In this case, the client sends both the signed data and the client's own certificate to the server along with the encrypted pre-master secret. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Establishing encrypted session&lt;/b&gt; - If the server has requested client authentication, the server attempts to authenticate the client. If TS Gateway is configured to authenticate users using smartcard, then client authentication is enforced during the SSL handshake. If the client cannot be authenticated, the session ends. If the client can be successfully authenticated, the server uses its private key to decrypt the pre-master secret, and then performs a series of steps (which the client also performs, starting from the same pre-master secret) to generate the master secret. Both the client and the server use the master secret to generate the session keys, which are symmetric keys used to encrypt and decrypt information exchanged during the SSL session and to verify its integrity (that is, to detect any changes in the data between the time it was sent and the time it is received over the SSL connection). The SSL handshake is now complete and the session begins. The client and the server use the session keys to encrypt and decrypt the data they send to each other and to validate its integrity. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;b&gt;What type of X.509 certificate can the TS Gateway work with?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;X.509 certificates can be self-signed, also known as self-issued, or issued by an X.509 Certification Authority (CA). An X.509 CA is either a third-party public certification authority that issues certificates or a public key infrastructure (PKI) that is deployed within your organization. Unless otherwise noted specifically, this topic refers to both solutions as certification authorities (CA). Third-party public CAs are known as public CAs. For complete specifications about the kind of certificate that can be used on TS Gateway server, please refer to the “Certificates requirements for TS Gateway” section in the TS Gateway step-by-step guide at &lt;a href="http://technet.microsoft.com/en-us/library/cc754252.aspx#BKMK_ObtainCertTSGateway"&gt;http://technet.microsoft.com/en-us/library/cc754252.aspx#BKMK_ObtainCertTSGateway&lt;/a&gt; .&lt;/p&gt;  &lt;p&gt;&lt;b&gt;How do I know which type of X.509 certificate is better? &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;1. &lt;b&gt;Public CA certificate: &lt;/b&gt;Windows and various third-party operating systems include a set of built-in third-party public root CAs. If you trust the certificates issued by these third-party public root CAs, you can verify certificates issued by these CAs. &lt;/p&gt;  &lt;p&gt;Trust is automatic if the following conditions are true:&lt;/p&gt;  &lt;p&gt;1. Your organization uses the default Windows installation &lt;/p&gt;  &lt;p&gt;2. The client software used in your organization also trusts the built-in third-party public root CAs&lt;/p&gt;  &lt;p&gt;In this case, additional trust configuration is not required. Therefore, this is the recommended certificate option for TS Gateway.&lt;/p&gt;  &lt;p&gt;2. &lt;b&gt;Private CA certificate: &lt;/b&gt;A private trusted root CA is a root CA that has been deployed by a private or internal PKI. For example, when your organization has deployed an internal PKI with its own root certificate, you must make additional trust configurations. It is not a best practice to use certificates issued by a private PKI for TS Gateway that support external connections into your organization. &lt;/p&gt;  &lt;p&gt;When a private root CA is used, you must update the Windows Trusted Root certificate store on all user devices where certificate authentication is required.&lt;/p&gt;  &lt;p&gt;3. &lt;b&gt;Self-signed certificate&lt;/b&gt;: The TS Gateway snap-in provides the admin a way to create a self-signed certificate and use it for TS Gateway. A self-signed certificate costs essentially nothing, but it does have the following disadvantage. &lt;/p&gt;  &lt;p&gt;Self-signed certificates are not trusted by default on the clients. The admin will have the added responsibility of distributing the certificates to the clients, and the clients need to put the certificates in their “Trusted” Certificate store, which can become a tedious task and is prone to mistakes.&lt;/p&gt;  &lt;p&gt;Using self-signed certificates on TS Gateway is not recommended.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Does TS Gateway support wildcard and SAN certificates?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Yes, TS Gateway does support wildcard certificates and Subject Alternative Name (SAN) certificates. The following matrix lists all the different types of supported certificates along with the client support and ISA support cases as well.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Certificates that can be used on TS Gateway:&lt;/b&gt;     &lt;table cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;Certificate type&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;RDC 6.0 on the client&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;RDC 6.1 and above on the client&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;With ISA on the edge&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;Self-signed&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;Public CA&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;Private CA&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;Wildcard certificates&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;No&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes (ISA 2006 and later)&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;Certificate with Subject Alternative Name (SAN)&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;No&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="173"&gt;           &lt;p&gt;Yes for ISA 2006 SP1&lt;/p&gt;            &lt;p&gt;No* for ISA 2004 and 2006&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;* ISA Server 2004 cannot process certificate SAN attributes at all. The Subject of the certificate installed at the published server &lt;u&gt;must&lt;/u&gt; match the published host name used in the Web Publishing rule. ISA Server 2006 is able to use either the Subject or the first SAN entry. What this means for the ISA server admin is that if the ISA server is expecting the certificate to read “contoso.com,” that name should be either of the following:&lt;/p&gt;  &lt;p&gt;1. The certificate “Subject” (AKA “common name”)&lt;/p&gt;  &lt;p&gt;2. The &lt;u&gt;first&lt;/u&gt; entry in the SAN list (ISA Server 2006 only)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;References:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;RDC: Remote Desktop Client. To check the version of the RDC client, check the information at the link &lt;a href="http://technet.microsoft.com/en-us/library/cc736828.aspx"&gt;http://technet.microsoft.com/en-us/library/cc736828.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Wildcard certificate: A Wildcard Certificate allows you to secure multiple sub-domains on one domain on the same server using *.domain.com pattern for the common name (CN). For example, while a certificate for contoso.microsoft.com will not work for fabrikam.microsoft.com, a certificate with CN = *.microsoft.com will be valid for both.&lt;/p&gt;  &lt;p&gt;Subject Alternative Name (SAN): Subject Alternative Names allow you to specify a list of host names to be protected by a single SSL certificate. A certificate with SAN entries for both contoso.microsoft.com and fabrikam.microsoft.com will work with both servers.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9177080" width="1" height="1"&gt;</description></item><item><title>WinHEC 2008: Remote Desktop Services and Calista</title><link>http://blogs.msdn.com/ts/archive/2008/11/19/winhec-2008-remote-desktop-services-and-calista.aspx</link><pubDate>Thu, 20 Nov 2008 00:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9126771</guid><dc:creator>termserv</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ts/comments/9126771.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9126771</wfw:commentRss><description>&lt;P&gt;Hi, Tad Brockway here. I am a Product Unit Manager on the Windows Server team. &amp;nbsp;My team is focused on rich media remoting technologies for the new Remote Desktop Services (RDS) in Windows Server which we &lt;A href="http://blogs.technet.com/windowsserver/archive/2008/10/30/TechEd-EMEA_3A00_-Terminal-Services-renamed-Remote-Desktop-Services.aspx" mce_href="http://blogs.technet.com/windowsserver/archive/2008/10/30/TechEd-EMEA_3A00_-Terminal-Services-renamed-Remote-Desktop-Services.aspx"&gt;announced last week&lt;/A&gt; at ITForum EMEA in Barcelona. I just returned from WinHEC 2008 in Los Angeles where we showed a demo of some of the new rich media capabilities of RDS as well as a technology preview of what the Calista team has been working on since the company was &lt;A href="http://blogs.msdn.com/ts/archive/2008/01/22/microsoft-acquires-calista-technologies.aspx" mce_href="http://blogs.msdn.com/ts/archive/2008/01/22/microsoft-acquires-calista-technologies.aspx"&gt;acquired by Microsoft&lt;/A&gt; earlier this year. For those of you that have not heard of Calista before – Calista developed a set of unique GPU virtualization technologies designed to significantly enhance the end-user experience of 3D and multimedia for server-hosted virtual desktops (also often referred to as virtual desktop infrastructure or VDI). 
&lt;P&gt;So, before I talk about the demos and presentation at WinHEC, let me quickly summarize why rich media remoting is important to our customers. In many IT environments today, customers are looking to apply virtualization technologies in new ways to increase data security and operational flexibility for desktops and applications by centralizing them in the data center, and enabling users to remotely connect to them via the Remote Desktop Protocol (RDP). The increased adoption of centralized desktops and apps, coupled with the more prevalent use of 3D graphics and rich multimedia content are driving new requirements to enhance the end user experience in remote desktop and application scenarios. 
&lt;P&gt;Both RDS in Windows Server 2008 R2 and eventually Calista (when it ships at a yet to be determined point in the future) will help us address these customer needs. 
&lt;P&gt;Our first WinHEC demo showed a Remote Desktop Server (preview code) feature slated for the Windows Server 2008 R2 release. We demoed full-motion video running in Windows Media Player over RDP; the same demo setup showed the remoting of Windows Aero and of a DirectX 10.1 application. Finally, the demo included multiple monitors connected to the client, another important new feature of RDS in Windows Server 2008 R2. 
&lt;P&gt;The second demo showed two virtual machines along with early Calista bits running on Hyper-V server (preview code), showing a variety of rich graphics applications - DirectX9, Aero Glass, 3D Flip, Adobe Flash, and Silverlight – as part of a Windows 7 desktop over RDP. And finally, as a variation of the second demo, we showed a complete, Calista-enabled hardware-to-hardware solution involving a prototype thin client connected to one of the VMs playing full-motion videos in Windows Media Player. 
&lt;P class=style1&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/WinHEC2008RemoteDesktopServicesandCalist_EA7C/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/WinHEC2008RemoteDesktopServicesandCalist_EA7C/image_2.png"&gt;&lt;IMG title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/WinHEC2008RemoteDesktopServicesandCalist_EA7C/image_thumb.png" width=284 height=376 mce_src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/WinHEC2008RemoteDesktopServicesandCalist_EA7C/image_thumb.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;SPAN class=style2&gt;RDS and Calista demos at the Microsoft Booth at WinHEC 2008 &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;The Microsoft booth team, consisting of Marty Amon, Ricardo Baratto, Rommy Channe, Nelly Porter, Jackson Tung and Moshe Zilberstein, supported the RDS demos and the Calista technology preview, which were well received by the attendees. 
&lt;P&gt;Both the exhibit and the session breakout that Nelly Porter and I held on Friday afternoon were meant to highlight Microsoft’s commitment to RDP and to a better Windows remoting experience for our customers. Based on the conversations our team had with a number of ISVs and IHVs at WinHEC, our partners seemed excited to hear how we plan to enable, in Windows Server 2008 R2 and beyond, the remoting of a rich user experience with a powerful set of platform capabilities, including support for both primitive and bitmap remoting, support for hardware-assisted solutions, and support for rich (‘thick’) and thin clients. 
&lt;P&gt;I hope you are as excited as I am about the progress our engineering teams have made and the prospects of these new platform features. Post some questions in the comments section - I'm interested to hear what you think and to answer questions. 
&lt;P&gt;-Tad &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9126771" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ts/archive/tags/Multimon/default.aspx">Multimon</category><category domain="http://blogs.msdn.com/ts/archive/tags/Rich+Media/default.aspx">Rich Media</category><category domain="http://blogs.msdn.com/ts/archive/tags/WinHEC/default.aspx">WinHEC</category><category domain="http://blogs.msdn.com/ts/archive/tags/Author_3A00_+Tad+Brockway/default.aspx">Author: Tad Brockway</category><category domain="http://blogs.msdn.com/ts/archive/tags/Calista/default.aspx">Calista</category></item><item><title>Introducing Live Mesh Remote Desktop: Part 1</title><link>http://blogs.msdn.com/ts/archive/2008/11/13/introducing-live-mesh-remote-desktop-part-1.aspx</link><pubDate>Thu, 13 Nov 2008 23:53:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9067905</guid><dc:creator>termserv</dc:creator><slash:comments>19</slash:comments><comments>http://blogs.msdn.com/ts/comments/9067905.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ts/commentrss.aspx?PostID=9067905</wfw:commentRss><description>&lt;p&gt;The Remote Desktop Protocol is an efficient and feature-rich protocol which we have invested in greatly over the years.&amp;#160;&amp;#160; As such, we’ve worked to make RDP available not just in traditional Terminal Server scenarios, but also as a platform for additional products from Microsoft and third party ISV’s.&amp;#160; We are seeing the benefits of this work in very cool products like the Live Mesh Remote Desktop, which we developed with one of our partner teams.&amp;#160; This service was just released to public Beta during Microsoft’s PDC, and in this post we’ll walk you through how it is used.&lt;/p&gt;  &lt;p&gt;If you’ve ever wanted to have quick access to one of your computers from anywhere without the hassle of advanced network configuration and VPNs, Live Mesh is for you. Live Mesh uses advanced routing technology to enable seamless connectivity to any of your machines that are connected to the internet, regardless of network topology.&lt;/p&gt;  &lt;p&gt;Note that there are a number of other valuable features in Live Mesh, but this post will focus exclusively on Live Remote Desktop. For more information on the additional features of Live Mesh, feel free to stop by their blog at &lt;a href="http://blogs.msdn.com/livemesh/"&gt;http://blogs.msdn.com/livemesh/&lt;/a&gt;. Now, let’s get you up and accessing your devices!&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Adding Devices to Your Mesh&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;It is very simple to get started with Live Mesh. If you don’t already have a Windows Live ID, you can start by creating one from &lt;a href="http://www.passport.net"&gt;www.passport.net&lt;/a&gt;. Once you have an ID to use for your Live Mesh account, you’ll need to visit &lt;a href="http://www.mesh.com"&gt;www.mesh.com&lt;/a&gt; and sign in.&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image002_2.jpg"&gt;&lt;img title="clip_image002" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="285" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image002_thumb.jpg" width="628" border="0" /&gt;&lt;/a&gt;&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;After signing in with your Windows Live ID, you will be presented with a first look at your mesh of devices. Initially your list of devices will be empty, so the first step will be to add devices you’d like to access to your Mesh.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image004_2.jpg"&gt;&lt;img title="clip_image004" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="478" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image004_thumb.jpg" width="628" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To add your device to the mesh, simply click the large Add Device button, select the operating system from the drop down menu, and click Install.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image006_2.gif"&gt;&lt;img title="clip_image006" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="463" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image006_thumb.gif" width="628" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This process will accomplish two things. First, it will download and install the Live Mesh desktop software onto your computer. Installing this software adds all the Live Mesh functionality to your computer, including the components which make it remotely accessible. Second, it will register the computer with the Live Mesh service, to make your computer show up in your list of devices. After downloading and running the installer from the Mesh website, you will see a Live Mesh notification in your system tray.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image008_2.jpg"&gt;&lt;img title="clip_image008" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="133" alt="clip_image008" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image008_thumb.jpg" width="289" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next, click Sign in and enter your Live ID to get your computer logged on to your Live Mesh account. By allowing Live Mesh to save your password and sign in automatically, you can ensure that you’ll always have access to your computer, even upon reboot before logging in to your user account.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image010_2.jpg"&gt;&lt;img title="clip_image010" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="425" alt="clip_image010" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image010_thumb.jpg" width="628" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After you’ve signed in to your Live Mesh account, you’ll be able to create a friendly name to identify the device you’ve added to your mesh.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image012_2.jpg"&gt;&lt;img title="clip_image012" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="464" alt="clip_image012" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/clip_image012_thumb.jpg" width="628" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After clicking “Add Device” you have officially added the device to your Mesh and are ready to access it from anywhere. You should repeat this process on all machines you’d like remote access to. I personally have it on every computer I own =).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Connecting to Your Devices&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Now that you have added your desired devices to your mesh, the next step will be to connect to your computers. The Live Mesh desktop software will be installed on any Windows XP or Vista computer you add to your mesh, and can be accessed via the Live Mesh icon in your taskbar’s notification area.&lt;/p&gt;  &lt;p&gt;To begin, ensure that the device you’d like to access is turned on and has been signed in to your mesh either manually or by configuring it for automatic sign-in. Note that any machines which are set to automatically sleep for power-saving reasons won’t be reachable while they are asleep. On the computer you’re connecting from, click the Live Mesh icon on the right of your taskbar to bring up your list of devices. You will see that any device in your mesh which is online and logged in to your Live Mesh account will have the “Connect to device” option below its name.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/sign%20in%20screen_new.png"&gt;&lt;img title="sign in screen_new" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="487" alt="sign in screen_new" src="http://blogs.msdn.com/blogfiles/ts/WindowsLiveWriter/IntroducingLiveMeshRemoteDesktopPart1_DEDE/sign%20in%20screen_new_thumb.png" width="341" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Upon connecting you’ll see the lock screen of the target device. For security reasons, the device you are connecting to is locked upon connection, ensuring that whoever is accessing the device has not only successfully signed in to your Mesh account, but also has full rights to the remote device’s user account. After you log in, you can control your device in the same manner as you would through traditional Remote Desktop.&lt;/p&gt;  &lt;p&gt;So far we’ve gone through how sign up for Live Mesh, add your devices to the mesh, and get connected via the Live Mesh software. In Part 2 of this post, I’ll outline how you can use Live Mesh to access your devices from anywhere via the browser, as well as some of the ways that Live Mesh Remote Desktop is unique when compared to the well-known Windows Remote Desktop feature.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9067905" width="1" height="1"&gt;</description></item></channel></rss>