如何建立远程桌面服务Web访问端口?

远程桌面服务Web访问是一个很棒的功能,管理员可以用它为世界各地的用户发布托管的应用程序。

虚拟化是现今的热门话题,不过人们大多时候都只将它与虚拟机和操作系统虚拟化关联起来。但自
Windows NT 4.0
发布以来,终端服务就已开始抽象为远程运行的应用程序和桌面的表示层了。终端服务自那时起由来已久,而
Windows Server 2008
则提供了成熟而可靠的虚拟化演示平台。我重点谈一谈终端服务当中的重点改进区域。

您可以在 Internet
上以及当地书店里找到许多有关如何安装和使用终端服务的说明。但是它们中的大部分都对远程应用程序能够为用户带来哪些益处语焉不详。只需很少的操作,您就可以在您的环境中快速部署一台托管所需应用程序的终端服务器。但是要满足用户的期望,还必须要考虑一些其他情况。

有了它,用户只需要一个浏览器登录到端口,并且使用的Windows版本支持远程桌面客户端软件Vista及更高版本的Windows都可以,Windows
XP也有一个专用的客户端),他们就能够从任何地方访问终端服务托管的应用程序。

终端服务中的新功能

如果您是终端服务器管理员,则需要撇开远程应用程序基础结构来考虑以下几点:打算如何部署应用程序?是否要为用户提供远程桌面或
TS RemoteApps?用户如何访问其应用程序,是通过静态远程桌面协议 (RDP)
文件、Web 页面还是桌面快捷方式?

对于一些高级的用户,可以通过组策略自定义用户权限范围内可以访问的应用程序,并进行更加细致的控制,当用户访问企业网络内的端口时,不同的用户根据其权限将显示出不同的应用程序。

Windows Server 2008 中的终端服务有许多新特色和功能:

最后,如何评估用户使用终端服务应用程序时的体验?由于在 Windows Server
2008
中对终端服务做了改进,所以现在有关这些重要问题的最佳答案可能会令您大吃一惊。

要建立远程桌面服务Web访问的端口,事先要满足几个要求:

终端服务 RemoteApp Windows
Server 2008
中一个最显著的更改是远程运行单一应用程序的能力。在旧版的终端服务中,即使您只希望访问单一应用程序,还是会传输整个远程桌面。这对用户来说,常常容易造成混淆,因为有些应用程序出现在远程桌面上通过终端服务),而有些出现在本地桌面上

要记住哪个桌面有哪个应用程序可能颇具挑战性。现在,通过终端服务访问的应用程序看上去和运行在用户的本地计算机上的应用程序一样,行为表现也一样。

告别桌面,迎来 RemoteApps

安装远程桌面服务的角色。
只能使用Windows Server 2008 R2作为远程桌面访问端口的服务器。
必须有一台服务器运行远程桌面会话主机和远程桌面连接代理的角色,两者都是通过Windows
Server 2008的服务器管理器来进行安装。
远程桌面Web访问角色服务的安装

终端服务 Web 访问
每个人都特别希望有个简单的方法能让最终用户激活应用程序。TS Web
访问满足了这项需要,它允许系统管理员将个别应用程序发布到网页。TS Web
访问包含一个默认网页,可供立即部署,也可以自定义并集成到 SharePoint
网站中。若要通过 TS Web 访问激活 TS RemoteApp,用户要访问一个网页从
Internet
或内部网络访问),查看所有可用应用程序的列表,然后单击要激活的应用程序。

Windows Server 2008
借助一组重要的服务和功能扩展,解决了终端服务管理中存在的诸多难题。在
2008 年 11 月的《TechNet
杂志》中,曾就其新增功能和改进功能进行过讨论,当时 Joshua Schnoll
详细介绍了改用 Windows Server 2008
所能获得的各种新功能通过增强的终端服务进行演示虚拟化)。在这些功能中,最重要的可能是终端服务器不必再为用户部署完整桌面,现在可以部署单个应用程序。

首先,将正确的代码部署到承载门户网站的服务器上。
以下步骤将安装远程桌面Web访问角色服务:

在 Windows Server 2003
中,要从浏览器启用连接,需要另外一个称为远程桌面网站连接 (RDWC) 的
ActiveX 控件。这个控件现在已直接内置到主要的远程桌面连接 (RDC)
客户端中,所以客户端上完全不需要下载或安装任何东西。另外还支持完整的远程桌面协议
(RDP) 功能集,而旧版的 RDWC 客户端是不支持该功能集的。

这些单个应用程序被称为 TS
RemoteApps,对于用户而言,这些应用程序就如同直接安装到用户本地桌面一样。当用户单击启动某个
RemoteApp
时,他在本地计算机上只能看到该应用程序本身。没有多余的“开始”菜单栏,也没有双重桌面,从而使您能够轻松与非本地系统进行交互。从实施和用户的期望判断,TS
RemoteApp
可能要比部署一个完整桌面更具优势,原因很简单,就是它可以使这些应用程序看起来像是正常的本地桌面体验的一部分。

1.以管理员身份登录到远程桌面 Web访问端口的服务器。
2.单击开始>管理工具>服务器管理器。
3.在“角色概要”部分,单击“添加角色”项,在向导介绍页面单击“下一步”。
4.选择“远程桌面服务”角色,并单击“下一步”,在远程桌面服务页面单击“下一步”。
5.选择“远程桌面Web访问”角色服务。
在对话框提示中,单击“安装必需的角色服务”按钮,单击“下一步”。
6.在Web服务器IIS)页面,单击“下一步”,在选择角色服务页面单击“下一步”。
7.在确认安装选择页面,单击“安装”。

<span class=”ArticleInlineTitle”>终端服务网关 </span>TS
网关是 Windows Server 2008 中最重要的新功能之一。RDP 通信量在端口 3389
上运行,而系统管理员在将终端服务器部署到防火墙以外的用户时,碰到的最主要的一个问题就是必须在防火墙内打开该端口不建议这样做),或使用不同的
VPN 解决方案成本高昂)。有了 TS 网关,RDP 流量会通过 HTTPS端口
443)以隧道方式传输,以便在 Internet
上的远程用户与终端服务器或远程计算机)之间建立加密连接。更棒的是,即使用户或终端服务器位于基于网络地址转换
(NAT) 遍历的路由器背后,此方案依然可行。

在 Windows Server 2008 中,使用“Administrative Tools”管理工具)中的“TS
RemoteApp Manager”TS RemoteApp 管理器)控制台创建新 TS RemoteApp
的过程非常简单。单击“Actions”操作)窗格中的“Add RemoteApp Programs”添加
RemoteApp 程序)链接启动“RemoteApp Wizard”RemoteApp
向导),此向导可查询终端服务器的 Windows Management Instrumentation
(WMI)
存储区,以确定该服务器上已安装的潜在应用程序的列表。此列表的一个示例如图
1 所示。

现在远程桌面
Web访问端口已经就绪,唯一缺少的就是它托管的应用程序。它们可以是来自远程桌面连接代理服务器,远程桌面会话服务器或服务器场。
另外还需要将远程桌面Web访问服务器添加到远程桌面会话主机服务器的TS Web
Access Computers安全组中。 当然,这很容易做到:

TS 网关可与 Windows Server 2008 的另一项功能“网络访问保护”(NAP)
相结合,在授予终端服务资源的访问权之前,帮助确认客户端计算机的运行状况。

图片 1

1.以管理员身份登录到https:// <server_fqdn> / rdweb远程桌面
Web访问服务的站点)。
2.选择“配置”页面。
3.选择“远程桌面连接代理服务器”或“一个或多个RemoteApp来源”。指定相应的地址,单击“确定”以保存更改。

终端服务会话 Broker Windows
Server 2000 推出了网络负载平衡 (NLB),它虽然与 Web
服务器搭配非常合适,但并不适合于终端服务的负载平衡。全新的 TS 会话
Broker 是绝佳的替代方案,它扩展了 Windows Server 2003
的会话目录功能来支持以会话为基础的负载平衡。

图 1“RemoteApp 向导”枚举终端服务器上已安装的应用程序

配置RemoteApp和桌面连接属性

通过 TS 会话
Broker,新会话可以散布到场内负载最少的服务器,而且用户不必知道会话建立的位置,就能与现有会话重新连接。IT
管理员能够使用此功能将每个终端服务器的 IP 地址映射到单一 DNS
条目。此配置还能提供容错,如果其中某一个场服务器无法使用,用户可连接到场内负载次少的服务器。

从列表中选择希望创建为 RemoteApps
的应用程序,然后单击“Next”下一步)。如果其中未包含所需的应用程序,可单击“Browse”浏览)按钮定位其主
EXE 文件。这里所说的主 EXE
文件通常是指用来启动该应用程序的文件。完成向导后,即可开始部署您的远程应用程序。

此时,需要在连接代理服务器上对远程应用程序进行相关属性的配置。它可以让web访问服务器和承载远程桌面服务的服务器相互交流,交换连接和会话信息。

终端服务轻松打印
打印一直是许多终端服务环境系统管理员的噩梦。因为服务器和客户端计算机上必须同时装有相匹配的打印驱动程序,所以最终用户安装打印机时的可选余地较小,系统管理员也必须费心考虑如何在服务器上管理打印驱动程序。相反,有了
TS Easy Print,用户现在可以从 TS RemoteApp
或完整的桌面会话可靠地打印到本地打印设备,无论是直接连接到设备还是通过网络连接到设备皆可。最棒的是,现在无需在终端服务器上安装驱动程序,就能支持打印机。

如果右键单击查看新 RemoteApp
的属性,您就会发现有几个选项可以进行调整。除能够修改名称、位置、图标和别名信息以外,您还可以输入命令行参数。这对于那些启动时需要一组参数才能正常运行的应用程序来说非常方便,此外它还可以与某些应用程序结合使用来创建到远程内容的链接。

1.在远程桌面连接代理服务器上,单击“开始”>“管理工具”>“远程桌面服务”>“远程桌面连接管理器”。
2.在界面左边的面板中,点击顶部的节点,然后在右边的面板点击“属性”。
3.在“连接设置”选项卡中定义显示名称和连接ID。
4.导航到“远程桌面Web访问”选项卡,在服务器名称文本框中为远程桌面
Web访问服务器键入完整的DNS地址。
5.单击“添加”按钮,然后单击“应用”,最后“确定”。

当用户要从 TS RemoteApp
程序或桌面会话打印时,可以在本地客户端看到完整的打印机属性对话框,还可以访问所有打印机功能例如水印、自动分页和装订)。当用户打印时,打印作业在服务器上以
Microsoft XPS 文档格式呈现,并传送到客户端。另外,通过 TS Easy
Print,系统管理员可以使用组策略来限制只重定向到默认打印机的打印机数目,从而减少开销并改进可伸缩性。

许多管理员可能没有立刻意识到,转移到 TS RemoteApps
并不仅仅意味着可以使应用程序呈现在用户的屏幕上。通过某些小技巧,您还可以使用
RemoteApps 自动启动预配置的内容。

为RemoteApp列表添加相应的应用程序

这些都是 Windows Server 2008 中的“重量级”功能。我们会在下文再度讨论 TS
RemoteApp、TS Web 访问、TS 网关以及 TS 会话
Broker。首先,我们看一下此版本中其他同样出色但不太明显的功能。

例如,假设您希望为用户部署的不是应用程序,而是特定的文档。您可能不希望创建将用户链接到空白应用程序例如
Microsoft Office Word 或 Access)的
RemoteApp,例如,您想将其链接到特定的 Word 文档或 Access
数据库。在这种情况下,您可以通过在应用程序的主 EXE
后面输入该文档的名称作为参数来达到此目的。因此,如果希望创建一个到基于
Access 2007 的 PTO带薪休假)数据库的连接该数据库存储在
\\fileServer\fileShare\CompanyPTO.accdb 下),只需创建一个名为 “PTO
Database” 的新 RemoteApp
并输入该文档的位置作为命令行参数即可。现在,当用户双击启动 PTO Database
应用程序时,会自动连接到 Access 并已预加载了正确的数据库。

最后一步是为访问的用户添加应用程序。这个过程相当简单:

 

如您所见,创建到远程内容的连接是扩展 RemoteApps
实用性的另一种方式。但对于所有 RemoteApps
而言,您的用户仍然必须通过连接到图标的链接才能开始操作。在后续部分中,我将讨论在
Windows Server 2008 中使用终端服务完成这些工作的几种方法。

1.在会话主机上,单击“开始”>“管理工具”>“远程桌面服务”>“RemoteApp管理器”。
2.在操作面板中,单击“添加RemoteApp程序”,在向导介绍页面中单击“下一步”。
3.从列表中选择要添加到RemoteApps中的程序。对话框显示的是所有用户开始菜单文件夹中的所有条目,也可以单击“浏览”按钮,然后指定一些位于磁盘中的应用程序。
4.单击“下一步”,查看设置,然后单击“完成”。

安全性功能

从 Web 启动应用程序

一切完成之后,用户便能访问门户网站,他们可以点击需要运行的应用程序的图标,他们的会话和连接也将自动建立。此时,应用程序运行在服务器端。这是一个受控的环境,用户的数据只保留在企业内部的网络上,客户端只负责呈现画面。

安全性在新版本的终端服务中已得到增强。

新的 TS Web Access
角色服务允许在预配置的网页中托管应用程序快捷方式。此角色服务将与环境中的终端服务器相集成,为用户提供一个可以查找并启动其应用程序的位置。图
2 显示了此网页呈现给用户的外观。

有了它,用户只需要一个浏览器登录到端…

网络级别身份验证 (NLA)
和服务器身份验证 (SA)
在旧版的 TS 中,用户在 RDC
客户端上单击“连接”之后,系统会显示登录屏幕,这为恶意攻击者对终端服务器的登录屏幕发动拒绝服务或拦截式攻击提供了可乘之机。现在,NLA
会在 TS
会话开始在服务器运行并向用户显示登录屏幕之前,先让用户、客户端计算机和服务器凭据彼此进行验证。服务器身份验证使用传输层安全性
(TLS) 来帮助确保客户端正在连接的是合法的终端服务器,而不是恶意计算机。

图片 2

单一登录
用户希望能够使用一组凭据用户和密码的组合,或智能卡和 PIN
的组合)只进行一次身份验证,而不是每次使用新资源时都被要求进行身份验证。在此版本中,如果计算机运行
Windows Vista 或 Windows Server 2008 并连接到基于 Windows Server 2008
的终端服务器或 TS 网关,而且加入了域,则现在可以利用单一登录。

图 2 TS Web Access 网页枚举已部署的 RemoteApps

系统级别强化 Windows Vista
和 Windows Server 2008
都有全新的系统级别强化,这基本上会将操作系统的组件模块化,并以较低权限级别来运行它们。在终端服务中,这项功能是通过将内核
TS 引擎 (termsrv.dll) 分成两个不同的组件lsm.exe 和
termsrv.dll,前者为内核会话管理员,后者用于远程连接)而实现的。

要创建此类网页,可在现有 IIS 服务器上安装 TS Web Access 角色,然后将 TS
Web Access 服务器的计算机帐户添加到域中的“TS Web Access Computers Global
Group”TS Web Access 计算机全局组)。请注意,对于一些小型环境,可以将 TS
Web Access 安装到现有终端服务器上以实现单服务器解决方案。

在过去,termsrv.dll 以较高的系统权限级别运行。现在,在新的 lsm.exe
中,只有三分之一的原始 termsrv.dll
代码以该级别运行,其余三分之二都在低得多的网络服务权限级别运行。与
Windows Server 2003 相比,这项更改大幅减小了受攻击面。

完成 RemoteApp 安装后,可以在“TS RemoteApp Manager”TS RemoteApp
管理器)中右键单击已配置的 RemoteApp,然后在 TS Web Access
中选择“Show”显示)将其启用。使用远程桌面客户端 6.1
或更高版本的用户可以随后导航至

RemoteApp。

 

TS Web Access
是一种非常简单的方法,它可以为查找和启动应用程序提供友好的界面。如果应用程序或版本定期更改,这将会非常有用;更新网站仅涉及在
TS Web Access
中隐藏到旧有应用程序或版本的链接,然后在安装新应用程序或版本后显示其新链接。

用户体验功能

但是,此工具也存在一些限制。首先,没有内置的机制来限制用户可以访问的应用程序。每个通过身份验证的用户都可以看到所有在终端服务器上创建的且在
TS Web Access 中设为可见的 RemoteApp。

有不少改进可帮助用户:

第二个问题与用户通常采用的对应用程序的处理方式有关。在启动某个应用程序例如
Word)时,您是否会经常通过单击该应用程序的快捷方式来启动?我敢打赌次数肯定不会太多。比较可能的方式是双击一个现有的
Word 文档来启动应用程序并预加载该文档。

自定义显示分辨率
随着大型监视器的发展和显示分辨率比例类型的日益广泛,Windows
Server 2008 终端服务也进行了升级以满足您的需要。

遗憾的是,TS Web Access
并不支持这种启动应用程序的方式。对于那些习惯于双击文档来启动关联应用程序的用户而言,TS
Web Access
可能不算是一种令人满意的解决方案。不过请不要担心,我们接下来将针对这种情况讨论另外一种更加有用的选项。

用户能够设置自定义显示分辨率高达 4096 x 2048),或将比例更改为 16:9 或
16:10 以获得宽屏幕体验。各种新监视器配置都得到支持,例如分辨率为 1680 x
1050 或 1920 x 1200 的监视器。Windows Server 2003 最高支持 1600 x 1200
的分辨率且只支持 4:3 显示分辨率比例,因此这是一项重大改进。您可以通过
RDC 客户端对话框、.rdp 文件或命令提示符来设置自定义显示分辨率。

从桌面启动应用程序

若要在 .rdp 文件中设置自定义显示分辨率,请在文本编辑器中打开 .rdp
文件,并添加或更改下列设置请注意 <value> 是分辨率,例如 1680 或
1050):

对于那些希望通过双击文档来启动应用程序的用户,现在终端服务提供了将远程应用程序的链接“安装”到桌面的功能。此过程可将
RemoteApp 的 RDP 文件有效地封装到 Windows Installer 程序包一个 MSI
文件)中,随后可将其安装到环境中的桌面上。

复制代码

同时,安装的 MSI
可以修改桌面上的文件扩展名关联,以将双击的文件重新路由到终端服务器上与其关联的
RemoteApp。图 3 显示了在客户端系统上安装 Word RemoteApp
后,对文件扩展名关联所做的修改。此时,双击任何常见的 Word
文件扩展名都将会通过“远程桌面连接”启动 Word。

desktopwidth:i:<value>
desktopheight:i:<value>

图片 3

若要从命令提示符设置自定义显示分辨率,请按下列语法使用 mstsc.exe
命令请注意 <width> 和 <height> 是分辨率,例如 1680 或
1050):

图 3 修改为启动“远程桌面连接”的文件扩展名关联

 

要从现有的 RemoteApp 创建 Windows Installer 程序包,首先导航至“TS
RemoteApp Manager”TS RemoteApp 管理器)。右键单击所关注的 RemoteApp
并选择“Create Windows Installer Package”创建 Windows Installer
程序包)。默认情况下,所有已创建的 Windows Installer 程序包都存储在
C:\Program Files\Packaged Programs 下,但可以利用 RemoteApp
向导来更改此位置。在向导中还可以配置将要托管 RemoteApp
的服务器的名称和端口以及服务器身份验证、证书设置和 TS 网关设置等。

复制代码

安装到候选桌面后与应用程序位置相关的设置如图 4
所示。如您所见,快捷方式不但可以在桌面上创建,还可以在“开始”菜单文件夹中的某个位置创建。此屏幕中最重要的复选框是屏幕最下方的复选框。此复选框用于“取代”客户端设置,它会将与
RemoteApp
的所有文件扩展名关联从本地桌面重新关联到终端服务器。如果希望使用户能够通过双击文档来启动其
TS
托管的应用程序,必须选中此复选框。单击“Next”下一步)和“Finish”完成),结束此向导。

mstsc.exe /w:<width> /h:<height>

图片 4

监视器扩展
远程桌面会话现在能够扩展到多台监视器。要使这项功能正常运行,有几项先决条件:

图 4 创建 Windows Installer 程序包可启用客户端文件扩展名的关联

  • 所有监视器都必须使用相同的分辨率。例如,您可以扩展到都使用 1024 x
    768 分辨率的两台监视器,但不能扩展到分辨率分别为 1024 x 768 和 800 x
    600 的两台监视器。

  • 所有监视器都必须水平对齐也就是并排)。目前不支持在客户端系统上垂直扩展多台监视器。

  • 所有监视器的总分辨率最高不得超过 4096 x 2048。

很明显,使用桌面安装将用户连接到应用程序的优势在于它不需要改变用户的行为。应用程序安装完毕后,用户可以像以前一样通过双击文档来启动应用程序。

若要在 .rdp 文件中启用监视器扩展,请在文本编辑器中打开 .rdp
文件,并添加或更改下列设置注意:<value>=0
表示监视器扩展已禁用,<value>=1 表示已启用):

但是这种方法本身也存在着弊端,那就是需要执行额外的桌面管理工作。以这种方式使用的每个
RemoteApp
在每个需要访问的桌面上都必须执行安装。虽然此过程可通过“组策略软件安装”稍后会进行讨论)加以简化,但它仍然增加了管理负担。而且,当应用程序更改时,很可能每个桌面上安装的
RemoteApps 也需要更新。

复制代码

创建了 Windows Installer
程序包后,通过“组策略软件安装”来安装此程序包的过程并不复杂。首先,创建一个可供组策略访问的文件共享。在单一终端服务器方案中用于此文件共享的理想位置可能当属终端服务器上默认的
C:\Program Files\Packaged Programs
文件夹。确保已为该文件夹和共享分配了适当的权限,以便客户端能够在“组策略”处理过程中访问该共享。然后,创建新的组策略对象
(GPO) 并导航至“Computer
Configuration”计算机配置) | “Policies”策略) | “Software
Settings”软件设置) | “Software
installation”软件安装)。右键单击“Software
installation”软件安装),选择“New”新建) | “Package”程序包)。在出现的对话框中,定位针对
RemoteApp 创建的 MSI 文件。在询问部署方法时,选择“Advanced”高级)。

Span:i:<value>

此时您可以进行选择。RemoteApps 的安装程序非常小,只会在 C:\Program
Files\RemotePackages 文件夹中安装 RDP
文件和图标,因此您可能希望选择此选项以便在超出管理范围时“卸载”此应用程序。选择此选项后,每次删除
GPO 时或计算机被移动到 GPO 不再适用的新 OU 时,RemoteApp
都会自动从计算机中移除。启用此选项可以在计算机和应用程序移入或移出管理范围时简化
RemoteApp 的移除过程。

若要从命令提示符设置监视器扩展,请按下列语法使用 mstsc.exe 命令:

 

复制代码

用户体验

mstsc.exe /span

通过这些机制中的任意一种来部署应用程序都非常出色,但终端服务管理毕竟不仅仅局限于创建和部署应用程序。确保您的实现能够满足用户需求也同样重要。在任何有关应用程序交付的讨论中,考虑主观性能指标以捕捉用户体验的质量都至关重要。尽管很难使用硬性指标进行量化,但有效的终端服务部署必须考虑将用户的总体满意度作为定义成功的量度。

桌面体验
桌面体验让终端服务的桌面更像 Windows Vista
桌面体验。这项功能向远程桌面添加了几个组件,包括 Windows Media Player
11、桌面主题以及相片管理。以下是启用桌面体验的方法:

例如,在某些情况下用户可能会觉得很麻烦,特别是当多人共享同一服务器上的资源时。使用终端服务时,多个用户需要挤在单一服务器上共享该服务器中安装的应用程序。将大量用户汇集到少数几台服务器上可以减少应用程序的数量,从而简化应用程序的管理。需要管理的应用程序越少,意味着所需的修补程序越少、环境更容易控制,而且管理难点也会更少。

服务器重新启动后,您必须确认桌面体验功能已安装。

这种对用户的整合需要终端服务器管理员担当起系统维护者的角色。经验丰富的管理员可以通过观察用户在系统中的行为并主动制定应对措施来管理终端服务器场。通过进行重新配置和锁定防范等更改,可确保单个用户的不当行为不会影响其他用户的体验。