移行 XML ファイルについて

基本的なユーザー状態移行ツール (USMT) の移行の動作は、XML ファイルを使用して変更できます。 これらのファイルは、USMT ツールがファイルと設定を収集して適用する場所と方法に関する手順を提供します。 USMT には、基本的な移行をカスタマイズするために使用できる 3 つの XML ファイル (ソース コンピューターでのファイルの検出方法を変更する MigDocs.xml ファイルと MigUser.xml ファイル)、およびサポートされているアプリケーション設定を移行するために必要な MigApps.xml ファイルが含まれています。 カスタム XML ファイルと Config.xml ファイルを作成および編集して、移行をさらにカスタマイズできます。

この記事では、既定の移行 XML ファイルとカスタム移行 XML ファイルの概要について説明し、カスタマイズされたバージョンの MigDocs.xml ファイルを作成および編集するためのガイドラインを示します。 MigDocs.xml ファイルは、USMT で使用できる新しいGenerateDocPatterns関数を使用して、ソース コンピューター上のユーザー ドキュメントを自動的に検索します。

Config.xml ファイルの概要

Config.xml ファイルは、ScanState ツールの [/genconfig] オプションによって作成された構成ファイルです。 USMT が移行するオペレーティング システム コンポーネントを変更するために使用できます。 Config.xml ファイルは、次の例のように、他の XML ファイルと共に使用できます。

ScanState.exe /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 Migrate とは」に記載されているアプリケーションの設定を移行する手順が含まれています。 アプリケーション設定を移行するには、/i オプションを使用して ScanState ツールと LoadState ツールを使用するときに、MigApp.xml ファイルを含める必要があります。 MigDocs.xmlファイルとMigUser.xml ファイルは、アプリケーション設定を移行しません。 カスタム XML ファイルを作成して、追加のアプリケーションを含めることができます。 詳細については、「 USMT XML ファイルのカスタマイズ」を参照してください。

重要

MigApps.xml ファイルは、Microsoft Office Outlook にリンクされている .pst ファイルのみを検出して移行します。 Outlook にリンクされていない .pst ファイルの移行の詳細については、「 カスタマイズされたバージョンの XML ファイルのサンプル移行規則」を参照してください。

MigDocs.xml ファイルの概要

MigDocs.xml ファイルは、新しい GenerateDocPatterns ヘルパー関数を使用して、USMT がファイルの場所に基づいてソース コンピューターからファイルを移行する手順を作成します。 MigDocs.xml ファイルは、ScanState ツールと LoadState ツールと共に使用して、XML 命令なしで USMT を使用するよりも、よりターゲットを絞った移行を実行できます。

既定の MigDocs.xml ファイルでは、次のデータが移行されます。

  • %WINDIR%%PROGRAMFILES%%PROGRAMDATA%、または%USERS%を除く、ドライブのルート上のすべてのファイル。

  • すべての固定ドライブのルート ディレクトリ内のすべてのフォルダー。 たとえば、c:\data_mail\*[*] のように指定します。

  • システム プロファイル内のファイルを除く、Profiles フォルダーのルートからのすべてのファイル。 たとえば、c:\users\name[mail.pst] のように指定します。

  • システム プロファイル フォルダーを除く、Profiles フォルダーのルートからのすべてのフォルダー。 たとえば、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 ファイルでは、次のデータは移行されません。

  • 非表示属性とシステム属性の両方でタグ付けされたファイル。

  • リムーバブル ドライブ上のファイルとフォルダー。

  • %WINDIR%、%PROGRAMDATA%、および %PROGRAMFILES% フォルダーからのデータ。

  • インストールされているアプリケーションを含むフォルダー。

/genmigxml オプションは、ScanState ツールで使用して、移行されるファイルを確認および変更できます。

MigUser.xml ファイルの概要

MigUser.xml ファイルには、USMT がファイル名拡張子に基づいてユーザー ファイルを移行する手順が含まれています。 MigUser.xml ファイルは、ScanState ツールと LoadState ツールと共に使用して、XML 命令なしで USMT を使用するよりも、よりターゲットを絞った移行を実行できます。 MigUser.xml ファイルは、標準のユーザー プロファイル フォルダーのすべてのファイルと、指定したファイル名拡張子を持つコンピューター上のすべてのファイルを収集します。

既定の MigUser.xml ファイルでは、次のデータが移行されます。

  • 標準のユーザー プロファイル フォルダーのすべてのファイル。次のように記述されています。

    • CSIDL_MYVIDEO

    • CSIDL_MYMUSIC

    • CSIDL_DESKTOP

    • CSIDL_STARTMENU

    • CSIDL_PERSONAL

    • CSIDL_MYPICTURES

    • CSIDL_FAVORITES

    • 起動のCSIDL_QUICK

  • 次の拡張子を持つファイル:

    .accdb, .ch3, .csv, .dif, .doc*, .dot*, .dqy, .iqy, .mcw, .mdb*, .mpp, .one*, .oqy, .or6, .pot*, .ppa, .pps*, .ppt*, .pre, .pst, .pub, .qdf, .qel, .qph, .qsd, .rqy, .rtf, .scd, .sh3, .slk, .txt, .vl*, .vsd, .wk*, .wpd, .wps, .wq1, .wri, .xl*, .xla, .xlb, .xls*

    アスタリスク (*) は、0 個以上の文字を表します。

    Microsoft Office アプリケーションで使用できる OpenDocument 拡張機能 (*.odt*.odp*.ods) は、既定では移行されません。

既定の MigUser.xml ファイルでは、次のデータは移行されません。

  • 非表示属性とシステム属性の両方でタグ付けされたファイル。

  • リムーバブル ドライブ上のファイルとフォルダー。

  • %WINDIR%%PROGRAMFILES%%PROGRAMDATA% フォルダーからのデータ。

  • ユーザー プロファイルの外部にあるフォルダー内のファイルの ACLS。

MigUser.xml ファイルをコピーしてから、標準のユーザー プロファイル フォルダーとファイル名拡張子を含めたり除外したりするようにコピーを変更できます。 ソース コンピューターから移行する必要があるファイルのすべての拡張機能がわかっている場合は、ファイルの場所に関係なく、 MigUser.xml ファイルを使用して関連するすべてのデータを移動します。 ただし、 MigUser.xml ファイルに移行する必要があるすべてのファイル拡張子を追加すると、意図したよりも多くのファイルが含まれる移行が発生する可能性があります。 たとえば、 すべての.jpg ファイルが移行された場合、ソース コンピューターにインストールされているレガシ アプリケーションからサムネイルやロゴなどのイメージ ファイルを移行することもできます。

MigUser.xml ファイル内の規則に含まれる各ファイル名拡張子は、ScanState ツールが移行のためにファイルを収集するために必要な時間を増やします。 300 を超えるファイルの種類が移行されている場合、移行エクスペリエンスが遅くなる可能性があります。 データの移行を整理するその他の方法の詳細については、この記事の 「複数の XML ファイルを使用する 」セクションを参照してください。

複数の XML ファイルを使用する

ScanState ツールと LoadState ツールでは、複数の XML ファイルを使用できます。 USMT に含まれる、または USMT によって生成される既定の XML ファイルはそれぞれ、移行の特定のコンポーネント用に構成されます。 カスタム XML ファイルを使用して、これらの既定のファイルをより多くの移行規則で補完することもできます。

XML 移行ファイル 次のコンポーネントを変更します。
Config.xml ファイル デスクトップの壁紙や背景のテーマなどのオペレーティング システム コンポーネント。
Config.xmlは、Config.xml ファイルを他の既定の XML ファイルと共に生成することで、アプリケーションとドキュメントの設定を含むように拡張することもできます。 詳細については、「 USMT XML ファイルのカスタマイズ 」および 「Config.xml ファイル」を参照してください。
MigApps.xml ファイル アプリケーション設定。
ファイルのMigUser.xml または MigDocs.xml ユーザー ファイルとプロファイル設定。
カスタム XML ファイル 他の XML ファイルに含まれる規則を超えて、アプリケーション設定、ユーザー プロファイル設定、またはユーザー ファイル。

たとえば、次の例のように、すべての XML 移行ファイルの種類を 1 回の移行に使用できます。

ScanState.exe <store> /config:c:\myFolder\Config.xml /i:migapps.xml /i:MigDocs.xml /i:CustomRules.xml

ユーザー ファイルを移行するための XML ルール

重要

MigUser.xmlファイルとMigDocs.xmlファイルを同じコマンドで一緒に使用しないでください。 両方の XML ファイルを使用すると、一部の移行されたファイルが重複する可能性があります。 移行された一部のファイルの重複は、競合するターゲットの場所の指示が各 XML ファイルで指定されている場合に発生する可能性があります。 ターゲット ファイルは移行中に 1 回保存されますが、各 XML ファイルは、コピー先コンピューター上の別の場所にファイルを適用します。

データ セットが不明な場合、または多数のファイルが標準のユーザー プロファイル フォルダーの外部に格納されている場合、MigDocs.xml ファイルはデータの範囲を広く収集するため、MigUser.xml ファイルよりもMigDocs.xmlが適しています。 MigDocs.xml ファイルは、場所に基づいてデータのフォルダーを移行します。 MigUser.xml ファイルは、指定されたファイル名拡張子を持つファイルのみを移行します。

移行をより詳細に制御するために、カスタム XML ファイルを作成します。 カスタム XML ファイルの作成の詳細については、「カスタム XML ファイル の作成と編集」を参照してください。

カスタム XML ファイルの作成と編集

/genmigxmlコマンド ライン オプションを使用して、移行に含まれるファイルを決定できます。 /genmigxml オプションは、指定した場所にファイルを作成します。 その後、ファイル内の XML ルールを確認し、必要に応じて変更を加えることができます。

USMT を再インストールすると、既定の移行 XML ファイルが上書きされ、これらのファイルに対して行われたカスタマイズはすべて失われます。 カスタム移行ルール用の個別の XML ファイルを作成し、安全な場所に保存することを検討してください。

ソース コンピューターの XML 移行規則ファイルを生成するには:

  1. [Start>All Programs>Accessories] を選択します

  2. [コマンド プロンプト] を右クリックし、[実行] を選択します。

  3. 管理者特権を持つアカウントを選択し、パスワードを指定して、[ OK] を選択します

  4. コマンド プロンプトで、次のように入力します。

    cd /d <USMTpath>
    ScanState.exe /genmigxml: <filepath.xml>
    

    この場合

    • <USMTpath> - 保存した USMT ファイルとツールのソース コンピューター上の場所。
    • <filepath.xml> - レポートを保存できるファイルへの完全パス。

    たとえば、次のように入力します。

    cd /d c:\USMT
    ScanState.exe /genmigxml:"C:\Users\USMT Tester\Desktop\genMig.xml"
    

GenerateDocPatterns 関数

MigDocs.xml ファイルは、3 つのブール値を受け取る GenerateDocPatterns 関数を呼び出します。 設定を変更して、 MigDocs.xml ファイルが移行用の XML 規則を生成する方法を変更できます。

  • ScanProgramFiles: この引数は、 GenerateDocPatterns 関数がシステム コンテキストで呼び出された場合にのみ有効です。 この引数は、Program Files ディレクトリをスキャンして、既知のアプリケーションの登録済みファイル名拡張子を収集するかどうかを決定します。

    既定値: False

    たとえば、 TRUE に設定すると、.docは Microsoft Office アプリケーション 登録されているファイル名拡張子であるため、 関数 は Microsoft Office ディレクトリの下にある.docファイルを検出して移行します。 GenerateDocPatterns関数は、.doc ファイルに対して次の包含パターンを生成します。

    <pattern type="File">C:\Program Files\Microsoft Office[.doc]</pattern>

    含まれているフォルダーの子フォルダーにインストールされているアプリケーションが含まれている場合は、子フォルダーの除外規則も作成 ScanProgramFiles 。 アプリケーション フォルダーの下にあるすべてのフォルダーは、登録済みのファイル名拡張子を再帰的にスキャンします。

  • IncludePatterns: この引数は、XML で除外パターンまたはインクルード パターンを生成するかどうかを決定します。 この引数を TRUE に設定すると、 GenerateDocPatterns 関数はインクルード パターンを生成し、関数を <include> 要素の下に追加する必要があります。 この引数を FALSE に変更すると、除外パターンが生成され、関数を <exclude> 要素の下に追加する必要があります。

    既定値: True

  • 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 ファイルには、コンテキスト設定が異なる 2 つの<コンポーネント>要素が含まれています。

  • システム コンテキストは、ユーザー プロファイル ディレクトリに格納されていないコンピューター上のファイルに適用されます。
  • ユーザー コンテキストは、個々のユーザーに特定のファイルに適用されます。

システム コンテキスト

システム コンテキストには、ユーザー プロファイル ディレクトリの外部にあるデータのルールが含まれています。 たとえば、 MigDocs.xml ファイルのシステム コンテキストで呼び出されると、 GenerateDocPatterns 関数は、すべての共通シェル フォルダー、ハード ドライブのルート ディレクトリ内のファイル、ハード ドライブのルートにあるフォルダーのパターンを作成します。 次のフォルダーが含まれています。

  • CSIDL_COMMON_DESKTOPDIRECTORY

  • CSIDL_COMMON_FAVORITES

  • CSIDL_COMMON_DOCUMENTS

  • CSIDL_COMMON_MUSIC

  • CSIDL_COMMON_PICTURES

  • CSIDL_COMMON_VIDEO

  • FOLDERID_PublicDownloads

ユーザー コンテキスト

ユーザー コンテキストには、ユーザー プロファイル ディレクトリ内のデータのルールが含まれています。 MigDocs.xml ファイル内のユーザー コンテキストで呼び出されると、GenerateDocPatterns関数は、すべてのユーザー シェル フォルダー、プロファイルのルートにあるファイル、およびプロファイルのルートにあるフォルダーのパターンを作成します。 次のフォルダーが含まれています。

  • 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 ファイルによって複数回スキャンされたファイルは、移行ストアに 1 回だけコピーされます。 ただし、ユーザー コンテキスト内のルールの数が多いと、移行の速度が低下する可能性があります。 該当する場合は、システム コンテキストを使用します。

カスタマイズされたバージョンの XML ファイルの移行規則のサンプル

ヒント

USMT でカスタマイズされた XML ファイルのベスト プラクティスと要件については、「 USMT XML ファイル一般的な規則のカスタマイズ」を参照してください。

ルールの使用例を除外する

次の例では、ソース コンピューターには new folder というディレクトリに new text document という.txtファイルがあります。 既定の MigDocs.xml 動作では、新しいテキスト document.txt ファイルと、 new folder ディレクトリに含まれるすべてのファイルが移行されます。 関数によって生成されるルールは次のとおりです。

支配 構文
規則 1 <pattern type="File">d:\new folder[new text document.txt]</pattern>
規則 2 <pattern type="File">d:\new folder[]</pattern>

新しいテキスト document.txt ファイルとnew folder内のすべての .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: Include ルールよりもルールの優先順位を付けるために、無条件Exclude 要素を使用する

ファイル名またはファイルの場所が不明で、ファイル名拡張子が不明な場合は、 GenerateDrivePatterns 関数を使用できます。 ただし、この規則は、 MigDocs.xml ファイルによって生成される既定のインクルード 規則よりも具体的でないため、優先順位は設定されません。 <UnconditionalExclude> 要素を使用して、この規則を既定のインクルード 規則よりも優先する必要があります。 XML 移行規則の優先順位の詳細については、「 競合と優先順位」を参照してください。

<unconditionalExclude>
     <objectSet>
        <script>MigXmlHelper.GenerateDrivePatterns ("*[*.txt]", "Fixed")</script>
     </objectSet>
</unconditionalExclude>

例 3: UserandSystem コンテキスト コンポーネントを使用して、両方のコンテキストでルールを実行する

<UnconditionalExclude> 要素をシステム コンテキストとユーザー コンテキストの両方に適用するには、UserandSystem コンテキストを使用して 3 つ目のコンポーネントを作成できます。 このコンポーネントのルールは、両方のコンテキストで実行されます。

<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: 既知のユーザー フォルダーにファイル名拡張子を含める

このルールには、既定の場所に配置されているが、Microsoft Outlook にリンクされていない .pst ファイルが含まれます。 ユーザー コンテキストを使用して、コンピューター上の各ユーザーに対してこの規則を実行します。

<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
     <objectSet>
        <pattern type="File">%CSIDL_LOCAL_APPDATA%\Microsoft\Outlook\*[*.pst]</pattern>
     </objectSet>
</include>

例 2: プログラム ファイルにファイル名拡張子を含める

ユーザー プロファイルの外部の場所 (Program Files フォルダーなど) の場合、ルールをシステム コンテキスト コンポーネントに追加できます。

<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
     <objectSet>
        <pattern type="File">%CSIDL_PROGRAM_FILES%\*[*.pst]</pattern>
     </objectSet>
</include>

カスタム移行 XML ファイルで使用できるインクルード ルールの例については、「ファイル と設定を含める」を参照してください。

ヒント

XML 移行規則の優先順位の詳細については、「 競合と優先順位」を参照してください。

次のステップ

移行の追加規則は、 MigDocs.xml ファイルまたはその他の XML 移行ファイルに含めることができます。 たとえば、 <locationModify> 要素を使用して、ファイルを収集したフォルダーから別のフォルダーに移動し、コピー先のコンピューターに適用できます。

XML スキーマ (MigXML.xsd) ファイルを使用して、カスタマイズされた XML ファイルの構文を検証できます。 詳細については、「 USMT リソース」を参照してください。