Windows 系統管理

Windows Vista 中關於離線檔案的變更

Jeremy Moskowitz

 

摘要:

  • 連線與離線持續性
  • 檔案可用性
  • 離線資料夾的演化

桌面管理最棘手的難題之一是讓離線使用者能像連線一般地工作。這類需求比您想像中得更迫切,比起五年前,使用者現在具有更高的行動力。雖然有很多工作的確需要離線處理,

但是這三種最常見的情況確實需要離線處理:將膝上型電腦與公司網路中斷連線準備上路、在緩慢或斷斷續續的連線環境中進行連線,以及分公司與總公司之間失去連線。

遇到這些情況,要如何在檔案正本放在主要伺服器的同時,使離線電腦保存檔案的副本?更重要的是,要是總公司的人修改伺服器上的檔案,而出差員工又對它進行修改,要如何處理這樣的衝突呢?幸好,內建於 Windows® 2000、Windows XP 和 Windows Vista® 的離線檔案引擎可以處理這些問題。

答案在於快取

離線檔案引擎是個名副其實的大型快取機器。沒錯,私底下 (還有在 Microsoft 內部) 它又叫做用戶端快取 (CSC)。離線檔案引擎可設定並極有彈性,使用者可以決定想快取的內容,並設定使系統快取所需內容。您可以像連線一般地離線存取同一檔案,並不會影響命名空間。也就是說,無論是在線上或離線工作,都是使用相同的 UNC 路徑或磁碟機代號來存取檔案。

您可以將檔案設定成手動或自動快取。如果已經知道外出時會經常用到哪些檔案或資料夾,只要先將它們指定為隨您出差就行了,設定方法如下:Windows XP 使用者可按一下滑鼠右鍵,叫出儲存在本機或網路共用上的檔案,接著選取使檔案可離線使用的選項 (見 [圖 1])。在 Windows Vista 中,此選項稱為 [永遠可以離線瀏覽]。以手動方式使檔案可以離線使用有時候稱為固定 (Pin) 檔案。

[圖 1] 使檔案可離線使用

[圖 1]** 使檔案可離線使用 **(按影像可放大)

[圖 1a] 離線檔案資料夾

[圖 1a]** 離線檔案資料夾 **

使用中的共用可以透過 UNC 路徑或與磁碟機代號對應來連線。沒錯,檔案不一定要儲存在執行 Windows Server® 機器上。它可以存在於可提供 SMB (伺服器訊息區) 通訊協定的任何項目,例如 Samba 伺服器或 NAS 裝置 (有些極少數的例外),它們也都遵守 SMB 通訊協定。

第一次選擇固定檔案時,Windows XP 會帶您逐步完成一連串的精靈畫面,詢問您何時進行同步處理。如果您在每個畫面上都按 [下一步] 並接受預設值,同步處理便會在您每次登入或登出時執進行,還有閒置時在背景進行。精靈完成後,圖示將會變更,表示檔案現在已經可以離線使用。

一旦與網路中斷連線,除了已選擇為可離線使用的檔案,共用上其他所有檔案都無法使用。這有時候會出問題:圖示會顯示哪些檔案永遠可以離線瀏覽,但要等到中斷連線之後,才能看出來並不是所有其他檔案都可以使用。這我會在本文稍後詳細討論。

手動使檔案可離線使用有它的好處,但是有時候採取較為自動的方式可能比較妥當。接下來我會透過自動快取來探討這個案例。

自動快取優於手動快取的情況

自動快取是在伺服器按共用逐一設定而成。假設有個共用叫做 Sales,您想讓業務人員帶著檔案出差,就可以指示 CSC 引擎如此處理。[圖 2] 顯示按下 Windows Server 2003 的 [快取] 索引標籤後出現的 [離線設定] 對話方塊。[圖 3] 中說明了設定的內容。

Figure 3 自動快取設定

設定 描述
只有使用者指定的檔案和程式可以在離線時使用。 允許使用者手動指定可離線使用的檔案。這是預設值。
使用者從共用開啟的所有檔案和程式將可於離線時使用。 允許自動快取 Windows 檔案總管接觸過的所有檔案和程式。[效能最佳化] 設定適用在快取程式而不是用到文件上,但是它對效能通常沒有影響,因此在大多數的情況下可以忽略,而不會產生問題。Windows Vista 便完全忽略此選項。
來自共用的檔案或程式無法離線時使用。 當用在 Windows 2000、Windows XP 或 Windows Vista 用戶端上時,封鎖使用者存取供離線使用的項目。
   

[圖 2] Windows Server 2003 的 [離線設定] 對話方塊

[圖 2]** Windows Server 2003 的 [離線設定] 對話方塊 **(按影像可放大)

要了解自動快取的運作方式,先假設有個 Sales 共用,裡頭有 10 個檔案 (Sales01.txt ~ Sales10.txt),[所有檔案和程式] 的設定也已經啟用,使用者從共用開啟這些檔案時可自動離線使用。可是結果並非立即可見。對於使用者來說,他們看不出有更多檔案突然可以離線使用的跡象。而且,只有用 Windows 開啟 (因而快取) 的檔案之後才能提供離線使用。簡單來說,您必須在實際從網路中斷連線前,親自在線上開啟想要離線使用的檔案才行,否則就無法離線使用這些檔案。

再者,自動快取的檔案也不一定會一直保存在快取中。Windows XP 和 Windows Vista 處理這個暫時空間的方式不太一樣,不過重點是檔案可能因空間的限制而被排除掉。有用到的檔案才會保留下來。有段時間未開啟的檔案會被排除以將空間留給開啟的新檔案。因此,雖然您近來接觸過的檔案很可能還留在快取中,但是別以為自動快取會保證這些檔案可用。要確定檔案確實可用,就得固定檔案。身為系統管理員,您也可以使用群組原則透過管理方式指派的離線檔案設定來固定檔案。

讓我們來看看一個實際的操作範例。假設叫做 EastSalesUser1 的 Windows XP 使用者開啟了叫做 Sales05.txt 的檔案,另一名叫做 EastSalesUser2 的 Windows Vista 使用者開啟了 \\server\sales 共用上的 Sales05.txt。

由於 Sales 共用上已設定自動快取,所以當 EastSalesUser1 (Windows XP 上) 和 EastSalesUser2 (Windows Vista 上) 離線時,還是可以使用那些檔案。Windows 已在離線檔案快取中儲存了這些檔案的副本。但其他使用者沒用到的檔案怎麼辦呢?

Windows XP 和 Windows Vista 對於被留置在辦公室的檔案有不同的處理方式,如 [圖 4] 和 [圖 5] 所示。Windows XP 對於沒有快取到的檔案隻字不提,離線後,這些檔案可能就莫名其妙的蒸發了。相對的,Windows Vista 則會顯示圖示覆疊,並替未經快取的檔案標上暗灰色的 X。對於顯示可離線使用的檔案,這可是一大進展。唯一的問題就在這些現象只有在中斷連線後才看得到,在連線工作階段是不會出現的。所以說能使檔案的狀態更明確得卻是求之不得的進步。

[圖 4] Windows XP 只有在離線後才顯示可用的檔案

[圖 4]** Windows XP 只有在離線後才顯示可用的檔案 **(按影像可放大)

[圖 5] Windows Vista 在離線時顯示無法使用的檔案

[圖 5]** Windows Vista 在離線時顯示無法使用的檔案 **(按影像可放大)

可用還是不可用

有些系統管理員對於利用離線檔案猶豫不決,正是因為擔心混淆,到底哪些檔案肯定可以離線使用,哪些不行,還有判別方式都需要處理。在 [圖 5] 中,sales01.txt 上的綠色圓形圖示指出檔案保證可用 (再次強調,檔案固定後就保證可離線使用)。

不過,先前有解釋過,Windows XP 和 Windows Vista 兩者透過自動快取供離線使用的 Sales05.txt 並非一定真的離線可用。切記,唯有您接觸過的檔案才可離線使用。因此,如果系統能指明檔案暫時或可能離線可用的話,該有多好。由於沒有圖示加以區別,因此可能很難判斷出哪些檔案可離線使用。Windows Vista UI 在這方面比較好一點,但也要眼睛銳利才看得到。Windows Vista 中有個叫做「離線可用性」的檔案總管屬性倒是有提供可用性的資訊。當項目處於選取的狀態時,預覽窗格中會顯示這個屬性。如果項目是固定的,則其值會是 [可隨時使用]。如果未固定但已快取,則其值會是 [可用]。

Windows XP 和 Windows Vista 中檔案暫時可離線使用的概念雷同,但是實作的方式稍有差異。[圖 6] 說明 Windows XP 和 Windows Vista 處理離線檔案的方式。

[圖 6] Windows XP 和 Windows Vista 離線檔案區域

[圖 6]** Windows XP 和 Windows Vista 離線檔案區域 **

簡單的說,Windows XP 和 Windows Vista 都有個地方可保存離線檔案,但是兩個作業系統存放總是和暫時可離線使用的檔案在作法上不盡相同。

對於 Windows XP,永遠可離線瀏覽的檔案 (由圖示變更指定,如 [圖 1] 所示) 是固定放置在存放它們的地方。要是手動固定 10GB 的檔案,使它們永遠可離線瀏覽,則整個 10GB 將永遠可用。使用者可固定的檔案數目並沒有任何限制 (不受磁碟分割最上限的限制)。然而,Windows XP 最多只能自動快取 2GB 的檔案。原則是此處只會存放經常開啟的檔案,而必要時則會剔除那些不常用到的檔案。根據預設,硬碟上 10% 的可用空間是配置給暫時可用的快取,如 [圖 7] 所示。只有 Windows XP 上的系統管理員才能使用此設定。

[圖 7] 在 Windows XP 中設定離線檔案的磁碟空間

[圖 7]** 在 Windows XP 中設定離線檔案的磁碟空間 **

Windows Vista 也可以永久或暫時地存放檔案。不過,差別在哪呢?暫時檔案快取是包含在整體快取內。根據預設,整個快取 (包括暫時檔案和永遠可離線瀏覽的檔案) 的上限是硬碟上 25% 的可用空間。會有此變更的理由是因為在 Windows XP 中,使用者可能不停手動快取檔案 (可能是十幾個 GB),結果用盡硬碟空間。有了這個新配置,系統管理員可撥出特定的空間給整個快取來防範這種情況。看一下 [圖 8],注意磁碟機上 25% 的可用空間很奇怪地顯示成整個磁碟機的 15.2%。也注意一下第二個滑桿 (設定暫時空間) 永遠不能設得比第一個滑桿 (設定所有離線檔案的最大空間) 高。您可以按一下 [變更限制] 選項來存取這些 [離線檔案磁碟使用量限制] 滑桿,但是要記住您必須具備系統管理員認證才能這麼做。

[圖 8] Windows Vista 中離線檔案的可用空間

[圖 8]** Windows Vista 中離線檔案的可用空間 **

避免過度快取

資料夾重新導向是另一個 Windows 功能,可讓您確定一般位於機器本機上的某個重要資料夾實際上存放在伺服器。如此一來就不用擔心本機機器故障,反正重要檔案的副本是在網路共用上。

假設您有個重新導向的 [我的文件] 資料夾 (在 Windows XP 中) 或 [文件] 資料夾 (在 Windows Vista 中)。這時 (實際上不管是重新導向哪一個資料夾),作業系統會假設您希望這些檔案總是可離線使用,而且重新導向資料夾內的每個檔案都會有一個如 [圖 1] 所示的符號。它有一個缺點:假如您處於連線良好且隨時不斷線的網路,之後漫遊到新機器,就會快取新機器上重新導向資料夾的全部內容,即使您只打算用一個工作階段就不用了也是一樣。這不僅浪費空間,而且若處理不當,也有危安全性。

另外一個不知不覺自動快取檔案的情況是出現在使用 Windows 檔案總管瀏覽共用上的檔案。假設您只是要使用檔案總管查看網路共用上 1GB 的圖形檔,而自動快取已啟用,那麼這些檔案很有可能就會自動下載並放置到您的快取中。這是因為使用檔案總管接觸檔案,等於是把它放到暫時離線快取。通常共用中的每個檔案都會被接觸到,以取得例如檔案大小或影像預覽的中繼資料。若是在快速且連線狀態良好的連結上發生這種情況,沒什麼大不了。Windows 可以迅速地在背景快取檔案以供日後使用。要是透過緩慢連結自動快取連線到該網路共用,可能就會動彈不得,這種狀況在 Windows XP 檔案總管和 Windows Vista 檔案總管基本上是一樣的。幸好 Windows Vista 離線快取引擎可以經過訓練,使它更容易辨別緩慢的連結。

使用群組原則的離線檔案

Windows Vista 離線檔案的重大變更

離線檔案小組組員非常想告訴您我們最得意的變更,但礙於篇幅有限,無法在此一一探索。總而言之,下面是離線檔案的重大變更:

  1. 不間斷地離線對連線交易,表示開啟控點不會再封鎖交易。
  2. 縮小規模依檔案離線,讓一個共用離線不再使整個伺服器也跟著離線。
  3. 透過 Windows 檔案總管中的 [線上工作]\[離線工作] 按鈕強制離線模式。
  4. 依使用者來加密快取內容。
  5. 全新的同步處理引擎,偵測和分析變更的速度更加快速。
  6. 與 Windows 搜尋相整合,以便製作重新導向資料夾的索引。
  7. 本機對遠端同步處理可運用差異點陣圖傳輸 (Differential Bitmap Transfer) 功能。
  8. 透過同步中心延緩解決衝突。
  9. 通知區域球形文字說明已移除,不再干擾使用者。
  10. 提供全新完整的 COM API 和 WMI 支援以利管理,記載於 MSDN® 上,網址是 msdn2.microsoft.com/bb530662
  11. 透過 WMI 提供者的指令碼支援 (不久將記載於 MSDN 上)。
  12. 全新的殼層項目屬性:離線狀態和離線可用性。
  13. 建立映像以便在離線時代表無法使用的命名空間元素。檔案總管會將這些項目顯示成含灰色 X 覆疊顯示的灰暗項目,以便從連線狀態轉換成離線狀態時,避免殼層資料夾檢視產生劇烈的變動。
  14. 全新的控制台小程式。

如果您決定想要進一步了解,可以在我的著書和 Microsoft 說明文件中找到許多與此相關的資訊。

我稍早有說過,每當使用者 (或檔案總管) 接觸某檔案時,會將整個檔案帶入快取中。如果檔案是 80MB 的 Visio® 或 Word 文件,也無可奈何。Windows XP 和 Windows Vista 都知道何謂緩慢連結。事實上,根據預設,Windows XP 認為緩慢連結是 64Kbps。如果連線速度大於此值,且用戶端是 Wdinwos XP,即使使用者不願意,還是會透過登入時的緩慢管線把檔案帶下來。所以最好是設定 Windows 更妥善應付緩慢連結。等會您就會看到,您可以透過群組原則來達到這個目的,方法是建立群組原則物件 (GPO) 與包含目標帳戶 (Windows XP 或 Windows Vista) 的組織單位 (OU) 相連結。

當使用者透過緩慢連結進行連線時,Windows XP 會先嘗試使用本機快取的檔案,之後才嘗試使用網路副本。這很合理,但是 Windows XP 還是可能做一些您意料不到的事:如果使用者從網路開啟大型檔案或檔案總管接觸到它們,它便會將檔案下載到快取中 (如果快取中沒有這個檔案的話),這就麻煩了。而且在我的測試中,要是將同步處理排定在登出時進行 (預設值),該些檔案的其餘部分便會透過緩慢連結下載放到快取中 (麻煩加倍)。

Windows Vista 的反應就不一樣,它預設並不會將任何情況視為緩慢。事實上,如果您是用小容器進行連線,每秒只取得 1 個位元,Windows Vista 還是會將該連線看成快速連線,然後使用網路上的檔案副本。但是您可以訓練 Windows Vista 來了解當連線緩慢時您希望指定哪些共用來進行轉換。這樣一來當發生這類情況時,事情就比較好辦一點。Windows Vista 的行為 (經過群組原則設定後) 會變成即使使用一般的檔案和檔案總管作業,透過緩慢連結就是無法使用定義成緩慢連結共用的內容。

離線檔案服務所執行的背景同步處理也不會在緩慢的連線上進行。不過,應該要注意的是,透過同步中心還是可以進行手動同步處理。

設定 Windows Vista 來修改它處理緩慢連結的方式,可透過群組原則設定 [設定緩慢連結模式] 來完成 (請勿將此與名稱類似的 Windows XP 設定 [設定緩慢聯結速度] 相混淆)。[設定緩慢連結模式] 接受下列值:當連線緩慢時,您希望自動轉換成離線的伺服器和共用名稱,以及連線速度必須多緩慢,伺服器\共用的組合才會離線。伺服器\共用組合可以是 \\server\share 的任何組合,甚或是只用一個星號 (*) 來代表所有伺服器上的所有共用。第二組的值是宣告輸送量 (以 kbps 計) 和延遲 (以毫秒計),必須超過此值才能宣告為緩慢。不過在這裡跟您報個料:下載檔案時,不會檢查比較常用的配對 (輸送量)。因此,如果您在重新導向的 [文件] 資料夾中有 10GB 的檔案,而且您膝上型電腦有緩慢的連結又還沒包含當中任一檔案的話 — 就有的您等的了。不過,要是您將它與延遲檢查一起搭配,而且延遲下降得比指定值還低的話,那麼共用就會轉換成離線,饒過使用者而不用忍受等候這些檔案的漫長煎熬。

知識庫文件 934202 中的 Windows Vista Hotfix (預定包含在 Windows Vista Service Pack 1 中的變更) 應該能夠提升特定緩慢 VPN 狀況的效能 (此文可從 support.microsoft.com/kb/934202 取得)。事實上,這個 Hotfix 應該可以在下載是發生在緩慢連結時,強制檢查輸送量值。

同步處理衝突

您可能會猜想要是有人在離線時 (比如在飛機上) 變更檔案,而另一個人在線上 (總公司的線路) 變更同個檔案的話會發生什麼事。這種情況是在用戶端的層級處理。當您從離線狀態轉換成連線狀態時,會馬上發生 Windows Vista 離線檔案背景同步處理。您接著會收到提問要怎麼做 (在工作列通知區域中出現圖示後透過同步中心的項目進行)。使用者介面已經過重新設計來顯示其中一個檔案似乎比較新,也顯示比較詳細的衝突資訊。當將檔案存回伺服器時,使用者可以選擇重新命名目前只存在他機器上的檔案來保留衝突的檔案,如 [圖 9] 所示。

[圖 9] Windows Vista 檔案變更衝突通知

[圖 9]** Windows Vista 檔案變更衝突通知 **(按影像可放大)

其他相關資源

離線檔案是提供您及您的使用者的實用功能。事實上,如果您用過資料夾重新導向,表示您已經有用到離線檔案,因此應該了解如何進一步靈活運用。我在本文提到了 Windows Vista 中一些離線檔案的變更,但這不過是一小部分。如需詳細資訊,請參閱「Windows Vista 離線檔案的重大變更」資訊看板。

您可以在線上找到更多有關離線檔案的詳細資訊,對於 Windows XP 請參閱 go.microsoft.com/fwlink/?LinkId=98141,Windows Vista 請參閱go.microsoft.com/fwlink/?LinkId=98138

我的著作中 (請參閱本文結尾的傳記) 也有一大節專門討論離線檔案 — 包括各種群組原則設定的優缺點。最後,如需更詳盡的資訊,以及與其他人談談您的離線檔案經驗,請在 GPanswers.com 的社群論壇中花點時間,當中有個專門探討這個主題的區段。

Jeremy Moskowitz 是群組原則方面的 MCSE 和 MVP,他經營的 GPanswers.com 是有關群組原則的社群論壇。此外,他還舉辦一系列的群組原則密集訓練課程。他的最新著作為《Group Policy: Management, Troubleshooting, and Security》(Sybex,2007 年)。請造訪 www.GPanswers.com 與 Jeremy 聯絡並進一步了解相關資訊。

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