USMT XML ファイルのカスタマイズ
このトピックの内容
概要
.xml ファイルの移行
カスタム .xml ファイル
Config.xml ファイル
例
追加情報
概要
ScanState ツールと LoadState ツールでいずれかの移行 .xml ファイルを利用するには、コマンド ラインで /i オプションを使ってファイルを指定します。ScanState ツールと LoadState ツールは、移行を制御するために .xml ファイルを必要とするため、ScanState と LoadState の両方のコマンドに同じ .xml ファイル一式を指定する必要があります。ただし、ストアに移行したファイルや設定の一部を除外する必要がない限り、/config オプションで Config.xml ファイルを指定する必要はありません。たとえば、マイ ドキュメント フォルダーをストアには移行するが、対象コンピューターには移行しないということもできます。このような場合は、Config.xml ファイルに変更を加えたうえで、LoadState コマンドにこの変更後のファイルを指定します。これで自分の意図したファイルと設定だけが、LoadState コマンドによって移行されます。
LoadState コマンドに .xml ファイルの指定が欠落している場合、その .xml ファイルでストアに移行されたすべてのデータが移行されます。ただし、ScanState コマンドで指定された移行規則は適用されません。たとえば、省略した .xml ファイルに、MigsysHelperFunction.RelativeMove("c:\data", "%CSIDL_PERSONAL%")
という出力先変更規則が含まれている場合、USMT はファイルの出力先を変更しません。ファイルは C:\data に移行されます。
移行方法を変更するには、次の作業を行います。
移行 .xml ファイルに変更を加える。コンポーネントの一部を除外する場合 (C:\ を移行する際に .mp3 ファイルは除くなど) や、移行元コンピューターとは異なる場所にデータを移動する場合は、この .xml ファイルを変更します。このファイルに変更を加えるには、移行規則と構文を十分に理解している必要があります。ScanState と LoadState でこれらのファイルを使うには、各コマンドの入力時にコマンド ラインでファイルを指定します。
カスタム .xml ファイルを作成する。カスタム .xml ファイルを作成して、別のアプリケーションの設定を移行したり、移行の動作を必要に応じて変更したりすることもできます。ScanState と LoadState でこのファイルを使うには、両方のコマンド ラインでファイルを指定します。
Config.xml ファイルを作成して編集する。この方法は、コンポーネント全体を移行対象から除外する場合に利用します。たとえば、Config.xml ファイルを使って、マイ ドキュメント フォルダー全体を除外したり、アプリケーションの設定を除外したりすることができます。Config.xml ファイルを使ったコンポーネントの除外は、移行の規則や構文に精通している必要がないため、移行 .xml ファイルを編集するよりも簡単です。また、オペレーティング システムの設定を移行対象から除外する場合は、Config.xml ファイルを使う必要があります。
データの除外について詳しくは、「ファイルと設定の除外」をご覧ください。
.xml ファイルの移行
ここでは、USMT に付属する移行 .xml ファイルについて説明します。それぞれのファイルには、移行対象のコンポーネントと移行先コンピューター上における移行場所を制御する移行規則が含まれています。
注
各ファイルには、ワイルドカード文字としてアスタリスク (*) を使うことができます。ただし、疑問符 (?) をワイルドカード文字として使うことはできません。
MigApp.xml ファイル。アプリケーション設定を移行するには、ScanState コマンドと LoadState コマンドの両方でこのファイルを指定します。
MigDocs.xml ファイル。MigXmlHelper.GenerateDocPatterns ヘルパー関数によって検出されたすべてのユーザー フォルダーとすべてのファイルを移行するには、ScanState ツールと LoadState ツールの両方でこのファイルを指定します。 このヘルパー関数は、すべてのドライブのルートに存在するユーザー データと、Users ディレクトリ内のユーザー データを検出します。 ただし、アプリケーション データ、プログラム ファイル、Windows ディレクトリ内のファイルに対する検索と移行は行いません。MigDocs.xml ファイルには変更を加えることができます。
MigUser.xml ファイル。ユーザー フォルダー、ファイル、ファイルの種類を移行するには、ScanState コマンドと LoadState コマンドの両方でこのファイルを指定します。MigUser.xml ファイルには変更を加えることができます。特定のユーザー アカウントを移行する規則はこのファイルには含まれていません。ScanState と LoadState のユーザー関連オプションをコマンド ラインで指定するのが、移行対象のユーザー アカウントを指定する唯一の方法となります。
注
MigUser.xml ファイルと MigDocs.xml ファイルを同時に指定することは避けてください。詳しくは、「ファイルの種類、ファイル、フォルダーの特定」と「USMT に関するヒント集」をご覧ください。
カスタム .xml ファイル
独自のニーズに応じて移行をカスタマイズするには、カスタム .xml ファイルを作成します。たとえば、基幹業務アプリケーションを移行したり既定の移行動作を変更したりするためのカスタム ファイルを作成することができます。ScanState と LoadState でこのファイルを使うには、両方のコマンドでファイルを指定します。詳しくは、「カスタム .xml ファイルの作成方法」のトピックをご覧ください。
Config.xml ファイル
Config.xml ファイルは、ScanState コマンドの /genconfig オプションを使って作成できる省略可能なファイルです。特定のコンポーネントを移行対象から除外するには、このファイルを作成して編集する必要があります。また、オペレーティング システムのいずれかの設定を移行対象から除外する場合は、必ずこのファイルを作成して編集する必要があります。Config.xml ファイルは、移行規則を一切含んでいないため、移行 .xml ファイルとは形式が異なります。このファイルに含まれるのは、移行可能なオペレーティング システム コンポーネント、アプリケーション、ユーザー ドキュメントのリストのみです。例については、「Config.xml ファイル」をご覧ください。このファイルを使ったコンポーネントの除外は、移行の規則や構文に精通している必要がないため、移行 .xml ファイルを編集するよりも簡単です。ただし、Config.xml ファイルでワイルドカード文字を使うことはできません。
既定のコンポーネントをすべて移行対象とする場合、Config.xml ファイルを作成する必要はありません。MigApp.xml、MigDocs.xml、MigUser.xml の各ファイルで定義された既定の移行動作に問題がなく、一部のコンポーネントのみを除外すればよいという場合には、Config.xml ファイルを作成して編集し、その他の .xml ファイルはそのまま使用します。
ScanState コマンドに /genconfig オプションを指定して実行すると、ScanState は、/i オプションで指定された他の .xml ファイルを読み取って、コンピューターから移行可能なコンポーネントのカスタム リストを作成します。このファイルには、両方の .xml ファイルに存在し、なおかつ、ScanState コマンドに /genconfig オプションを指定して実行したときにコンピューターにインストールされていたオペレーティング システム コンポーネント、アプリケーション、ユーザー ドキュメントのセクションのみが含まれます。したがって、このファイルを作成する移行元コンピューターに、移行先コンピューターに必要なすべてのコンポーネント、アプリケーション、設定が存在する必要があります。そうすることで、移行可能なすべてのコンポーネントが確実にこのファイルに登録されます。コンポーネントが記述されているセクションは、<Applications>、<WindowsComponents>、<Documents> に分かれています。特定のコンポーネントが移行されないようにするには、対応するエントリを migrate="no"
に変更します。
作成したファイルは、ScanState コマンドでのみ /Config オプションで指定すれば移行に反映されます。ただし、ストアに移行済みのデータを別途除外する必要がある場合は、Config.xml ファイルに変更を加えたうえで、その変更後のファイルを LoadState コマンドに指定します。たとえば、移行ストアにはマイ ドキュメント フォルダーを収集したものの、移行先コンピューターにはマイ ドキュメント フォルダーを移行しないことにした場合、Config.xml ファイルで migrate="no"
を指定してから LoadState コマンドを実行すれば、ファイルは移行されません。データを除外する際の優先順位について詳しくは、「ファイルと設定の除外」をご覧ください。
Config.xml ファイルについては、次の点にも注意してください。
Config.xml ファイルで
migrate="no"
を指定することによって親コンポーネントが移行対象から除外された場合、そのすべての子コンポーネントも自動的に除外されます。子コンポーネントがmigrate="yes"
に設定されていたとしても同様です。同じコンポーネントに対するコードで、1 つの行に
migrate="no"
を指定し、別の行にmigrate="yes"
を指定した場合には、そのコンポーネントは移行の対象と見なされます。USMT には、Config.xml ファイルで構成できるいくつかの移行ポリシーがあります。たとえば、<ErrorControl>、<ProfileControl>、<HardLinkStoreControl> の各オプションを別途構成することができます。詳しくは、「Config.xml ファイル」のトピックをご覧ください。
注
Config.xml ファイルからコンポーネントを除外するには、migrate の値を "no" に設定します。対応する XML タグを Config.xml ファイルから削除してもコンポーネントは移行対象から除外されません。
例
次のコマンドは、現在のディレクトリに Config.xml ファイルを作成します。ただし、ストアは作成されません。
scanstate /i:migapp.xml /i:migdocs.xml /genconfig:config.xml /v:5
次のコマンドは、Config.xml ファイルと既定の移行 .xml ファイルを使って、暗号化されたストアを作成します。
scanstate \\server\share\migration\mystore /i:migapp.xml /i:migdocs.xml /o /config:config.xml /v:5 /encrypt /key:"mykey"
次のコマンドは、ストアの暗号化を解除して、ファイルと設定を移行します。
loadstate \\server\share\migration\mystore /i:migapp.xml /i:migdocs.xml /v:5 /decrypt /key:"mykey"
追加情報
移行するファイルと設定の変更方法について詳しくは、「User State Migration Tool (USMT) の使い方に関するトピック」をご覧ください。
個々の .xml 要素について詳しくは、「XML 要素ライブラリ」をご覧ください。
一般的な質問とその回答については、「よく寄せられる質問」の「.xml ファイル」をご覧ください。