HOWTO: 使用 USMT 捕获指定的用户注册表数据
USMT (User State Migration Tool),即用户状态迁移工具,其历史悠久且一直免费,可帮助企业 IT 人员在大型的 Windows 部署场景下简化用户数据的迁移过程。USMT 能够从现有系统环境下捕获用户账户、用户文件、操作系统设置和应用程序设置,然后将其迁移到新的 Windows 系统中。
如果您是第一次听说 USMT,是不是很心动?!希望尽快了解并上手操作,但可惜的是可能会令看官失望了,因为今天的分享恐怕仅适用于已经入门的 USMT 用户。
是这样,前段时间有位网友向 gOxiA 咨询了 USMT 相关的使用问题,说在手工创建自定义的捕获配置文件后,无法正常迁移数据,遇到 0x0803wa 警告,具体内容是:Registry location HKCU\Software\Microsoft\Internet Explorer\Main [Search Page] is considered invalid in the current context. 如下图所示:
大致的意思就是注册表位置在当前的上下文是无效的,排除了注册表路径问题,那问题应当就出在自定义的捕获配置文件(.xml)上。下面 gOxiA 提供了正确的文件内容截图。
在 component 字段,由于没有强制指定上下文,所以其默认为 UserandSystem,所以我们需要在 rules 中强制为 Uesr 上下文,这样才能捕获到我们当前指定的注册表数据。
另外一个不能忽视的问题,由于当前捕获的数据是隶属 Internet Explorer,其默认属于系统设置,所以我们需要先使用 genconfig 参数生成可选的 config.xml 文件,然后将默认要迁移的系统设置都改为 “no”,这样在捕获的时候即可不迁移系统设置,且仅按照指定的捕获配置文件进行迁移。
scanstate /vsc /o /config:config.xml /i:ie_searchpage.xml /ue:*\* /ui:domain\sufan /v:13 /l:scanstate.log w:\usmtdata
这样就仅迁移出来了指定用户的指定数据,捕获出来的数据包将会非常小。当需要迁移到用户的新环境下,则可以参考如下命令行。
loadstate /i:ie_searchpage.xml /ue:*\* /ui:domainsufan /l:loadstate.log w:\usmtdata