终端服务允许组织通过各种Windows设备在各地访问标准Windows程序,无论是内网还是外网这种访问都是畅通无阻的。而在Windows Server 2008的终端服务中则包含了无缝集成的远程程序。我们先介绍一下关于远程计算的的四个W,然后介绍具体的安装配置。
什么是远程程序(what)
远程程序是一种通过终端服务运行的实现远程访问的程序,这种程序看上去就好像是运行在用户的终端计算机上一样。用户可以并行的运行他们的本地程序以及远程程序。如果一个用户在同一台终端服务器上运行多个远程程序的话,远程程序将会共享同一个终端服务会话。
在Windows Server 2008中,用户可以通过下面的三种方式来运行远程程序:
1. 双击一个管理员创建并分配的.rdp文件
2. 双击桌面上的一个程序图标或者在开始菜单中点击管理员创建并分配的.msi文件。
3. 双击一个后缀与远程程序关联的文件,它们将会被管理员通过.msi的安装文件进行配置。
.rdp和.msi文件包括了运行远程程序所需的设置。在本地计算机上运行了远程程序后,用户可以像运行本地程序一样对运行在终端服务器上的远程程序进行交互。
为什么需要远程计算? (Why)
从表面上来看,我们确实不需要用PC来满足大多数的计算需求,计算机资源的利用率极低——在白天的时候,很多人的计算机的处理器只有百分之几的 时间处于繁忙状态,而在夜间甚至根本都不用计算机。即便是以数据中心为例,对不同的数据中心而言,在通过虚拟化实现服务器整合之前,其利用率也通常只有 5%-15%。
另外,我们经常还要做大量工作,来升级操作系统和应用软件,确保计算机免受病毒、恶意程序和其他安全威胁的攻击,并对数据定期进行备份。尽管这些方面已经实现了一定的自动化,但还是有很多人会一天到晚地提醒你升级、更新、重新购买种种软硬件产品的最新版本,这实在是有点烦!想想看,如果电视机也要这样不停地升级,我们的生活将会怎样?
还有一个问题就是,如果文件被存放在不同的机器上,这也会带来一些不便,因为这些机器之间可能无法容易地相互访问。假设我在家里、在单位、在度 假时会同时操作同一个文档,这通常就会需要各种各样的软件来支持。而如果互联网可以提供一种简单的、在线的、分布式计算环境的话,我们的工作和生活又会怎 样呢?估计麻烦会少很多。
哪些人,哪些场景需要远程程序 (when,where)
对于例如评估产品的IT规划师和分析师,企业IT规划设计者以及先期的测试用户来说,远程程序是非常有用的。而远程程序的应用场景则主要集中在下面几方面:
· 商业应用程序部署线
· 漫游用户
· 应用程序部署
1)业务部门应用程序
作为一个合并的按理,公司间的并购是一个非常典型的案例,公司需要为不同的Windows版本和配置指定出一致的业务部门应用程序。比起花费大量财力物力 在所有的计算机上部署业务部门应用程序的做法,选择使用远程程序,将业务部分的应用程序安装在一台终端服务器上不失为一种明智之选。
2)漫游用户
在很多的公司都会配置自己灵活的桌面策略,用户可以非常方便的工作于不同的计算机上,在这种环境下,很多的软件其实并不需要安装到本地的计算机上,使用远程程序,只要程序所安装在的终端服务器对用户一直可用就可以满足用户的需求。
3)应用程序部署
使用远程程序,管理员无需在去每台计算机上部署和维护相同程序的不同版本,如果用户需要使用某个程序的不同版本,那么这些不同的版本可以安装在一台或者多台终端服务器上,用户可以通过这些服务器来使用远程程序。
部署远程程序的必备条件
要想部署远程程序,我们需要注意以下几点:
首先,我们必须要通过Windows服务器初始化配置任务(OOBE.exe)安装终端服务,并且使用添加角色向导来安装和配置终端服务。如果你使用的是Windows Server 2008 Beta 2 的版本,那么你必须在安装完终端服务后重启两遍计算机,然后通过检查服务器管理工具的角色汇总页来确认终端服务的安装情况。
在用户本地计算机运行远程程序时必须要使用Windows Vista的远程桌面连接,而对于许可证的数量则是等同于终端服务的许可证数量。
在使用远程程序时推荐的终端服务器配置
根据下面的概述,我们可以完成对于终端服务器的配置,首先,我们来配置远程程序的登录设置,点击Start, 选择 Administrative Tools,然后点击 Terminal Services Configuration右击RDP-Tcp选择其中的Properties点击Logon Settings 页签,检查Use client-provided logon information 选择是否已经被选择上,然后验证 Always use the following logon information 选项以及 Always prompt for password 的复选框没有被选中。
在使用远程程序时,用户可能会遇到一些问题,例如当用户开启一个snap-in工具时,如果弹出一个Windows安全警 告对话框显示"Windows needs your permission to use this program",点击Permit就可以了,而对于远程程序创建的.rdp文件则是配置需要SSL/TLS授权认证的,如果用户的终端服务器没有配置支 持SSL/TLS授权认证,那么用户需要一个文本编译器,例如最简单的记事本工具来编辑.rdp文件取消对于SSL/TLS的授权认证需求。如果你试图通 过Takeover Client Extensions创建一个.msi文件,而这个又没有任何关联的后缀,那么你会收到一个错误信息,.msi文件页不会被创建。错误信息将会提示用户 "available disk space and write access to the specified directory"。
部署远程程序的步骤
要想完成远程程序的部署,我们需要完成下面的任务:
· 发布一个应用程序
· 创建一个RDP 包
· 创建一个 MSI 包
· 调整远程程序包设置 (可选)
· 分发 .rdp 或者 .msi 文件
下面我们就来看每一步的具体操作,首先就是发布一个应用程序,运行微软管理控制台(mmc.exe)添加终端服务应用程序发布(Terminal Services Application Publishing)工具,在动作页点击Publish an Application来开启远程应用程序发布向导。在向导的选择要发布的应用程序页,选择你希望发布的安装在终端服务器上的应用程序。当向导完成后,发 布的应用程序列表将会出现在终端服务应用程序发布(Terminal Services Application Publishing)工具的发布窗格中,如果想发布其它的应用程序,就再次运行远程应用程序发布向导。已经被发布的应用程序不会再出现在可选的应用程序 发布窗口中。要想删除在发布列表中的应用程序,只需点击发布窗格中的应用程序名字,然后点击动作栏中的Remove。
下面我们来创建RDP包,首先选择刚才发布的应用程序名在动作窗口点击Create RDP Package开启远程应用程序发布向导。在向导的详细包设置页,选择一个位置来保存向导创建的.rdp文件。用户需要创建一个集中的文件夹来保存所有向 导创建的.rdp文件。当向导完成后,保存.rdp文件的文件夹将会自动打开,以便用户确认文件成功保存,反复执行上面的操作,用户就可以为相同程序的不 同的设置创建出多个RDP包,创建的文件名会自动在后面加上括号和编码,例如Remote WordPad (1).rdp.
创建MSI包的过程和创建RDP包大致类似,只是选择时选择Create MSI Package就可以了,需要注意的是,在向导的配置分发包页面,用户可以选择终端用户计算机上应用程序图标出现的位置。同时也可以修改终端计算机对于远程程序关联的后缀名。
下面我们来调整远程程序包的设置(可选)
使用记事本工具打开刚才创建的.rdp文件,按照自己的需要添加或者修改下面的设置,
Authentication Level:i:value
· If i =0: SSL/TLS authentication not attempted.
· If i =1: SSL/TLS authentication required. (Default)
· If i =2: SSL/TLS authentication attempted but not required.
remoteapplicationname:s:Program_name
· 为程序提供一个用户可以看到的名称
remoteapplicationicon:s:Path_to_icon
提供一个显示给用户的图标的完整路径
如果创建的是一个.msi的文件,那么用户就不能通过记事本这样的工具来调整设置,但是用户可以在.rdp文件安装在终端用户计算机上后修改包含在.msi文件中的.rdp文件。
最后我们来分发.rdp或者.msi文件,如果是.rdp文件,那么我们可以通过常用的软件分发程序来分发到终端用户,例如微软的Microsoft Systems Management Server。
如果是.msi的文件,那么我们不尽可以使用Microsoft Systems Management Server分发,还可以借助活动目录组策略来完成分发。
每个终端服务器的下一版本都会更加接近一个完美的解决方案,尽管新的终端服务远程功能仍然有一些需要由第三方产品弥补的缺陷,但是已经添加的很多功能使配 置大量服务器变得更加容易。通过使用终端服务器远程程序,企业可以大大降低其为用户群提供的远程方式访问任务关键级客户机/服务器应用程序所需的成本费 用。除了在硬件、第三方加载项和支持成本方面节约的大量资金外,全新的远程访问解决方案还可以节省管理费用,并且提供更加无缝的终端用户体验,同时提升系 统的可用性时间。