了解移轉 XML 檔案
您可以使用 XML 檔案來修改基本 使用者狀態移轉工具 (USMT) 5.0 移轉的行為;這些檔案會提供 USMT 工具應該在何處收集以及如何套用檔案和設定的指示。USMT 包含三個 XML 檔案,您可以用來自訂基本的移轉:MigDocs.xml 和 MigUser.xml 檔案可修改在來源電腦上找到檔案的方式,而 MigApps.xml 檔案則是移轉支援的應用程式設定時的必要檔案。您也可以建立和編輯自訂 XML 檔案以及 Config.xml 檔案,進一步自訂您的移轉。
本主題提供預設和自訂移轉 XML 檔案的概觀,並且包含建立和編輯自訂的 MigDocs.xml 檔案版本的指導方針。MigDocs.xml 檔案使用 USMT 提供的新 GenerateDocPatterns 函式,以自動在來源電腦上尋找使用者文件。
在本主題中
Config.xml 檔案概觀
MigApp.xml 檔案概觀
MigDocs.xml 檔案概觀
MigUser.xml 檔案概觀
使用多個 XML 檔案
用於移轉使用者檔案的 XML 規則
建立和編輯自訂 XML 檔案
GenerateDocPatterns 函式
了解系統和使用者內容
XML 檔案自訂版本的範例移轉規則
排除規則使用方式範例
包含規則使用方式範例
後續步驟
Config.xml 檔案概觀
Config.xml 檔案是 ScanState 工具的 /genconfig
選項所建立的設定檔;它可以用來修改 USMT 要移轉的作業系統元件。Config.xml 檔案可以搭配其他 XML 檔案一起使用,如下列範例所示:scanstate /i:migapps.xml /i:migdocs.xml /genconfig:c:\myFolder\config.xml
。使用這種方式時,Config.xml 檔案會嚴格控制移轉的各個層面,包括使用者設定檔、資料以及設定,無需修改或建立其他的 XML 檔案。如需 Config.xml 檔案的詳細資訊,請參閱自訂 USMT XML 檔案和 Config.xml 檔案。
備註 |
---|
修改 Config.xml 檔案中的 XML 元素時,您應該編輯元素並且將 migrate 屬性設定成 no,而不是從檔案中刪除這個元素。如果刪除元素而不是設定屬性,則其他 XML 檔案中的規則還是可以移轉這個元件。 |
MigApp.xml 檔案概觀
隨 USMT 安裝的 MigApp.xml 檔案會包含如何移轉 USMT 移轉哪些項目?中所列之應用程式設定的指示。您必須在使用 ScanState 和 LoadState 工具時包含 MigApp.xml 檔案,並使用 /i
選項才能移轉應用程式設定。MigDocs.xml 和 MigUser.xml 檔案不會移轉應用程式設定。您可以建立自訂 XML 檔案來包含其他的應用程式。如需詳細資訊,請參閱自訂 USMT XML 檔案。
重要
MigApp.xml 檔案只會偵測和移轉連結至 Microsoft(R) Office Outlook(R) 的 .pst 檔案。請參閱本文件的 XML 檔案自訂版本的範例移轉規則一節,以取得移轉未連結至 Outlook 之 .pst 檔案的相關資訊。
MigDocs.xml 檔案概觀
MigDocs.xml 檔案會使用新的 GenerateDocPatterns Helper 函式,根據檔案的位置,為 USMT 建立從來源電腦移轉檔案的指示。您可以使用 MigDocs.xml 檔案搭配 ScanState 和 LoadState 工具來執行比使用 USMT 更具目標性的移轉,無需 XML 的指示。
預設的 MigDocs.xml 檔案會移轉下列項目:
磁碟機根目錄的所有檔案,但 %WINDIR%、%PROGRAMFILES%、%PROGRAMDATA% 或 %USERS% 除外。
所有固定磁碟機根目錄中的所有資料夾。例如:c:\data_mail\*[*]
設定檔資料夾根目錄的所有檔案,但系統設定檔中的檔案除外。例如:c:\users\name[mail.pst]
設定檔資料夾根目錄的所有資料夾,但系統設定檔資料夾除外。例如:c:\users\name\new folder\*[*]
標準共用資料夾:
CSIDL_COMMON_DESKTOPDIRECTORY
CSIDL_COMMON_FAVORITES
CSIDL_COMMON_DOCUMENTS
CSIDL_COMMON_MUSIC
CSIDL_COMMON_PICTURES
CSIDL_COMMON_VIDEO
FOLDERID_PublicDownloads
每一位使用者的標準使用者設定檔資料夾:
CSIDL_MYDOCUMENTS
CSIDL_MYPICTURES
FOLDERID_OriginalImages
CSIDL_MYMUSIC
CSIDL_MYVIDEO
CSIDL_FAVORITES
CSIDL_DESKTOP
CSIDL_QUICKLAUNCH
FOLDERID_Contacts
FOLDERID_Libraries
FOLDERID_Downloads
FOLDERID_SavedGames
FOLDERID_RecordedTV
預設的 MigDocs.xml 檔案不會移轉下列項目:
標記 hidden 和 system 屬性的檔案。
卸除式磁碟機上的檔案和資料夾。
%WINDIR%、%PROGRAMDATA% 以及 %PROGRAMFILES% 資料夾中的資料。
包含已安裝的應用程式資料夾。
您也可以使用 /genmigxml 選項搭配 ScanState 工具,檢閱和修改要移轉的檔案。如需詳細資訊,請參閱本文件的建立和編輯自訂 XML 檔案一節。
MigUser.xml 檔案概觀
MigUser.xml 檔案包含 USMT 根據副檔名來移轉使用者檔案的指示。您可以使用 MigUser.xml 檔案搭配 ScanState 和 LoadState 工具來執行比使用 USMT 更具目標性的移轉,無需 XML 的指示。MigUser.xml 檔案會從標準使用者設定檔資料夾收集所有檔案,以及電腦上任何具有指定副檔名的檔案。
預設的 MigUser.xml 檔案會移轉下列項目:
標準使用者設定檔資料夾中的所有檔案,如下所述:
CSIDL_MYVIDEO
CSIDL_MYMUSIC
CSIDL_DESKTOP
CSIDL_STARTMENU
CSIDL_PERSONAL
CSIDL_MYPICTURES
CSIDL_FAVORITES
CSIDL_QUICK LAUNCH
具有下列副檔名的檔案:
.qdf、.qsd、.qel、.qph、.doc*、.dot*、.rtf、.mcw、.wps、.scd、.wri、.wpd、.xl*、.csv、.iqy、.dqy、.oqy、.rqy、.wk*、.wq1、.slk、.dif、.ppt*、.pps*、.pot*、.sh3、.ch3、.pre、.ppa、.txt、.pst、.one*、.vl*、.vsd、.mpp、.or6、.accdb、.mdb、.pub
預設的 MigUser.xml 檔案不會移轉下列項目:
標記 hidden 和 system 屬性的檔案。
卸除式磁碟機上的檔案和資料夾,
%WINDIR%、%PROGRAMFILES% 以及 %PROGRAMDATA% 資料夾中的資料。
使用者設定檔外部的資料夾中檔案的 ACLS。
您可以複製 MigUser.xml 檔案,然後加以修改,就可以包含或排除標準使用者設定檔資料夾和副檔名。如果您知道想要從來源電腦移轉的檔案副檔名,請使用 MigUser.xml 檔案來移除所有相關資料,不論檔案的位置為何。不過,這樣會造成移轉時包含的檔案比預期要移轉的檔案還要多。例如,如果您選擇移轉所有 .jpg 檔案,可能會移轉影像檔案,例如安裝到來源電腦上的舊版應用程式其所屬的縮圖和標誌。
備註 |
---|
您在 MigUser.xml 檔案的規則中所包含的每個副檔名,會增加 ScanState 工具收集要移轉的檔案所需的時間。如果移轉的檔案類型超過三百種以上,您會發現移轉速度變得很慢。如需其他組織資料移轉方法的詳細資訊,請參閱本文件的使用多個 XML 檔案一節。 |
使用多個 XML 檔案
您可以搭配 ScanState 和 LoadState 工具使用多個 XML 檔案。USMT 包含或產生的每個預設 XML 檔案,都是為特定的移轉元件而設定。您也可以使用自訂 XML 檔案,以其他移轉規則補充這些預設檔案。
XML 移轉檔案 | 修改下列元件: |
---|---|
Config.xml 檔案 |
作業系統元件,例如桌面底色圖案以及背景佈景主題。 您也可以使用其他預設 XML 檔案來產生 config.xml 檔案,讓 config.xml 超載以包含部分應用程式和文件設定。如需詳細資訊,請參閱自訂 USMT XML 檔案和 Config.xml 檔案。 |
MigApps.xml 檔案 |
應用程式設定。 |
MigUser.xml 或 MigDocs.xml 檔案 |
使用者檔案和設定檔設定。 |
自訂 XML 檔案 |
應用程式設定、使用者設定檔設定或使用者檔案,超出其他 XML 檔案包含的規則。 |
例如,您可以在單一移轉中使用所有的 XML 移轉檔案類型,如下列範例所示:
Scanstate <store> /config:c:\myFolder\config.xml /i:migapps.xml /i:migdocs.xml /i:customrules.xml
用於移轉使用者檔案的 XML 規則
重要
您不能在同一個命令中同時使用 MigUser.xml 和 MigDocs.xml 檔案。使用這兩個 XML 檔案會造成某些移轉的檔案重複。當每一個 XML 檔案中的目標位置指示產生衝突時,就會發生這種情況。目標檔案會在移轉時儲存一次,不過每一個 XML 檔案會套用至目的電腦上的不同位置。
如果您的資料集不明,或者如果很多檔案都儲存在標準使用者設定檔資料夾外面,則 MigDocs.xml 檔案是比 MigUser.xml 檔案更好的選擇,因為 MigDocs.xml 檔案收集的資料範圍更廣。MigDocs.xml 檔案會根據位置移轉資料的資料夾。MigUser.xml 檔案只會移轉指定副檔名的檔案。
如果您要更能控制移轉,可以建立自訂 XML 檔案。請參閱本文件的建立和編輯自訂 XML 檔案一節。
建立和編輯自訂 XML 檔案
您可以使用 /genmigxml 命令列選項,決定移轉中將包含哪些檔案。/genmigxml 選項會在您指定的位置中建立一個檔案,這樣就可以檢閱 XML 規則以及在需要時進行修改。
備註 |
---|
如果您重新安裝 USMT,則會覆寫預設的移轉 XML 檔案,而且會遺失您直接對這些檔案所做的任何自訂。請考量為您的自訂移轉規則建立獨立的 XML 檔案,然後將它們儲存在安全的位置。 |
若要為來源電腦產生 XML 移轉規則檔案:
依序按一下 [開始]、[所有程式] 及 [附屬應用程式],在 [命令提示字元] 上按一下滑鼠右鍵,然後按一下 [執行身分]。
選取具有系統管理員權限的帳戶、提供密碼,然後按一下 [確定]。
在命令提示字元中輸入:
cd /d <USMTpath> scanstate.exe /genmigxml: <filepath.xml>
其中 <USMTpath> 是來源電腦上儲存 USMT 檔案與工具的位置,而 <filepath.xml> 則是可以儲存報告檔案的完整路徑。例如,輸入:
cd /d c:\USMT scanstate.exe /genmigxml:"C:\Documents and Settings\USMT Tester\Desktop\genMig.xml"
GenerateDocPatterns 函式
MigDocs.xml 檔案會呼叫 GenerateDocPatterns 函式,使用三個布林值。您可以變更這項設定,來修改 MigDocs.xml 檔案產生 XML 規則以進行移轉的方式。
設定 | 值 | 預設值 |
---|---|---|
ScanProgramFiles |
ScanProgramFiles 引數只有在系統內容中呼叫 GenerateDocPatterns 函式時才有效。這個引數會決定是否掃描 Program Files 目錄,以收集已知應用程式登錄的副檔名。 例如,當設定成 TRUE 之後,這個函式會尋找和移轉 Microsoft Office 目錄下的 .doc 檔案,因為 .doc 是 Microsoft Office 應用程式登錄的副檔名。GenerateDocPatterns 函式會為 .doc 檔案產生這個包含模式:
如果包含的資料夾,其子資料夾還包含已安裝的應用程式,則 ScanProgramFiles 也會為子資料夾建立排除規則。應用程式資料夾底下的所有資料夾都會以遞迴方式逐一掃描,以便找出登錄的副檔名。 |
False |
IncludePatterns |
IncludePatterns 引數會決定是否在 XML 中產生排除或包含模式。當這個引數設定成 TRUE 之後,GenerateDocPatterns 函式會產生包含模式,而且函式必須新增至 <include> 元素下。將這個引數變更成 FALSE 之後,會產生排除模式而且這個函式必須新增至 <exclude> 元素下。 |
True |
SystemDrive |
SystemDrive 引數會決定是否為所有固定磁碟機或者只為系統磁碟機產生模式。將這個引數變更成 TRUE 就會將所有模式限制為系統磁碟機。 |
False |
使用方式:
MigXmlHelper.GenerateDocPatterns ("<ScanProgramFiles>", "<IncludePatterns>", "<SystemDrive>")
若只想為系統磁碟機建立包含資料模式:
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<script>MigXmlHelper.GenerateDocPatterns ("FALSE","TRUE","TRUE")</script>
</objectSet>
</include>
若要建立包含規則,以便從 %PROGRAMFILES% 目錄中為登錄的副檔名收集檔案:
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<script>MigXmlHelper.GenerateDocPatterns ("TRUE","TRUE","FALSE")</script>
</objectSet>
</include>
若要建立排除資料模式:
<exclude filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<script>MigXmlHelper.GenerateDocPatterns ("FALSE","FALSE","FALSE")</script>
</objectSet>
</exclude>
了解系統和使用者內容
移轉 XML 檔案包含兩個不同內容 設定的 <component> 元素。系統內容適用於電腦上未儲存於使用者設定檔目錄中的檔案,而使用者內容則適用於個別使用者特定的檔案。
系統內容
系統內容包含使用者設定檔目錄外面的資料規則。例如,在 MigDocs.xml 檔案的系統內容中呼叫時,GenerateDocPatterns 函式會為所有一般 Shell 資料夾、硬碟根目錄中的檔案,以及硬碟根目錄的資料夾建立模式。下列是包含的資料夾:
CSIDL_COMMON_DESKTOPDIRECTORY
CSIDL_COMMON_FAVORITES
CSIDL_COMMON_DOCUMENTS
CSIDL_COMMON_MUSIC
CSIDL_COMMON_PICTURES
CSIDL_COMMON_VIDEO
FOLDERID_PublicDownloads
使用者內容
使用者內容包含使用者設定檔目錄中的資料規則。在 MigDocs.xml 檔案的使用者內容中呼叫時,GenerateDocPatterns 函式會為所有使用者 Shell 資料夾、設定檔根目錄的檔案,以及設定檔根目錄的資料夾建立模式。下列是包含的資料夾:
CSIDL_MYDOCUMENTS
CSIDL_MYPICTURES
FOLDERID_OriginalImages
CSIDL_MYMUSIC
CSIDL_MYVIDEO
CSIDL_FAVORITES
CSIDL_DESKTOP
CSIDL_QUICKLAUNCH
FOLDERID_Contacts
FOLDERID_Libraries
FOLDERID_Downloads
FOLDERID_SavedGames
FOLDERID_RecordedTV
備註 |
---|
會為電腦上的每一個使用者設定檔,執行被指派為使用者內容的元件中所包含的規則。MigDocs.xml 檔案掃描多次的檔案只會複製到移轉存放區中一次;不過,使用者內容中大量的規則會造成移轉速度變慢。請使用系統內容 (如果適用時)。 |
XML 檔案自訂版本的範例移轉規則
備註 |
---|
如需 USMT 的自訂 XML 檔案最佳做法和需求,請參閱自訂 USMT XML 檔案和一般慣例。 |
排除規則使用方式範例
在以下範例中,來源電腦的 "new folder" 目錄中有一個名為 "new text document" 的 .txt 檔案。預設的 MigDocs.xml 行為會移轉 new text document.txt 檔案以及 "new folder" 目錄中的所有檔案。以下是這個函式產生的規則:
規則 1 |
|
規則 2 |
|
若要排除 "new folder" 中的 new text document.txt 檔案以及任何的 .txt 檔案,您可以執行下列動作:
範例 1:排除資料夾中的所有 .txt 檔案
若要排除規則 1,就需要有一個完全相符的檔案名稱。不過,對於規則 2 而言,您可以使用副檔名來建立一個排除檔案的模式。
<exclude>
<objectSet>
<pattern type="File">D:\Newfolder\[new text document.txt]</pattern>
<pattern type="File">D:\New folder\*[*.txt]</pattern>
</objectSet>
</exclude>
範例 2:使用 UnconditionalExclude 元素,讓某個規則的優先順序高於包含規則
如果您不知道檔案名稱或檔案的位置,但知道副檔名,則可以使用 GenerateDrivePatterns 函式。不過,這個規則比 MigDocs.xml 檔案所產生的預設包含規則較不特定,因此它不具有優先順序。您必須使用 <UnconditionalExclude> 元素,讓這個規則的優先順序高於預設的包含規則。如需 XML 移轉規則的優先順序詳細資訊,請參閱衝突與優先順序。
<unconditionalExclude>
<objectSet>
<script>MigXmlHelper.GenerateDrivePatterns ("*[*.txt]", "Fixed")</script>
</objectSet>
</unconditionalExclude>
範例 3:使用 UserandSystem 內容元件,在兩個內容中執行規則
如果您想要讓 <UnconditionalExclude> 元素套用至系統和使用者內容,您可以使用 UserandSystem 內容,建立第三個元件。這個元件中的規則會在兩個內容中執行。
<component type="Documents" context="UserandSystem">
<displayName>MigDocExcludes</displayName>
<role role="Data">
<rules>
<unconditionalExclude>
<objectSet>
<script>MigXmlHelper.GenerateDrivePatterns ("*[*.txt]", "Fixed")</script>
</objectSet>
</unconditionalExclude>
</rules>
</role>
</component>
如需您可以在自訂移轉 XML 檔案中使用之排除規則的相關範例,請參閱排除檔案與設定。
包含規則使用方式範例
需要新增包含規則時,最常用的位置就是應用程式資料目錄。GenerateDocPatterns 函式預設會排除這個位置。如果公司使用的應用程式會將重要資料儲存至這個位置,則您可以建立包含規則來移轉資料。例如,.pst 檔案的預設位置為:%CSIDL_LOCAL_APPDATA%\Microsoft\Outlook
。MigApp.xml 檔案包含的移轉規則只會移動連結至 Microsoft Outlook 的這些 .pst 檔案。若要包含未連結的 .pst 檔案,您可以執行下列動作:
範例 1:在已知的使用者資料夾中包含一個副檔名
這個規則會包含預設位置中的 .pst 檔案,但是該檔案未連結至 Microsoft Outlook。利用使用者內容,為電腦上的每一位使用者執行這個規則。
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_LOCAL_APPDATA%\Microsoft\Outlook\*[*.pst]</pattern>
</objectSet>
</include>
範例 2:在 Program Files 中包含一個副檔名
至於使用者設定檔以外的位置 (例如 Program Files 資料夾),您可以將規則新增至系統內容元件中。
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<pattern type="File">%CSIDL_PROGRAM_FILES%\*[*.pst]</pattern>
</objectSet>
</include>
如需您可以在自訂移轉 XML 檔案中使用之包含規則的相關範例,請參閱包含檔案與設定。
備註 |
---|
如需 XML 移轉規則的優先順序詳細資訊,請參閱衝突與優先順序。 |
後續步驟
您可以在 MigDocs.xml 檔案或其他 XML 移轉檔案中,包含移轉的其他規則。例如,當這些檔案套用至目的電腦後,您可以使用 <locationModify> 元素,從收集到檔案的資料夾中,將檔案移動到其他資料夾。如需詳細資訊,請參閱 USMT XML 參考。
您可以使用 XML 結構描述 (MigXML.xsd) 檔案來驗證自訂 XML 檔案的語法。如需詳細資訊,請參閱 USMT 資源。