科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道Windows Vista 中脱机文件的更改

Windows Vista 中脱机文件的更改

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

桌面管理的一个难题是使脱机用户像处于联机状态时一样工作。该需求的重要性远超出您的想象 — 即使仅与五年前相比,用户现在具有的移动能力也还是要强很多倍。尽管在很多情况下还是需要脱机工作,

来源:论坛整理 2009年2月26日

关键字: 应用技巧 Vista 系统安全

  • 评论
  • 分享微博
  • 分享邮件

桌面管理的一个难题是使脱机用户像处于联机状态时一样工作。该需求的重要性远超出您的想象 — 即使仅与五年前相比,用户现在具有的移动能力也还是要强很多倍。尽管在很多情况下还是需要脱机工作,

但是最常见的三种情况是:当便携式计算机与办公室网络断开并准备在路上使用时;当连接到慢速或断续链路时;以及当分支机构和总部断开连接时。

在这些情况下,如何在将原始文件保留在主服务器上的同时在脱机计算机上保留文件的副本?更为重要的是,如果办公室中的某人更改了服务器上的文件,而其他人在路途上也对此文件做了更改,如何处理冲突?幸运的是,内置于 Windows® 2000、Windows XP 和 Windows Vista® 中的脱机文件引擎可以处理这些问题。


答案是缓存

脱机文件引擎确实是强大的缓存机器。实际上,在私下里(和 Microsoft 内部),它被称为“客户端缓存”(CSC)。脱机文件引擎具有足够的可配置性和灵活性,以便允许用户决定缓存哪些内容,还可以帮助用户让系统缓存所需的内容。它允许在脱机时访问与联机时相同的文件,并且不更改命名空间。也就是说,无论联机工作还是脱机工作,访问文件时使用的是相同的 UNC 路径或驱动器号。

可以将文件设置为手动缓存或自动缓存。如果知道经常要在路上使用特定的文件或文件夹,则可以仅指定某个文件或文件夹与您一起旅行。为此,Windows XP 用户可右键单击存储在本地或网络共享上的文件,然后选择使文件可以脱机使用的选项(请参见图 1)。在 Windows Vista 中,该选项称为“始终脱机可用”。手动使文件脱机时可用有时可称为“固定文件”。

图 1 使文件脱机时可用
图 1 使文件脱机时可用 (单击该图像获得较大视图)
图 1a 脱机文件文件夹
图 1a 脱机文件文件夹

可通过 UNC 路径连接正在使用的共享或者使用驱动器号映射它。实际上,文件甚至不一定是存储在运行 Windows Server® 的计算机上的文件。它可以位于任何执行 SMB(服务器消息块)协议的计算机上,如遵守 SMB 协议的 Samba 服务器或 NAS 设备(有极少的例外)。

首次选择固定文件时,Windows XP 将显示一系列向导屏幕,询问何时同步。如果在每个屏幕上单击“下一步”并采用默认值,则会在每次登录或注销时进行同步以及在空闲状态下后台进行同步。向导完成后,会出现一个图标更改,指示文件现在可脱机使用。

一旦与网络断开连接,除了已选择脱机使用的文件之外,在共享上的所有其他文件都将不可用。但是,有时也会出现问题:该图标显示哪些文件始终脱机可用,但要到断开连接之后才会清楚并非其他所有文件都可用。下文将对此进行详细讨论。

手动使文件在脱机时可用有其优点,但有时以较为自动的方式使文件脱机时可用更有意义。接下来,我将探讨此情况,使用通常所称的“自动缓存”。


自动缓存优于手动缓存的情况

自动缓存是在服务器上对逐个共享进行设置的。所以,如果您有一个称为 Sales 的共享,并希望销售人员在旅行时携带文件,则可以指示 CSC 引擎执行这样的操作。图 2 显示了在 Windows Server 2003 中单击“缓存”选项卡后出现的“脱机设置”对话框。图 3 对设置进行了说明。

图 2 Windows Server 2003 中的“脱机设置”对话框
图 2 Windows Server 2003 中的“脱机设置”对话框 (单击该图像获得较大视图)

若要了解自动缓存的工作原理,让我们假设您有一个包含 10 个文件(Sales01.txt 到 Sales10.txt)的 Sales 共享,并且已启用了“用户从该共享打开的所有文件和程序将自动在脱机状态下可用”设置。不会立即显示结果。对于用户来说,更多的文件突然可以在脱机时可用没有外部标志。另外,只有 Windows 打开过(之后发生缓存)的文件才可在以后脱机时可用。简言之,在与网络断开连接之前,必须在联机时实际打开过要在脱机时使用的文件。否则,在脱机状态下无法使用这些文件。

此外,自动缓存的文件不一定永远存在于缓存中。Windows XP 和 Windows Vista 处理此临时空间的方式有些不同,但关键是可以根据空间限制驱逐文件。文件是按使用情况保存的。那些在一段时间内未打开的文件会被驱逐,以便为已经打开的新文件腾出空间。所以,虽然最近使用的某个文件很可能仍存在于缓存中,但不要认为自动缓存可确保文件可用。如果要确保某个文件可用,则需要固定该文件。作为管理员,您还可以使用组策略,并利用以管理方式分配的脱机文件设置来固定文件。

让我们看一个实际的工作示例。假设 Windows XP 用户 EastSalesUser1 打开了文件 Sales05.txt,并且 Windows Vista 用户 EastSalesUser2 在 \\server\sales 共享上打开了文件 Sales05.txt。

由于已经在 Sales 共享上设置了自动缓存,因此当 EastSalesUser1(在 Windows XP 上)和 EastSalesUser2(在 Windows Vista 上)脱机时,仍然可以使用这些文件。Windows 已将这些文件的副本存储在了脱机文件缓存中。但是,用户仍未使用的其他文件呢?

Windows XP 和 Windows Vista 对留在办公室的文件有不同的反应,如图 45 所示。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 中名为“脱机可用性”的 Explorer 属性提供了可用性信息。选定项目后,在预览窗格中会显示该属性。如果项目已固定,则其值为“始终可用”。如果该项目没有固定,但已缓存,则其值为“可用”。

对于 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 中用户可以不断手动保存缓存文件(可能数十亿字节),从而可能用尽硬盘驱动器空间。使用此新方案,管理员可留出特定磁盘空间来容纳整个缓存,从而防止此情况的发生。看图 8 时,请注意驱动器上可用空间的 25% 显示为整个驱动器空间的 15.2%,这有点令人费解。还请注意,设置临时空间的第二个滑块的值永远不能高于设置所有脱机文件最大空间的第一个滑块的值。通过单击“更改限制”选项,可访问这些脱机文件磁盘使用量限制滑块,但请注意,执行此操作需要提供管理员凭据。

图 8 Windows Vista 中脱机文件的可用空间
图 8 Windows Vista 中脱机文件的可用空间

防止过多的缓存

文件夹重定向是 Windows 的又一功能,它确保一般位于计算机上的某些重要文件夹实际上是存储在服务器上的。也就是说本地计算机瘫痪不会影响到其中的文件,因为您已经将重要文件的副本存储在了网络共享上。

假设您已重定向“我的文档”文件夹(在 Windows XP 中)或者“文档”文件夹(在 Windows Vista 中)。在此情况下(事实上,在任何文件夹重定向后),操作系统将认为您始终希望在脱机时可以使用这些文件,并且重定向文件夹中的每个文件都会有一个图 1 中所示的符号。其缺点是,如果在连接良好、始终在线的网络上工作,要漫游到新的计算机上,即使只需要使用一段时间,也必须在新计算机上缓存整个重定向文件夹的内容。这不仅浪费了空间,处理不当还会带来安全风险。

在使用 Windows 资源管理器浏览共享上的文件时,也会发生文件的自动和无意缓存。假设仅使用资源管理器在网络共享上查看许多图形文件,并且自动缓存处于开启状态,那么这些文件很可能自动下载并置于缓存中。这是因为使用资源管理器打开文件几乎相当于将其置于临时脱机缓存中。通常,共享中的每个文件都会打开,以获取诸如文件大小或图像预览之类的元数据。如果在快速、连接良好的链接上执行此操作,这并非难事。Windows 会快速平缓地缓存文件以供以后使用。但是,如果是通过慢速链接连接到网络共享并进行自动缓存,情况就真的糟糕了。默认情况下,Windows XP 资源管理器和 Windows Vista 资源管理器都存在这种问题。但值得高兴的是,用户可以训练 Windows Vista 脱机缓存引擎,使它能更好地识别慢速链接。


具有组策略的脱机文件
对 Windows Vista 脱机文件的主要更改

脱机文件团队成员希望您了解其最得意的更改,但本文篇幅有限,无法探讨所有这些更改。所以仅在这里简单地说一下,下面的更改是脱机文件中的主要更改:

  1. 无缝的脱机到联机转换,意味着打开的句柄不再阻碍转换。
  2. 以文件为单位脱机,这样一个共享脱机时不会再使整个服务器脱机。
  3. 通过 Windows 资源管理器中的联机工作\脱机工作按钮的强制脱机模式。
  4. 按用户对缓存内容加密。
  5. 可更快检测并分析更改的新同步引擎。
  6. 与 Windows 搜索集成,以便对重定向文件夹编制索引。
  7. 本地到远程同步可使用差别位图转移功能。
  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。令用户沮丧的是,如果连接速度高于 64Kbps 且客户端为 Windows XP,文件还是会在登录时通过慢速管道下载。所以,最好对 Windows 进行配置,以更好地管理通过慢速链接执行的操作。稍后您将看到,可以通过组策略达到此目的,方法是创建链接到包含目标帐户 — Windows XP 或 Windows Vista 的组织单位的组策略对象 (GPO)。

当用户通过慢速链接进行连接时,Windows XP 首先尝试使用本地缓存的文件,之后才尝试使用网络副本。这样做很有意义。不过,Windows XP 仍会执行一些在您期待之外的操作:如果用户从网络或资源管理器打开过某些大文件,而缓存中又没有这些大文件,Windows XP 就会将其下载下来。哎,真是麻烦。而且,在我的测试中,如果将同步安排在注销时进行(默认情况),这些文件的剩余部分便会通过慢速链接下载并置于缓存中(麻烦更大了)。

Windows Vista 的行为则不是这样。默认情况下,它不识别任何慢速情况。实际上,即使连接速度为每秒 1 位,Windows Vista 也会视为快速连接并使用网络上的文件副本。但是,可以训练 Windows Vista,使其了解连接速度较慢时用户希望指定哪些共享进行转换。这样可以使上述情况有所改善。Windows Vista 的行为(使用组策略配置后)是使用普通文件和资源管理器操作无法通过慢速链接获得慢速链接定义的共享内容。

脱机文件服务执行的后台同步不会通过慢速连接发生。但是,值得注意的是,可以通过同步中心执行手动同步。

将 Windows Vista 配置为修改慢速链接处理的操作是通过组策略设置配置慢速链接模式(不要与 Windows XP 设置配置慢速链接速度相混淆)完成的。配置慢速链接模式应采用下列值:连接速度慢时,希望自动转换到脱机状态的服务器和共享的名称,以及连接速度多慢时,服务器\共享组合才会脱机。服务器\共享组合可以是任意 \\服务器\共享组合或者仅是表示所有服务器上所有共享的星号标记 (*)。第二组数值是吞吐量(以 kbps 为单位)和延迟(以毫秒为单位)的声明,只有超过延迟值,才能声明速度慢。不过,在这里告诉您:下载文件时,不会检查较为常用的配对(吞吐量)。如果重定向的文档文件夹中包含 10GB 的文件,您又位于不包含其中任何文件的便携式计算机的慢速链接上,就要准备好等待相当长的时间了。但是,如果使用延迟检查将其配对,并且设置延迟低于预定值,则该共享将转换到脱机,减少用户等待这些文件所受的煎熬。

知识库文章 934202 中提供的 Windows Vista 修补程序(此更改将包含在 Windows Vista Service Pack 1 中)应该会改善通过特定慢速 VPN 情况的性能(可通过 support.microsoft.com/kb/934202 在线获得此文章)。事实上,应用此修补程序后,应该可以在通过慢速链接进行下载时检查吞吐量值。


同步冲突

您可能想知道如果某人在脱机时(比如,在飞机上)更改了文件,而其他人在联机时对该文件做了更改(在总部办公室的网络上)会怎么样。这种情况在客户端级别处理。从脱机转换到联机后,会立即发生 Windows Vista 脱机文件后台同步。然后在任务栏通知区域显示图标后,通过同步中心的条目提示您要执行的操作。用户界面经过重新设计,以便显示看起来较新的文件并显示有关此冲突的详细信息。将文件保存回服务器时,用户可通过选择重命名当前只在自己计算机上的文件来保存冲突的文件,如图 9 所示。

图 9 Windows Vista 文件更改冲突通知
图 9 Windows Vista 文件更改冲突通知 (单击该图像获得较大视图)

了解更多详细内容?

脱机文件对于您及您的用户来说都是不错的功能。事实上,如果正在使用文件夹重定向,您实际上就已经在使用脱机文件了,因而使其变得更加智能才能满足您的最大需要。我已经介绍了 Windows Vista 中对脱机文件的很多更改,但这并不是全部。要了解相关的详细信息,请参阅侧栏“对 Windows Vista 脱机文件的主要更改”。

go.microsoft.com/fwlink/?LinkId=98141(对于 Windows XP)及 go.microsoft.com/fwlink/?LinkId=98138(对于 Windows Vista)上提供了有关脱机文件的更多详细信息。

在我的著作(请参阅文章末尾的个人资料介绍)中,用相当大的篇幅专门讲述了脱机文件,包括每个组策略设置的优缺点。最后,如要了解详细信息以及和他人谈论您的有关脱机文件的经验,请花一些时间加入 GPanswers.com 上的社区论坛的讨论,其中有一部分是专门探讨此主题的。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章