桌面檔案了解 RDP

Wes Miller

遠端桌面通訊協定 (或稱 RDP) 可讓您從遠端存取機器。這是一項非常實用的技術,而且幾年來無疑地拯救了無數的系統管理員。RDP 提供越來越完善的遠端存取支援具有悠久的歷史。它是在 1998 年於 Windows NT 4.0 終端機伺服器版

(TSE) 中引進,並且在之後幾乎每個 Windows® 版本中都有改進。

自 Windows 2000 開始,隨著終端機服務以 Windows 選用元件的形式推出,並且可供設定,讓您的系統用作為實際的終端機伺服器或使用我們現在所謂的遠端桌面,使得幾乎人人皆可輕鬆從遠端存取伺服器系統。Windows Server® 2003 和 Windows XP 提供了最純然的遠端桌面功能,允許您如在本機般地控制系統。如今,我每天都使用遠端桌面從遠端存取家用電腦和伺服器,也用它來使用 Media Center Extender。

Windows XP 與 Windows 之後的版本加入了遠端協助,此功能提供一種類似於遠端桌面的體驗,但主要是針對本機使用者向遠端使用者求助而設計的。隨著遠端存取支援不斷演進,Windows Vista® 現在允許遠端使用者在群組原則許可下提供遠端協助。

您會發現,遠端桌面將此一強大的功能帶入新境界,而且它所提供的一切將讓您受用無比。當然啦,遠端桌面還是有些限制,但它也有許多優點。現在讓我們一一來討論。

好的,壞的,還有超棒的

在 Windows XP 上 (除了 Media Center Edition 例外),主要的限制是一次只能登入一個互動式使用者。Windows XP 中的快速切換使用者雖然允許登入一名以上的使用者,但只有一名使用者能使用滑鼠或鍵盤進行互動,無論是位於電腦的本機或遠端。而在 Windows Server 的版本中 (非執行為終端機伺服器),一次則可以連接兩個遠端桌面工作階段。若要在 Windows Server 2003 中透過遠端桌面連線到實際的主控台工作階段,您以選用參數 /console 來啟動終端機服務用戶端應用程式 (MSTSC.exe)。主控台工作階段之所以非常重要是因為有些舊版的應用程式並沒有經過適當設計,將終端機服務工作階段列入考量,而往往只會在主控台工作階段 (工作階段 0) 上顯示對話方塊。[圖 1] 顯示在 Windows Server 2003、Windows XP 和 Windows Server 2003 遠端桌面登入主控台工作階段的使用者將強制授權,以確保只有許可的使用者數目進行互動式登入。

[圖 1] 登入工作階段 0

[圖 1]** 登入工作階段 0 **(按影像可放大)

此外,網路頻寬和群組原則兩者也都會影響遠端桌面的體驗。Windows XP 能傳達高達 24 位元的解析度,並且會重新導向聲音、本機印表機、磁碟,還會提供剪貼簿供剪貼之用。由於遠端桌面取得螢幕所採用的方式,從遠端工作階段移除圖形項目 (主題、背景等) 大幅改進了可用的網路頻寬,進而使得工作階段更能回應使用者。Windows Vista 以此為基礎並加入了 32 位元解析度及額外的裝置重新導向。

有些事要注意的是,像是需要大量以圖形表示的作業,如果沒有足夠的頻寬,即使是最佳的遠端桌面工作階段也深具挑戰性,所以理當適當地規劃。

Windows Vista 中的新功能

Windows Vista 已大幅修改遠端桌面。我之前有提到,32 位元顯示解析度和字型平滑化都是最顯著的一些更動。另外一項相關的增強是跨多重監視器執行 Windows Vista 工作階段的功能,透過使用 /span 命令啟動終端機服務用戶端。請注意,/span 僅適用於 Windows Vista 遠端主機系統,用戶端上不同的監視器必須具備相同的解析度,而且都要經過校準。跨距的運作方式是把遠端系統 (用戶端) 當作一個大螢幕。這表示將應用程式最大化可能會產生您不預期的結果,包括位置不便而必須由使用者移動的對話方塊。

另外,如果您的連線用戶端是 Windows Vista 用戶端,而遠端系統是 Windows Vista 系統,您可以在 Windows Aero™ Glass 模式執行遠端工作階段的使用者介面 (只要本機系統支援 Aero Glass,遠端系統不支援也沒關係)。這是 Windows 遠端桌面重建的成果,以在用戶端系統 (如果用戶端是 Windows Vista 的話) 上執行絕大部分的視窗管理作業,藉此改進使用者體驗並同時降低頻寬使用。

Windows Vista 也帶來了一項重要的安全性增強,也就是網路層級驗證 (Network Level Authentication,NLA)。NLA 有助於防杜攔截式 (man-in-the-middle) 攻擊,在這類攻擊中惡意使用者會假冒伺服器,讓誤認為它是您正在連線的伺服器。NLA 也會改進驗證體驗,它採用的方法是不啟動完整的 Windows 使用者介面來進行驗證,對遠端系統的衝擊能降至最低並使它較不易遭到阻絕服務攻擊。NLA 要求在用戶端和遠端系統上都必須安裝 Windows Vista。[圖 2] 說明如何透過 RDP 6.0 用戶端來指定是否要強制驗證、是否要警告,或者是否要強迫要求。請注意,如果您連線的遠端系統是執行 Windows Vista 以前的 Windows 版本,應該要確保將它設為至少針對該次連線提出警告,否則將無法進行連線。

[圖 2] 進階連線喜好設定

[圖 2]** 進階連線喜好設定 **(按影像可放大)

改進的資源重新導向 (不光只是磁碟和印表機) 是 Windows Vista 中另一項重大的 RDP 增強。只要遠端系統上有驅動程式且裝置支援重新導向,您就可以重新導向包括智慧卡在內的許多新裝置類型。其他的裝置類型可由其廠商支援。

Windows Vista 也透過 RDP 6.0 用戶端支援閘道伺服器。這讓使用者不需要 VPN 連線或任何協力廠商軟體,便可毫無阻礙地經由網際網路連線到辦公室的系統。[圖 3] 顯示終端機服務閘道伺服器設定。您可以把閘道伺服器想成類似 VPN 但是只需要 RDP 6.0 用戶端軟體,而不需要任何特定用戶端軟體(不需要任何 VPN 設定或專利軟體)。

[圖 3] 終端機服務閘道伺服器設定

[圖 3]** 終端機服務閘道伺服器設定 **(按影像可放大)

Windows Vista 也包含了一項新功能的基礎結構,此功能稱為 RemoteApp™。RemoteApp 的作用如下:遠端桌面一般會讓您連線到整個 Windows 工作階段。但假若您只想執行 Microsoft® Word 或 Microsoft PowerPoint®,RemoteApp 的功能可以讓您這麼做。在 Windows Server 2008 中更將啟用強大應用程式共用的情況列入考量。

除此之外,Windows Vista 內也添加了對 Windows 桌面共用 API 的新支援,此 API 允許發行共用的合作應用程式。Microsoft 終端機伺服器小組在 blogs.msdn.com/ts/ archive/2007/03/23/writing-a-desktop-sharing-application.aspx 提供的範例應用程式,示範了 Windows 桌面共用 API 的運作方式。

Windows Vista 及之後的版本中有一項重大變更值得注意:工作階段 0 (標準上是指主控台工作階段,也就是舊版應用程式會顯示對話方塊訊息的工作階段) 一般是不供使用者存取。這減少了系統服務 (在工作階段 0 內執行,即使是非互動性) 與互動式使用者之間的互動。它也在焦點一直放在降低權限 (透過使用者帳戶控制和其他安全性增強) 的 Windows Vista 中,縮減了因過度授權的服務和互動式使用者所導致的攻擊表面。除非您是在 Windows Vista 上執行舊版軟體,並且它是在安裝時或當應用程式執行時行為異常,否則一般來說您並不需要擔心。

在何處尋找遠端桌面

遠端桌面要注意的一個重點在於它的應用之處。Windows XP Professional Media Center Edition 和 Tablet PC Edition 全都包含遠端桌面功能,Windows Server 2003 的所有版本也都包含此功能。Windows Vista 在商用入門版、商用進階版和旗艦版中包括遠端桌面功能。Windows 的家用版,包括 Windows XP 家用版,以及 Windows Vista 的所有家用版,皆不包含遠端桌面功能。

終端機服務用戶端

您可以在 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 用戶端

[圖 4]** RDP 6.0 用戶端 **(按影像可放大)

MSTSC.exe 6.0 版具有眾多的命令列參數,如下所示。現在就來一一討論。

mstsc [<connection file>] [/v:<server[:port]>]
[/console] [/f[ullscreen]] [/w:<width>] [/h:<height>]
[/public] | [/span] [/edit "connection file"] [/migrate] [/?]

/v:<server[:port]> 可指定您想要連線的遠端電腦,以及一個選擇性連接埠值 (連接埠 3389 是預設,所有 Windows 版本上都可以變更此值)。

/console 可讓您連線到舊版 Windows 的主控台工作階段。此設定不適用於 Windows Vista 或 Windows Server 2008。

/f 以全螢幕模式啟動遠端桌面連線。

/w:<width> 指定遠端桌面連線視窗的寬度。

/h:<height> 指定遠端桌面視窗的高度。

/public 以公用模式執行遠端桌面連線。在公用模式中,RDP 用戶端並不會快取任何資料到本機系統。例如,當利用會議中心的系統連線到企業伺服器的時候請使用公用模式。

終端機服務其他神奇之處

您可能不是很熟悉其他兩種使用終端機服務元件的 Microsoft 技術是如何發揮魔力的。Windows XP 和 Windows Vista 的快速切換使用者這種運作方式可讓多名使用者登入相同的系統,但在使用者內容之間快速切換,無須強迫任何使用者登出。Windows Media Center Edition (以及 Windows Vista) 都是以這種基礎結構為本建置而成,以允許 Media Center Extenders (實際上是具備音訊/視訊轉譯技術和轉碼器的精簡型用戶端終端機) 在電視上經由有線或無線連線從遠端登入並呈現 Media Center 體驗。在 Windows XP 中,這兩者皆是非商務相關的案例 — 因為兩者都需要一個未加入網域且啟用快速切換使用者的系統。請謹記兩者在 Windows Vista 產品的商用版皆有提供,但應用上並非商務主流, 因此本文不加贅述。

/span 將遠端桌面寬度和高度與本機虛擬桌面比對,必要時橫跨多個監視器。請注意監視器必須全都具備相同的高度,且經過並排校準。

/edit 開啟指定的 .rdp 連線檔案以進行編輯。RDP 檔案是用來存放指定遠端系統的連線資訊。

/migrate 將使用戶端連線管理員建立的舊版連線檔案移到新的 .rdp 連線檔案。

MSTSC 用戶端當中的許多增強功能在使用終端機服務 ActiveX® 控制項,還有使用 TSMMC.msc 從相同主控台連線到多重系統時也都可以使用,說明如下。

Windows Server 2008 中的新功能

除了針對 Windows Vista 所提到的所有功能和變更之外,Windows Server 2008 還包括自己的遠端桌面功能: Terminal Services Web Access 和 Terminal Services Easy Print。

TS Web Access 允許某人使用網頁瀏覽器檢視在遠端伺服器啟用的程式 (如 RemoteApp) 清單,並輕鬆地按一下滑鼠按鍵藉由遠端桌面 Active 控制項啟動這些程式。從某些角度看來,您可以把這種體驗想成是類似於我在上個月的 Microsoft Desktop Optimization Pack 專欄提到的 SoftGrid Application Virtualization 體驗,當中遠端使用者不需要任何本機安裝的軟體便可輕鬆地啟動應用程式。觀察接下來幾年採用 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 Management Console (MMC)。透過在此處將遠端系統新增成節點,您能迅速且輕鬆地從相同的使用者介面在多重系統之間切換。[圖 5] 顯示 MMC 體驗的樣貌。MMC 嵌入式管理單元是 Windows Server 2003 Administration Tools Pack 的一部分,最新的版本可從go.microsoft.com/fwlink/?LinkId=91685 取得。

[圖 5] MMC 頁面

[圖 5]** MMC 頁面 **(按影像可放大)

另外一個我碰巧發現的有趣秘訣跟剪貼有關。跨用戶端和伺服器進行剪貼是 Windows XP 的新功能。為了讓它能夠順利操作,用戶端和伺服器都必須執行 Windows XP,而且剪貼簿也必須重新導向 (見 [圖 6])。Windows Vista 用戶端也同樣支援剪貼,只要在連線時啟用剪貼簿重新導向即可。

[圖 6] 本機資源設定

[圖 6]** 本機資源設定 **(按影像可放大)

另外一個重點是可能派上用場的鍵盤快速鍵 (例如 Ctrl+Alt+Delete) 並不會經由網路傳輸到遠端系統,只能在本機系統上操作。若要傳送 Ctrl+Alt+Delete 到遠端系統,請在用戶端上按 Ctrl+Alt+End。

最後建議讀者定期造訪 Microsoft 終端機服務小組的部落格,網址是 blogs.msdn.com/ts,本人就經常閱讀這個的部落格。

我個人覺得遠端桌面和終端機服務讓我的生活快活許多,很難想像沒有它們的日子怎麼過。我希望本文對於 RDP 6.0 用戶端和 Windows Vista 與 Windows Server 2008 中的新功能提供了一些精華的剖析。

在此特別感謝終端機服務小組資深程式經理 Nelly Porter 針對本專欄研究所提供的協助。

Wes Miller在德州奧斯丁的 Pluck 公司 (www.pluck.com) 擔任開發經理。他之前任職於奧斯丁的 Winternals Software,並且曾在 Microsoft 擔任 Windows 的專案經理與產品經理。您可以透過電子郵件與 Wes 連絡:technet@getwired.com

© 2008 Microsoft Corporation and CMP Media, LLC. 保留所有權利;未經允許,嚴禁部分或全部複製.