漫游用户配置文件

<image>

｜Application Data

<image>

｜Cookies

<image>

｜Desktop

<image>

｜Favorites

<image>

｜Local Settings

<image>

｜Application Data

<image>

｜History

<image>

｜Temp

<image>

｜Temporary Internet Files

<image>

｜My Documents

<image>

｜My Music

<image>

｜My Pictures

<image>

｜My Videos

<image>

｜Recent

<image>

｜NetHood

<image>

｜PrintHood

<image>

｜SendTo

<image>

｜Start Menu

<image>

｜Templates

<image>

｜NTUSER.DAT

<image>

｜ntuser.dat.LOG

<image>

｜ntuser.ini

典型Windows 2000/XP用户配置文件的文件夹布局。通常来说，除“Local Settings”的项目外，其他所有内容都会作为漫游配置文件的存储于文件服务器。

漫游用户配置文件（roaming user profile）是Windows NT家族操作系统中的一个概念，这允许一台计算机上的用户加入一个Windows Server域，从而在同一网络的任何计算机上登录和访问自己的各项文档和获得一致的桌面体验（诸如工具栏位置、桌面设置等）。

## 操作方法

Windows NT 3.1以来的所有Windows操作系统在设计上都支持漫游配置文件。一般来说，一台独立计算机是将用户的文档、桌面项目、应用程序偏好设置以及桌面外观分为两部分存储于本地计算机，其中包括“可漫游”部分，另外是包含如网页浏览器缓存等项目的“临时”部分。Windows注册表也做了类似划分以支持漫游，系统（System）和本地计算机（Local Machine）配置单元被保存在本地计算机，而独立的用户单元HKEY CURRENT USER在设计上支持漫游用户配置文件。

当创建一个漫游用户时，用户的配置文件信息被存储在可从任何域内联网计算机访问的集中式文件服务器上。本地计算机上的登录界面将检查用户是否存在于域中而不是存于本地计算机，不需要在本地计算机上预先建立帐户。如果域登录成功，则会将漫游配置文件从中央文件服务器复制到本地计算机，并为该用户创建本地帐户。

当用户从本机计算机注销时，用户的漫游配置文件将从本地计算机合并回中央文件服务器，这其中不包含“临时”类别的本地配置文件。这种合并并非移动或删除，用户的配置文件只是朝向网络合并，信息仍会在本地计算机上保留。

在用户重新登录一台桌面计算机时，漫游的配置文件将与此前存留的配置文件合并并被替换。如果启用了配置文件缓存，则服务器可以只将最新文件合并到本地计算机，并重用上次登录前未更改且现有的本地文件，从而加速登录过程。

## 限制

### 性能

由于配置文件复制会在登录和注销时进行，使用默认设置的漫游配置文件可能会非常缓慢，并导致账户中有大量数据的用户浪费大量时间。

在微软设计Internet Explorer，程序员决定将Cookie和收藏夹存储为小于一千字节的单个小文件，而没有将数据存储为单个被整合的大文件。微软还在“最近的文件”文件夹中存储了许多文件快捷方式。

高速网络上的文件服务器往往只能在传输超过几兆字节的大文件时达到最快速度。而数百个“千字节”级别的小文件可能使网络性能下降达90%。因此随着配置文件的常年使用而累积众多Cookie、收藏夹以及最近的文件项目，登录和注销时间会明显减慢，哪怕这些配置文件数据只占用了几兆字节的空间。

在硬盘上存储用户配置文件的本地缓存可以减少并改善登录与注销所花费的时间，但这种机制更适合用户经常使用同一台计算机的案例。在随意使用的公众计算机上缓存每个登录用户的配置文件将硬盘带来众多杂乱的数据，并占用大量硬盘空间。

### 配置文件大小

配置文件中存储的大型文件将导致较长的登录与注销时间，Windows会在登录时将漫游配置文件复制到本地计算机，并在注销时复制回服务器。

在大型文件非关键型任务所需，并且绝对不需要以登录帐户为基础向服务器备份文件的情况下，存储大量用户数据的应用程序可能需要运行在本地计算机独立的非漫游帐户中，以绕过该网络存储问题。

### 网络拥塞

在校园环境中，当整个教室的学生同时注销计算机时，漫游配置文件的存储将导致严重的网络拥塞和减速。如果用户在配置文件从第一个位置注销未完成时从第二个位置登录，可能遭遇帐户数据的不一致。

### 访问冲突

由于配置文件漫游的底层机制假定用户同时只能登录到一台计算机。漫游配置文件与复制到本地计算机的文档彼此之间没有网络感知，并且不可能使用文件锁定来提醒用户文件已被打开。

所以如果同一个帐户在多台计算机上被同时登录，并且打开同一个文件并修改，保存可能导致文件冲突和内容丢失：

- 当有已修改文件的第一台计算机注销时，更改被写入配置文件的网络副本。
- 而第二台计算机注销时，不同版本的文档可能覆盖先前注销时保存的更改。

### 兼容性

不同版本的Windows可能在使用互不兼容的用户配置文件布局。因此，在不同版本的操作系统之间漫游的用户或需为不同操作系统创建独立的漫游配置文件。Windows Vista和Windows 7会向用户配置文件添加“.v2”后缀以向Windows XP或更早版本的系统隔离自己的用户配置文件。即便如此，Microsoft TechNet劝告用户不要在Windows Vista/Windows Server 2008与Windows 7/Windows Server 2008 R2之间漫游。Windows 8/Windows Server 2012和Windows 8.1/Windows Server 2012 R2中的用户配置文件尽管最初也使用了“.v2”后缀，但也并不完全向后兼容。微软此后发布了hotfix和操作说明，以使这些操作系统附加“.v3”和“.v4”后缀，从而将它们与跨操作系统的访问隔离。

## 文件夹重定向

为处理上述配置文件复制时可能的问题，管理员可以覆盖漫游和设置用户帐户的默认操作，使配置文件的某些部分由本地计算机直接从中央文件服务器，而不先复制到本地计算机。即便在服务器出现故障时，用户仍可通过 Offline Files Enhancements 脱机文件增强 功能访问某些文件。

## 优势

- 通过对用户配置文件实施强制控制管理，有助保护用户环境免受用户本人的损害。
- 用户可以更可靠地在网络中的任何位置访问自己的数据
- 大部分数据位于一个位置，更易于备份

## 缺点

每次用户登入到工作站时，都将通过网络传输所有文件和设置，所以登录过程将比使用本地配置文件花费更长的时间。如果配置文件得到缓存，则某些文件可以从工作站本地加载；还可以通过文件夹重定向将某些增长到很大占用的文件夹（如我的文件）重定向到一个网络共享，从而减少登录所需的时间。

Windows Server 2008的活动目录（Active Directory）通过允许将以前存储在用户配置文件（包括我的音乐、收藏夹以及其他文件）中的几乎所有文件夹重定向到集中式的安全网络共享解决了此限制。这样一来用户的漫游配置文件可以被轻松缩减到不足20MB，从而消除以前版本的活动目录所需要的很长登录时间。在使用文件夹重定向和自动脱机文件缓存时，用户的所有文件和偏好设置都可脱机使用，并且可以使用远程差分压缩（RDC）连接到网络从而更有效率的进行同步。

## 类似方案

用户虚拟化程序（如AppSense）可以管理用户配置文件、设置和数据，将其存储于网络共享或云服务。

## 外部链接

- Microsoft MSDN Library: Reference on User Profiles
- Microsoft TechNet: Windows Server 2003 Product Help: User Profiles best practices
- Microsoft TechNet: Windows Server 2003: Operations Whitepaper: Best Practices for User Profiles