标题:用户状态迁移工具USMT的使用,可用于BDD中
- 05-29 22:59
-
jacket
六品通判
头衔 有灵魂的骷髅
注册 06-11-07
来自
-
用户状态迁移工具USMT的使用,可用于BDD中
Microsoft Solution Accelerator for Business Desktop Deployment用户状态移植功能团队指南摘录USMT 的执行在工作站部署期间执行 USMT 与在工作站部署期间开发配置文件二者应该区别开来。在部署过程中,技术人员在要移植的用户桌面上运行部署向导。该向导收集关于用户、用户计算机和用户应用程序的信息。然后向导运行 USMT (Scanstate.exe),将用户的数据文件和首选项设置从工作站复制到网络服务器上。部署过程在硬件上安装一个新的 Windows XP 映像,然后调用 USMT (Loadstate.exe) 将用户的数据文件和设置从服务器复制到新的工作站映像上。USMT 组件这一部分讲述 USMT 的三个组件:Scanstate、Loadstate 和配置文件。ScanstateScanstate 是用于从当前登录用户中复制用户设置的命令行工具。它还复制那些用户具有访问权限的文件。Scanstate 由一系列配置文件(.inf 文本文件)所控制,这些配置文件定义 Scanstate 将要执行什么规则和操作。Scanstate 的目标是通过命令行开关来控制,这些命令行开关在 USMT 应用程序目录的 USMTINFCommands.doc 文件中有详细描述。在执行过程中,USMT 在 USMT 目标目录中创建 Migration.inf 文件,Loadstate 使用该目录将 USMT 数据装载到预定义的位置。Scanstate 使用以下组件:•Scanstate.exe。在源计算机上运行的可执行文件,用于捕获用户的设置和文件。当作为用户登录时必须运行 Scanstate.exe,以便正确捕获那些存储在注册表中的设置以及用户拥有权限的文件。•Sysfiles.inf。无论其他的规则如何,绝对不要移植的一个文件列表。这些是将会与 Windows XP 上更新版本的文件相冲突的操作系统文件。Sysfiles.inf 文件不应该被更改,除非要向此列表添加更多的文件。•Usmtdef.inf。系统配置文件。用户不应该更改它。该文件包含 USMT 每次执行的 INF 规则,而不管用户在命令行中所指定的 INF 如何。•Migism.inf。此系统配置文件控制 Scanstate 如何执行特定的操作,如链接移植、cookie 移植和打印机。除非绝对需要的情况,用户不应该更改此文件。•Migapp.inf。此配置文件控制移植哪些应用程序设置。•Migsys.inf。此配置文件控制移植哪些操作系统及浏览器设置。•Miguser.inf。此配置文件控制移植哪些用户文件类型和桌面设置。•应用程序动态链接库 (DLL) 文件。 Iconlib.dll、Log.dll、Migism.dll、Script.dll、Shfolder.dll、Sysmod.dll、Unctrn.dll。•BDD 提供一个名为 userdata.inf 的附加文件,该文件提供将要移植的附加用户文件类型。LoadstateLoadstate 是将数据恢复到用户配置文件中的命令行应用程序。Loadstate 在本地管理员的上下文环境中运行,并在用户第一次登录之前对用户配置文件进行预先的配置。注意:Loadstate 需要与该用户域的域控制器进行网络连接,以便确定目标配置文件的 SID。Loadstate 使用以下组件:•Loadstate.exe。在目标计算机上运行的可执行文件,用于恢复用户的设置和文件。Loadstate.exe 必须作为新计算机上具有管理权限的另一个用户而运行(通常是本地管理员帐户)。在 Loadstate.exe 执行之前,最终用户绝对不能登录。•应用程序动态链接库 (DLL) 文件。 Iconlib.dll、Log.dll、Migism.dll、Script.dll、Shfolder.dll、Sysmod.dll、Unctrn.dll。•Migration.inf。由 Scanstate 创建并由 Loadstate 用于恢复数据的一个配置文件。USMT 配置的考虑事项虽然 USMT 极为灵活,并且可以自定义很多特别的应用程序考虑事项,但是大部分程序可以通过使用以下选项来进行分类:•仅移植设置。当需要将特定的注册表设置从一台计算机移植到另一台计算机时使用此选项。USMT 的特性之一是提供一对一的映射,也可以使 USMT 更改注册表信息,指向一个新的位置。•将特定的文件扩展名移植到 My Documents 文件夹下的一个文件夹。使用此选项,用户硬盘驱动器上的指定文件扩展名(例如 *.doc)被移植到 My Documents\Word Documents 文件夹。•将特定目录移植到 My Documents 文件夹下的一个文件夹。此选项将指定目录下的所有文件移植到 My Documents 目录下。这对于现有 My Documents 目录(或者其他客户专用目录)非常有用,用于移动任何现存的文件,而无论扩展名是什么。•将特定目录移植到用户配置文件范围之外的位置。此选项用于将特定的应用程序设置文件(如 .ini 或 .inf 文件)移植到用户硬盘驱动器上的特定位置。对于那些没有将其数据存储在用户配置文件下的早先的程序,此选项可能是必需的。•混合方法。此选项联合使用了前面所述的选项。技术考虑事项使用 USMT 进行规划的技术考虑事项包括以下方面:•USMT 只为 Microsoft 网络上的计算机移植用户状态信息。但是,通过更改目标用户名和域,USMT 可以支持从 Novell 网络向 Windows 网络的移植。•USMT 不移植文件权限。•USMT 不移植应用程序存储在工作站上的口令,如 Outlook Express、Internet Explorer 和映射的网络驱动器。•USMT 不移植驱动程序 - 打印机驱动程序除外,如果 Windows XP CD 介质提供驱动程序支持,则会尝试移植打印机驱动程序。•USMT 可以移植应用程序设置,但不能移植应用程序本身。必须在目标计算机上重新安装应用程序。•由于访问控制列表 (ACL) 限制而使用户无法访问的配置文件中的数据将不会被移植。•如果存在多个用户配置文件,并且初始用户不能访问其他用户配置文件,则 USMT 需要由其他工作站用户来运行,以确保捕获所有用户数据。您可以作为在计算机上拥有数据的每个用户来进行登录,并为每个用户运行一次 Interview Wizard,以便提取数据。这种解决方案目前不提供关于如何将多用户配置文件恢复到新计算机的深入指导,但是您可以通过手动运行 USMT Loadstate 程序来实现此目的。有关手动运行 USMT 的更多信息,请参见 USMT 产品文档。•不移植加密文件系统 (EFS) 证书。用户已加密的任何加密文件在移植后都不再加密。•可以利用 /p 命令开关来配置 Scanstate。Scanstate 不会移植用户数据,但是会执行一次只读测试并生成一个文件文件,含有基于控制文件所估计的磁盘空间需求信息。这种评估应用了一些假定的容量,在用户状态移植的评估过程中可能不会提供高度的准确性。因此,本应用程序不使用 /p 开关。•Scanstate.exe 工具拥有 Unicode 版本和美国国家标准协会 (ANSI) 版本。Unicode 版本用于扫描基于 Windows NT® 的系统(Windows NT 4、Windows 2000 和 Windows XP)。ANSI 版本用于扫描基于 9x 的系统(Windows 95、Windows 98 和 Windows ME)。ANSI 版本位于 USMT 文件夹的 ANSI 子文件夹中。•必须将 Microsoft Internet Explorer 4.0 或更高版本与 Unicode 或 ANSI 版本一同安装。•在运行 Windows 95 并使用第三方压缩软件或加密软件的计算机上移植数据时,USMT 可能会遇到问题。USMT Take All 与 Take Known 方案的比较在利用 USMT 进行移植时,您可以使用以下两种模型之一:Take All 或 Take Known。它们涉及到用户的注册表 (HKEY_CURRENT_USER)。推荐的解决方案是使用 Take Known 模型。Take All 模型获取 HKEY_CURRENT_USER 的全部信息。这种模型:•可能会采用您不希望使用的设置。•在受控环境中不是最佳选择。•成功地移植很多不受支持的应用程序的设置。•移植 HKEY_CURRENT_USER 中的无用信息。•会遇到某些应用程序由于新环境的无效设置而无法正确运行的风险。Take Known 模型只采用 .inf 文件中的信息。这种模型:•是推荐使用的方法。•是本指南中解决方案所采用的方法。•允许对所移植的内容进行更好的控制。•是移植到受控环境的最佳选择。•破坏任何内容的可能性极小。•要求必须对 .inf 文件进行自定义,以便处理默认情况下不支持的应用程序。•需要在命令行中加上 /x /s /f,在默认情况下,它们在示例 USMTScan.bat 文件中进行配置,该文件与 BDD 解决方案包含在一起。以下是一个示例:scanstate.exe \\server\share /i sysfiles.inf /i Migapp.inf /I Migsys.inf
/i miguser.inf /i UserData.inf /l \\server\share\scanlog.txt /v 7 /x /s /f /o /q
更新及已知问题更新 USMT 配置文件有关特定配置文件的全面信息,请参见“User State Migration Tool-INF Commands”。此文件 (USMTINFCommands.doc) 在部署服务器的 USMT 文件夹中。USMT 的已知问题以下章节确定了一些使用 USMT 时的已知问题。问题:Loadstate 需要访问目标用户的域控制器。修复:要将用户配置文件 SID 与 Loadstate 所创建的配置文件相关联,就需要访问域控制器。用户机构可能希望在一个隔离的网络环境中完成移植工作,该环境不能访问产品域控制器。有两种方法可以对这种需求进行变通。•在一台新的或现有的域控制器上安装两块网卡,一块网卡连接产品网络,另一块连接移植网络。这是首选的方法,因为它允许将新用户帐户与域控制器同步。另外,您也可以将一个域控制器加入到隔离的环境中。但是,这会导致一种风险,即新用户帐户不会被复制到该环境中,并且这样增加了对目录进行同步的管理任务。•配置 USMT,将用户恢复为本地配置文件,并在以后工作站可以访问网络时对配置文件进行关联。为此:1.使用 net user 命令创建一个临时本地用户。2.配置 Loadstate,通过将域名更改为本地工作站名称,将用户配置文件恢复为本地配置文件。为此,在脚本中使用 %computername% 变量。3.当工作站可以访问域控制器时,使用 Windows 资源工具包中的 Moveuser 实用程序,以本地管理员的身份来运行,将本地配置文件与域 SID 相关联。问题:配置 USMT,使其不移植 cookie。修复: Cookie 移植是由 Migism.inf 文件所控制的,通过添加一个分号来进行更改,如下所示:[Virtual Computer Modules]
SCRIPT=script.dll
ACCESSIBILITY=sysmod.dll
COOKIES=sysmod.dll
PRINTERS=sysmod.dll
RAS=sysmod.dll
OSFILES=sysmod.dll
NETDRIVES=sysmod.dll
;LNKMIG=sysmod.dll
问题: Loadstate 在首次用户登录时恢复 cookie、打印机。此问题在基础知识文章 319854 中有记载。Loadstate 将HKCU\Software\Microsoft\Windows\CurrentVersion\Run 键值填充为指向 Loadstate.exe 位置的 USMT2RUN 值。修复:使用 UNC 路径而不是映射驱动器来运行 Loadstate。否则用户以后可能会遇到问题。用户在第一次登录到计算机时必须被连接到网络上。您可以选择将整个 USMT 目录(USMT 程序和 INF 文件目录,而不是用户数据存储资源)复制到用户硬盘驱动器上的临时位置,并更新 USMT2RUN 的值,指向 Loadstate 的本地版本。问题: CSIDL/USMT 变量在较老的操作系统中可能无法解析。修复:以下是示例和变通方法:•CSIDL_WINDOWS。使用 %windir% 代替。•CSIDL_BITBUCKET(回收站)。硬编码为 C:\Recycler。•SystemDrive & HOMEDRIVE。这个问题在基础知识文章 283367 中有记载。您可以通过定义具有相同值却有不同名称的环境变量来变通地解决这一问题。问题:利用变量为文件夹重新设置根目录,以便不再附加源目录。您可以使用环境变量将 C:\Data 的内容和子文件夹移动到用户的 My Documents 文件夹,而不必为 Data 文件夹重新设置(附加)根目录。如果存在用于特定目录的环境变量,则 USMT 使用变量来确定目录信息是否应该附加到目标文件。为了在源计算机和目标计算机上创建环境变量(目标位置不能是 ...username\My Documents\Data):1.在源计算机上设置环境变量:SET CDATA=C:\Data
2.在目标计算机上设置环境变量:SET CDATA=C:\Documents and Settings\username\My Documents
Use a rule such as:
[Data Folder.Instructions]
CopyFiles=CopyDataFiles
[CopyDataFiles]
dir=%CDATA%\*
里程碑:控制文件已被开发里程碑是整个解决方案的同步点。有关更多信息,请参阅 Microsoft Solution Accelerator for Business Desktop Deployment 的规划、构建和部署指南。
- 楼主

