远程桌面协议(RDP)介绍

  远程桌面协议 (RDP) 允许您远程访问计算机。多年来,它免除了许多系统管理操作,无疑是一项非常有用的技术。RDP 长期以来一直提供远程访问支持,而且越来越好。该协议于 1998 年在 Windows NT 4.0 Terminal Server Edition (TSE) 中引入,自此以后,几乎在 Windows® 的每个发行版本中都有所改进。

  从 Windows 2000 开始,几乎任何人都可以轻松地远程访问服务器系统,因为终端服务已作为可选的 Windows 组件引入,并且可以对其进行配置,因此您可以将系统用作实际的终端服务器或用作我们现在所说的远程桌面。Windows Server® 2003 和 Windows XP 提供本机远程桌面功能,允许您像在本地进行控制一样控制系统。现在,我每天都使用远程桌面远程访问我的家庭 PC 和服务器及使用 Media Center Extender。

  Windows XP 和更高版本的 Windows 中增加了远程协助,远程协助可提供与远程桌面相似的体验,但远程协助是专门为本地用户向远程用户请求协助而设计的。随着远程访问支持的不断演变,Windows Vista® 现在允许远程用户提供远程协助(如果组策略允许)。

  正如您会看到的,远程桌面将此强大的功能提升到了一个全新的级别,您会感激它提供的一切。当然,远程桌面存在一些限制,但同样具有许多优点。让我们看一看这两方面。

  优点、缺点以及绝妙之处

  对于 Windows XP(Media Center Edition 除外),主要限制是每次只能登录一个交互式用户。当 Windows XP 中的快速用户切换允许登录多个用户时,无论这些用户对于 PC 是本地用户还是远程用户,只有一个用户可以交互地使用鼠标或键盘。对于 Windows Server 版本(不作为终端服务器运行),可以一次连接两个远程桌面会话。要在 Windows Server 2003 中通过远程桌面连接到实际控制台会话,您需要使用可选参数 /console 启动终端服务客户端应用程序 (MSTSC.exe)。控制台会话非常重要,因为一些较早的应用程序由于设计不合理,未考虑终端服务会话,常常会仅在控制台会话(会话 0)上弹出一些对话框。图 1 显示了在一位 Windows Server 2003 上登录到控制台会话的用户。Windows XP 和 Windows Server 2003 远程桌面将强制执行授权以确保只允许一定数量的用户交互式登录。

  

  图 1 登录到会话 0

  此外,网络带宽和组策略都可能影响远程桌面体验。Windows XP 能够提供高达 24 位的分辨率以及对声音、本地打印机、磁盘和用于剪切和粘贴的剪贴板的重定向。根据远程桌面绘制屏幕的方式,从远程会话中删除图形元素(主题、背景等等)能够显著增加可用网络带宽,因而会话可以更迅速地对用户做出响应。Windows Vista 在此基础上增添了 32 位分辨率和对更多设备的重定向。

  请注意,在带宽不足的情况下,某些操作(例如占用大量图形资源的操作)甚至对于最佳的远程桌面会话也是一种挑战,因此请做出相应的规划。

  Windows Vista 新增功能

  Windows Vista 对远程桌面进行了非常重要的更改。正如之前我提到的,32 位显示器分辨率以及字体平滑是一些最明显的变化。相关的增强功能是能够通过使用 /span 命令启动终端服务客户端,跨多个显示器运行 Windows Vista 会话。请注意,/span 仅与 Windows Vista 远程主机系统配合使用,要求各显示器具有相同的客户端分辨率,并且要求对齐显示器。这种扩展的工作原理是将远程系统(客户端)视为一个大型显示器。这意味着最大化应用程序可能导致预想不到的影响,其中包括必须由用户移动的放在不便位置的对话框。

  此外,如果要进行连接的客户端是 Windows Vista 客户端,远程系统是 Windows Vista 系统,则您可以在 Windows Aero™ Glass 模式下运行远程会话的用户界面(只要本地系统支持 Aero Glass 即可,即使远程系统不支持也无妨)。这要归因于 Windows 远程桌面的重新构建,在客户端系统(如果该客户端是 Windows Vista)上执行大部分 Window 管理操作,从而在减少带宽使用的同时改善了用户体验。

  Windows Vista 还提供了一个重要的安全增强功能,即网络级别身份验证 (NLA)。NLA 可以帮助您防止中间人攻击,在这样的攻击中恶意用户会欺骗您正在连接的信任服务器。NLA 还通过不启动全局 Windows 用户界面进行身份验证改善了身份验证体验,最大程度地降低了对远程系统的影响并降低了对拒绝服务攻击的敏感性。NLA 要求在客户端和远程系统上都安装 Windows Vista。图 2 显示了如何通过 RDP 6.0 客户端指定是否强制执行身份验证,是否发出警告,或者到底是否需要身份验证。请注意,如果您要连接到的远程系统运行的是早于 Windows Vista 的 Windows 版本,则要确保至少为该连接设置了警告;否则连接会失败。

  

  图 2 高级连接首选项

  改进的资源重定向(不仅仅是驱动器和打印机)是 Windows Vista 中另一个关键的 RDP 增强功能。只要远程系统上存在驱动程序并且设备支持重定向,您就可以重定向包括智能卡在内的多种新型设备。其他设备类型可由其供应商支持。 

  Windows Vista 还可以通过 RDP 6.0 客户端支持网关服务器。这允许用户通过 Internet 无缝连接到工作着的系统,而不需要 VPN 连接或任何第三方软件。图 3 显示了终端服务网关服务器设置。您可以认为网关服务器与 VPN 类似,不需要除 RDP 6.0 客户端软件之外的任何特殊客户端软件(不需要 VPN 设置或专有软件)。

  

  图 3 终端服务网关服务器设置

  Windows Vista 还包括新功能 RemoteApp™ 的基础结构。以下是 RemoteApp 的功能。远程桌面通常允许您连接到整个 Windows 会话。但是假设您只对运行 Microsoft® Word 或 Microsoft PowerPoint® 感兴趣。RemoteApp 提供了可以实现这一目的的功能。用于启用可靠的应用程序共享的方案也将在 Windows Server 2008 中启用。

  此外,Windows Vista 中增添了对 Windows Desktop Sharing API 的新支持,允许发布共享的协作应用程序。Microsoft Terminal Server 团队在 blogs.msdn.com/ts/ archive/2007/03/23/writing-a-desktop-sharing-application.aspx 中提供的示例应用程序说明了 Windows Desktop Sharing API 的工作原理。

  Windows Vista 及其以后的版本中需要记住的一个重要更改是用户通常不能访问会话 0(通常为控制台会话,在该会话中旧有应用程序会弹出对话框消息)。这将减少系统服务(该服务在会话 0 中运行,尽管是以非交互方式运行)与交互式用户之间的交互。它还允许减小由 Windows Vista 中的高度特权服务和交互式用户带来的攻击面,Windows Vista 已致力于降低权限(通过用户帐户控制和其他安全增强功能)。通常情况下,您无需关心此类问题,除非您在 Windows Vista 上运行旧版软件,并且在安装时或应用程序运行时发生行为错误。

  在哪里找到远程桌面

  关于远程桌面,要记住的一个关键问题是在哪里可以完全使用它。正如 Windows Server 2003 的各种版本一样,Windows XP Professional、Media Center Edition 和 Tablet PC Edition 中都包含远程桌面功能。Windows Vista 的 Business、Enterprise 和 Ultimate 版本中也都包含远程桌面功能。Windows 的 Home Edition(包括 Windows XP Home Edition 和 Windows Vista 的所有 Home Edition)都不提供远程桌面功能。

  终端服务客户端

  您可以在 go.microsoft.com/fwlink/?LinkId=91612 找到新的 RDP 6.0 客户端。如上所述,客户端包括连接到 RDP 6.0(Windows Vista 或 Windows Server 2008)系统所需的所有功能。

  图 4 显示了 RDP 6.0 客户端。MSTSC 中的一项重大改进是能够缓存凭据(如果从 Windows Vista 连接到 Windows Vista 或 Windows Server 2008),甚至单一登录 (SSO) 也可以 通过组策略受支持。

  

  图 4 RDP 6.0 客户端

  MSTSC.exe 的 6.0 版本具有大量命令行参数,已在下面列出。让我们依次看一看每个参数。

  mstsc [] [/v:

  [/console] [/f[ullscreen]] [/w:] [/h:]

  [/public] | [/span] [/edit "connection file"] [/migrate] [/?]

  /v:

  /console 允许您连接到早期版本的 Windows 的控制台会话。此设置不适用于 Windows Vista 或 Windows Server 2008。

  /f 以全屏模式启动远程桌面连接。

  /w: 指定远程桌面连接窗口的宽度。

  /h: 指定远程桌面窗口的高度。

  /public 以公用模式运行远程桌面连接。在公用模式下,RDP 客户端不会将任何数据缓存到本地系统。例如,从会议中心的某个系统连接到企业服务器时,使用公用模式。

  终端服务的更多神奇功能

  您可能不熟悉其他两项使用终端服务组件表现其神奇功能的 Microsoft 技术。Windows XP 和 Windows Vista 中的快速用户切换通过允许多个用户登录到同一系统但用户上下文之间的快速切换不会强制任何用户注销来工作。Windows Media Center Edition(和 Windows Vista)是在此基础结构的基础上构建的,允许 Media Center Extender(实际是带有音频/视频呈现技术和编码解码器的瘦客户端终端)通过有线或无线连接在电视机上远程登录并呈现 Media Center 体验。在 Windows XP 中,这两个通常都是非业务相关方案,因为二者都需要系统不加入域并且已启用快速用户切换。请记住,在 Windows Vista 产品版本中为企业提供了这两者,不过这种使用情况不是企业的实际主流,因此我在此不会对其进行过于详细的介绍。

  /span 使远程桌面的宽度和高度与本地虚拟桌面相匹配,如有必要,扩展到多个显示器。请注意,所有显示器都必须具有相同的高度并且并行排列。

  /edit 打开指定的 .rdp 连接文件进行编辑。RDP 文件用于存储特定远程系统的连接信息。

  /migrate 将使用“客户端连接管理器”创建的旧连接文件移动到新的 .rdp 连接文件。

  使用终端服务 ActiveX® 控件以及使用下面介绍的 TSMMC.msc 时,还将提供 MSTSC 客户端中的许多增强功能,用于从同一控制台连接到多个系统。

  Windows Server 2008 新增功能

  除了 Windows Vista 中已经提到的所有功能和变化外,Windows Server 2008 还包括自己的远程桌面功能:Terminal Services Web Access 和 Terminal Services Easy Print。

  TS Web Access 允许用户使用 Web 浏览器查看已经作为 RemoteApp 在远程服务器上启用的程序的列表,通过远程桌面 ActiveX 控件单击一下鼠标即可轻松启动这些程序。在某种意义上,您可以认为这是与 SoftGrid 应用程序虚拟化体验(我在上个月的有关 Microsoft 桌面优化包的专栏文章中提到过)相似的一种体验,在该体验中用户可以轻松地启动应用程序,而无需任何本地安装的软件。密切关注未来几年以了解使用 SoftGrid 与使用终端服务技术比较的情况将非常有趣。

  TS Easy Print 允许将发生在远程(主机)系统上的所有打印机任务重定向到本地(客户端)系统。您可能认为打印机重定向已经实现了该目的,但是它并未实现。Easy Print 工作时,无需主机系统上具有其他任何打印机驱动程序,也无需任何用户交互性操作来安装该设备。如果存在本地打印机,则它可以像在本地一样在远程系统上工作。为了使 Easy Print 工作,远程系统必须运行 Windows Server 2008,而客户端系统和服务器系统必须都运行 Terminal Services 6.1 客户端,并且安装了 Microsoft .NET Framework 3.0 SP1。这两项功能预计在发布 Windows Server 2008 后不久推出。

  使用远程桌面的技巧

  正如我之前提到的,我每天都使用远程桌面,确切地说是远程桌面 Microsoft 管理控制台 (MMC)。在此,通过将远程系统添加为节点,您可以从同一用户界面快捷轻松地在多个系统之间切换。图 5 展示了 MMC 的大致体验。MMC 管理单元是 Windows Server 2003 管理工具包的一部分,其最新版本可从 go.microsoft.com/fwlink/?LinkId=91685 获得。

  

  图 5 MMC 页

  我无意中发现了有关剪切和粘贴的另一个有趣的技巧。跨客户端和服务器实现剪切和粘贴是 Windows XP 的新功能。为了使用此功能,客户端和服务器必须都运行 Windows XP,并且剪贴板必须重定向(请参见图 6)。当为连接启用剪贴板重定向后,Windows Vista 客户端还支持剪切和粘贴。

  

  图 6 本地资源设置

  特别要注意的是,您可能需要键盘快捷方式(如 Ctrl+Alt+Delete),请不要将这些快捷方式通过缆线传输到远程系统,它们只在本地系统上起作用。要将 Ctrl+Alt+Delete 发送到远程系统,请在客户端上按 Ctrl+Alt+End。

  最后,我建议您定期访问 Microsoft 终端服务团队的博客,网址为 blogs.msdn.com/ts。我是这样做的。

  从个人角度来讲,我发现远程桌面和终端服务使我的生活更加轻松,如果没有它们,我的生活将难以想象。我希望此文能使您深入了解 RDP 6.0 客户端以及 Windows Vista 和 Windows Server 2008 中的一些新功能。

你可能感兴趣的:(网络)