User State Migration Tool (USMT) 轉移/備份User Profile的指令紀錄

User State Migration Tool (USMT) 轉移/備份User Profile的指令紀錄

這幾天花了一些時間去研究User State Migration Tool(USMT)的一些使用案例,

現在寫一篇文章去總結經驗以供日後重用, 也讓大家更了解USMT這個工具如何幫助大家轉移或備份User Profile.

USMT雖然是一個指令工具, 但基本作業也不是太難了解, 希望這篇文章以圖像化這個過程能讓大家解除恐懼.

 

你可以在這篇文章找到以下的標題

1. 從那裡取得USMT?

2. USMT能轉移和不能轉移甚麼東西?

3. USMT所提供的工具及附屬檔案簡介

4. 使用Scanstate.exe與Loadstate.exe範例 (包含Windows 7 –> Windows 7及Windows 7 –> Windows 8)

 

1. 從那裡取得USMT?

USMT有多個版本, 他們各支援不同的作業系統轉移, 如果選錯了就會出現不能製造出轉移文件或轉移錯誤的情況

USMT 3是可以獨立下載的: http://www.microsoft.com/en-us/download/details.aspx?id=10837

USMT 4微軟把它放到The Windows® Automated Installation Kit (AIK) for Windows® 7 

USMT 5則在Windows Assessment and Deployment Kit (ADK) for Windows® 8, 這也是System Center Configuration Manager 2012 R2安裝必備的前置

各版本能使用的參數和使用方式大同小異但必須清楚要使用那一個版本才能在你的環境裡運作, 建議選用最新的USMT 5

USMT Version

Source operating system

Destination operating system

USMT 2

Windows 98, Windows NT 4.0, Windows 2000 Professional, Windows XP, Windows XP Professionalx64

Windows 2000 Professional, Windows XP

USMT 3

Windows 2000 Professional, Windows XP, Windows XP Professional x64, Windows Vista (All 32-bit and 64-bit editions)

Windows XP, Windows Vista (All 32-bit and 64-bit editions)

USMT 4

Windows XP SP3, Windows XP Professional x64, Windows Vista SP1, Windows 7 (All 32-bit and 64-biteditions)

Windows Vista, Windows 7 (All 32-bit and 64-bit editions)

USMT 5

Windows XP, Windows XP Professional x64, Windows Vista, Windows 7, Windows 8 (All 32-bit and 64-bit editions)

Windows Vista, Windows 7, Windows 8 (All 32-bit and 64-bitEditions)

而在AIK或ADK安裝完成後, USMT通常都會放置在類似這些位置:

C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\User State Migration Tool

分為32 Bits和64 Bits版本, 只要把各副目錄裡的文件抄寫到目標電腦就能獨立運作

 

2. USMT能轉移和不能轉移甚麼東西?

基本規則是32 Bits作業系統使用者能轉移到32 Bits或64 Bits系統, 64 Bits系統則只能轉移到64 Bits

但在32 Bits –> 64 Bits的過程中會預期出現一些因軟體版本儲存設定位置不一樣而出現設定沒有轉移的狀況

USMT能轉移的Windows設定很多, 基本上它是要做到使用者原本在舊電腦上見到的, 用到的, 和他的使用者體驗,

都一一轉移到新電腦上, 稍為說一些例子就是

1. 桌面上的文件, 桌布

2. 我的文件, 我的圖片

3. IE我的最愛, 首頁

4. 網絡磁碟機

5. Microsoft Office的設定, 例如Outlook郵箱, 簽名檔, 格式設定

6. 鍵盤, 滑鼠設定, 網絡印表機, 甚至非微軟的軟體設定等等等等

 

有些東西是USMT轉移的,

例如本地印表機機, 硬體驅動程式及設定, 使用者密碼, 分享資料夾及權限等等

已知Microsoft Office (2007/2010/2013) 32 Bits轉移到64 Bits是會出現問題的, 所以轉移Office設定時必須是同位元版本

你可以在這裡找到一個更詳盡的列表

 

3. USMT所提供的工具及附屬檔案簡介

以USMT 5為例, 我們可以找到幾個重點檔案, 它們分別是

scanstate.exe - 負責在來源電腦執行收集使用者文件和設定並匯出一個轉移檔

scanstate.log – scanstate作業的紀錄檔, 用作紀錄及除錯

loadstate.exe - 負責把轉移檔裡的資料直接匯入到目標電腦或與其他帳號合併

loadstate.log – scanstate作業的紀錄檔, 用作紀錄及除錯

Migapp.xml – USMT預設會轉移的程式設定

MigDocs.xml – USMT預設會轉移的檔案類型

MigUser.xml – USMT預設會轉移的使用者帳號設計檔

usmtutil.exe - 其他USMT的進階工具

另外有幾個名稱包含Manifests的資料夾是各作業系統的檔案指引

 

4. 使用Scanstate.exe與Loadstate.exe範例

實驗環境為網域環境 Testlab.com, 測試用網域帳號為justin.lau@testlab.com

作業環境: Windows 7 64 Bits 英文版 with Internet Explorer 11 + Microsoft Office 2003 已加入網域testlab.com

實驗轉移項目,

1. 桌面上一個叫This is a document on desktop的文件

2. 我的圖片裡一個叫This is my picture的圖片並設定成桌面背景

3. 我的文件裡的一個資料夾Justin Folder, 內有一個叫This is user powerpoint的ppt文件

4. Internet Explorer 11裡的首頁為www.outlook.com

5. Outlook 2003已設定一個使用Outlook Everywhere (HTTPS) 連線的Exchange郵箱, 而預設打字字形為20點大小的Arial

6. 一個網絡磁碟機U:

 

我們先把帳號登出, 再登入到擁有系統館理員權限的帳號, 例如administrator

再來以系統館理員權限開出命令提示字元 (cmd.exe) 把位置移到USMT所處的目錄, 注意作業系統是32 Bits (x86) 還是 64 Bits (amd64)

image

這次選用了USMT 5作為轉移工具, 可以先打scanstate.exe /?來查看所有scanstate能使用的參數

image

最基本的指令形態為 scanstate.exe 儲存轉移檔的位置 參數

而我現在要把這台電腦上一個在testlab.com網域上名為justin.lau的使用者匯出到U:\JustinStore\USMT, 指令為

scanstate.exe U:\JustinStore /i:migapp.xml /i:miguser.xml /i:migdocs.xml /ue:*\* /ui:testlab\justin.lau /targetwindows7

 

而/i:xxx.xml 是包含轉移那些設定的意思

/ue:*\* 是代表把所有本地帳號排除在匯出名單, scanstate.exe預設會把電腦上所有帳號匯出,

如果你的匯出文件包含本地帳號, 就需要在日後以loadstate.exe回復設定時配合/lac /lae參數才能成功,

而且注意本地帳號的密碼是不會轉移的, 使用者在異地登入要求重設密碼

也就是說, 本地帳號的資料將能自由轉移(或者說是完全曝露出來), 所以必須顧好帳號資訊安全!!

/ui:testlab\justin.lau 的意思是包含testlab\justin.lau這個網域帳號的意思

/targetwindows7 是scanstate.exe為Windows7的轉移而作出優化

image

而轉到目標位置, 我們會發現指令是設定C:\JustinStore這個儲存位置,

而Scanstate會自動建立了一個USMT的資料夾來儲存USMT.MIG這個檔案, 這是要在自動化佈置是要注意的地方

image

現在我到控制台, 使用者帳號, 直接把Justin.lau這個帳號從電腦上移除

image

從新登入testlab\justin.lau, 確認所有東西都不見了

image

再次登入到Administrator帳號以系統館理員權限開出命令提示字元 (cmd.exe)

鍵入以下指令來回復(或模擬在新電腦上轉移) testlab\justin.lau這個帳號的設定

loadstate.exe U:\JustinStore /i:migapp.xml /i:miguser.xml /i:migdocs.xml

注意我們不需要打U:\JustinStore\USMT\USMT.MIG這樣的路徑,

因為loadstate.exe同樣會補完路徑, 全打出來反而會出現錯誤訊息

image

再次登入到testlab\justin.lau的帳號, 所有東西都回來了!

那我們可能回問, 這個設定檔配合其他作業系統又會怎樣? 我們來看看Windows 8.1的例子

image

找另外一台Windows 8.1 64 Bits中文企業版的電腦, 也是testlab.com網域而且也安裝好Office 2003了

而testlab\justin.lau是從來沒有在這台電腦登入過的

image

以Administrator 帳號鍵入同樣的loadstate.exe指令, 看似很成功噢?

image

登入到testlab\justin.lau的帳號…Windows 8.1又要強迫我們看一次介紹了 開懷大笑

image

基本上東西都回來了, 除了璧紙沒有回來, 所有東西都還在噢~

還有這裡沒有截圖到, IE11的首頁都是www.outlook.com, 而之前已經試過了

就算是IE8 –> IE11這種轉移也是沒問題的. 希望通過這篇文章讓大家日後轉移帳號更方便!

image