LoadState 構文

LoadState.exe コマンドは、ユーザー状態移行ツール (USMT) と共に使用され、ScanState.exe コマンドによって以前にキャプチャされたストアをターゲット コンピューターに復元します。 この記事では、 LoadState.exe コマンド構文と、それに使用できるオプションについて説明します。

開始する前に

LoadState.exe コマンドを実行する前に、次の点に注意してください。

  • すべてのオペレーティング システム設定を確実に移行するために、管理者資格情報を持つアカウントから管理者モードで LoadState.exe コマンドを実行することをお勧めします。

  • LoadState.exe コマンドを実行するためのソフトウェア要件については、「USMT 要件」を参照してください。

  • LoadState.exe コマンドを実行した後にサインアウトします。 フォント、壁紙、スクリーンセーバーの設定など、一部の設定は、ユーザーが次回ログインするまで有効になりません。

  • 特に指定がない限り、各オプションはコマンド ラインからツールを実行するときに 1 回だけ使用できます。

  • LoadState では、ドメイン プロファイルを適用するためにドメイン コントローラーへのアクセスは必要ありません。 この機能は、追加の構成なしで使用できます。 ユーザー プロファイルが ScanState を使用して収集されたときに、ソース コンピューターがドメイン コントローラーにアクセスする必要はありません。 ただし、ドメイン プロファイルは、移行先コンピューターがドメインに参加するまでアクセスできません。

  • [互換性のないコマンド ライン オプション] テーブルには、一緒に使用できるオプションと、互換性のないコマンド ライン オプションが一覧表示されます。

構文

このセクションでは、 LoadState.exe コマンドを使用するときに使用できるコマンド ライン オプションの構文と使用方法について説明します。 オプションは任意の順序で指定できます。 オプションにパラメーターが含まれている場合は、コロン区切り記号またはスペース区切り記号を指定できます。

LoadState.exe コマンドの構文は次のとおりです。

LoadState.exe StorePath [/i:[Path\]FileName] [/v:VerbosityLevel] [/nocompress] [/decrypt /key:KeyString|/keyfile:[Path\]FileName] [/l:[Path\]FileName] [/progress:[Path] \]FileName] [/r:TimesToRetry] [/w:SecondsToWait] [/c] [/all] [/ui:[DomainName|ComputerName\]UserName] [/ue:[DomainName|ComputerName]\]UserName] [/uel:NumberOfDays|YYYYY/MM/DD|0] [/md:OldDomain:NewDomain] [/mu:OldDomain\OldUserName:[NewDomain\]NewUserName] [/lac:[Password]] [/config:[Path\]FileName] [/?|help]

たとえば、ストアの暗号化を解除し、ファイルと設定をコンピューターに移行するには、次のコマンドを入力します。

LoadState.exe \\server\share\migration\mystore /i:MigApp.xml /i:MigDocs.xml /v:13 /decrypt /key:"mykey"

ストレージ オプション

USMT には、移行されたデータの格納方法と場所を指定するために使用できる次のオプションが用意されています。

Command-Line オプション 説明
StorePath ファイルと設定データが格納されているフォルダーを示します。 LoadState.exe コマンドを使用する場合は、StorePath を指定する必要があります。 複数の StorePath を指定できません。
/decrypt /key:KeyString
or
/decrypt /key:"Key String"
or
/decrypt /keyfile:[Path]FileName
指定したキーを使用してストアの暗号化を解除します。 このオプションでは、次のいずれかの方法で暗号化キーを指定する必要があります。
  • /key:KeyString は暗号化キーを指定します。 KeyString にスペースがある場合は、引数を引用符 (") で囲む必要があります。
  • /keyfile:FilePathAndName は、暗号化キーを含むテキスト (.txt) ファイルを指定します

KeyString は 256 文字を超えることはできません。
/keyオプションと/keyfileオプションを同じコマンド ラインで使用することはできません。
/decryptオプションと/nocompressオプションを同じコマンド ラインで使用することはできません。
重要
/keyまたはkeyfileオプションを使用する場合は注意が必要です。 たとえば、これらのオプションを使用して LoadState.exe コマンドを実行するスクリプトにアクセスできるユーザーは、暗号化キーにもアクセスできます。

次に、例を示します。
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /decrypt /key:mykey
/decrypt:"encryption strength" /decrypt オプションは、移行ストアの暗号化に指定された暗号化強度を定義するコマンド ライン パラメーターを受け入れます。 サポートされている暗号化アルゴリズムの詳細については、「 移行ストアの暗号化」を参照してください。
/hardlink ユーザー状態データをハード リンク移行ストアから復元できるようにします。 /nocompress パラメーターは、/hardlink オプションで指定する必要があります。
/nocompress ストアが圧縮されていないことを指定します。 このオプションは、テスト環境でのみ使用する必要があります。 Microsoft では、実際の移行中に圧縮ストアを使用することをお勧めします。 このオプションは、 /decrypt オプションでは使用できません。
次に、例を示します。
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /nocompress

移行規則のオプション

USMT には、移行するファイルを指定するための次のオプションが用意されています。

Command-Line オプション 説明
/i:[Path]FileName (include)
移行するデータを定義する規則を含む .xml ファイルを指定します。 このオプションを複数回指定して、すべての.xmlファイル (MigApp.xmlMigSys.xmlMigDocs.xml、および作成されたすべてのカスタム .xml ファイル) を含めることができます。 パス には、相対パスまたは完全パスを指定できます。 Path 変数が指定されていない場合は、FileName を現在のディレクトリに配置する必要があります。

指定するファイルの詳細については、 よく寄せられる質問 に関する記事の「XML ファイル」セクションを参照してください。
/config:[Path]FileName LoadState.exe コマンドで使用するConfig.xml ファイルを指定します。 このオプションは、コマンド ラインで複数回指定することはできません。 パス には、相対パスまたは完全パスを指定できます。 Path 変数が指定されていない場合は、FileName を現在のディレクトリに配置する必要があります。

次の使用例は、 Config.xmlMigDocs.xmlMigApp.xml ファイルの規則に基づいて、ファイルと設定を移行します。

LoadState.exe \server\share\migration\mystore /config:Config.xml /i:MigDocs.xml /i:MigApp.xml /v:5 /l:LoadState.log
/auto:"スクリプト ファイルへのパス" このオプションを使用すると、既定の .xml ファイルの場所を指定できます。 パスが指定されていない場合、USMT は USMT バイナリが配置されているディレクトリを使用します。 /auto オプションは、次のオプションを使用する場合と同じ効果があります: /i:MigDocs.xml/i:MigApp.xml /v:5

監視オプション

USMT には、移行中に発生した問題を分析するために使用できるコマンド ライン オプションがいくつか用意されています。

Command-Line オプション 説明
/l:[Path]FileName LoadState ログの場所と名前を指定します。 ログ ファイルを StorePath に格納することはできません。 パス には、相対パスまたは完全パスを指定できます。 Path 変数が指定されていない場合、ログは現在のディレクトリに作成されます。 /v オプションを指定して、ログの詳細度を調整できます。

共有ネットワーク リソースから LoadState.exe コマンドを実行する場合は、 l オプションを指定する必要があります。または、USMT がエラーで失敗します。

USMT でログ ファイルを作成できませんでした

この問題を解決するには、共有ネットワーク リソースからLoadState.exeを実行するときに、必ず /l オプションを指定してください。
/v:<VerbosityLevel> (詳細)

LoadState ログ ファイルで詳細出力を有効にします。 既定値は 0 です。
VerbosityLevel は、次のいずれかのレベルに設定できます。
  • 0 - 既定のエラーと警告のみが有効になります。
  • 1 - 詳細出力を有効にします。
  • 4 - エラーと状態の出力を有効にします。
  • 5 - 詳細出力と状態出力を有効にします。
  • 8 - デバッガーへのエラー出力を有効にします。
  • 9 - デバッガーへの詳細出力を有効にします。
  • 12 - デバッガーへのエラーと状態の出力を有効にします。
  • 13 - 詳細、状態、デバッガーの出力を有効にします。

次に、例を示します。
LoadState.exe \server\share\migration\mystore /v:5 /i:MigDocs.xml /i:MigApp.xml
/progress:[Path]FileName オプションの進行状況ログを作成します。 ログ ファイルを StorePath に格納することはできません。 パス には、相対パスまたは完全パスを指定できます。 Path 変数が指定されていない場合、FileName は現在のディレクトリに作成されます。

次に、例を示します。
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /progress:Progress.log /l:loadlog.log
/c このオプションを指定すると、致命的でないエラーが発生した場合でも、 LoadState.exe コマンドは引き続き実行されます。 エラーの原因となるファイルまたは設定は、進行状況ログに記録されます。 たとえば、コンピューターに収まらない大きなファイルがある場合、 LoadState.exe コマンドはエラーをログに記録し、移行を続行します。 /c オプションがないと、LoadState.exe コマンドは最初のエラーで終了します。 < ErrorControl> セクションをConfig.xml ファイルで使用して、安全に無視できるファイルまたはレジストリの読み取り/書き込みエラーを指定し、移行が失敗する可能性があります。 このエラー制御を使用すると、 /c コマンド ライン オプションを使用して、環境内のすべての入出力 (I/O) エラーを安全にスキップできます。 さらに、/genconfig オプションでは、Config.xml ファイルでエラー メッセージと目的の動作を指定することで有効になっているサンプル <ErrorControl> セクションが生成されるようになりました。
/r:<TimesToRetry> (再試行)

サーバーからのユーザー状態の移行中にエラーが発生したときに再試行する回数を指定します。 既定値は 3 回です。 このオプションは、ネットワーク接続が信頼できない環境で役立ちます。

ユーザーの状態が復元されるとき、 /r オプションは、ネットワーク ハードウェアの障害 (ネットワーク ケーブルの障害や切断されたネットワーク ケーブルなど) や仮想プライベート ネットワーク (VPN) 接続が失敗した場合に失われたデータを回復しません。 再試行オプションは、接続が満足できる大規模でビジーなネットワークを対象としていますが、通信の待機時間が問題になります。
/w:<SecondsBeforeRetry> (待機)

ネットワーク ファイル操作を再試行するまでの待機時間を秒単位で指定します。 既定値は 1 秒です。
/? または /help コマンド ラインにヘルプを表示します。

ユーザー オプション

既定では、すべてのユーザーが移行されます。 含めるユーザーと除外するユーザーを指定する唯一の方法は、次のオプションを使用することです。 移行.xmlファイルまたは Config.xml ファイルを使用して、ユーザーを除外することはできません。 詳細については、「 ユーザーの識別」を参照してください。

Command-Line オプション 説明
/すべての コンピューター上のすべてのユーザーを移行します。

USMT は、アカウントが /ue または /uel オプションで特に除外されていない限り、コンピューター上のすべてのユーザー アカウントを移行します。 このため、コマンド ラインでこのオプションを指定する必要はありません。 ただし、 /all オプションを使用する場合は、 /ui/ue 、または /uel オプションも使用できません。
/ui:DomainName UserName
or
/ui:"DomainName ユーザー名"
or
/ui:ComputerName LocalUserName
(ユーザーインクルード)

指定したユーザーを移行します。 既定では、すべてのユーザーが移行に含まれます。 したがって、このオプションは、 /ue オプションで使用する場合にのみ役立ちます。 複数の /ui オプションを指定できますが、 /ui オプションを /all オプションと共に使用することはできません。 DomainNameUserName には、アスタリスク (*) ワイルドカード文字を含めることができます。 スペースを含むユーザー名を指定する場合は、引用符 (") で囲む必要があります。

たとえば、企業ドメインの User2 のみを含める場合は、次のように入力します。

/ue:* /ui:corporate\user2


/ui オプションに含めるユーザーを指定し、/ue または /uel オプションで除外するように指定した場合、そのユーザーは移行に含まれます。

その他の例については、この表の /uel/ue、および /ui オプションの説明を参照してください。
/uel:<NumberOfDays>
or
/uel:<YYYY/MM/DD>
or
/uel:0
(ユーザーは最後のログオンに基づいて除外)

ソース コンピューター上のNtuser.dat ファイルの最終更新日に基づいて、指定した期間内にソース コンピューターにログオンしたユーザーのみを移行します。 /uel オプションは、インクルード ルールとして機能します。 たとえば、[ /uel:30 ] オプションは、 ScanState.exe コマンドが実行された日付から過去 30 日以内にログオンしたユーザー、またはユーザー アカウントが変更されたユーザーを移行します。 日数を指定することも、日付を指定することもできます。 このオプションは、 /all オプションでは使用できません。 USMT はローカル コンピューターから最後のサインイン情報を取得するため、このオプションを実行するときにコンピューターをネットワークに接続する必要はありません。 さらに、ドメイン ユーザーが別のコンピューターにサインインした場合、USMT はそのサインイン インスタンスを考慮しません。

/uel オプションは、オフライン移行では有効ではありません。

例:
  • /uel:0 は、 ScanState.exe コマンドの実行時にソース コンピューターにログオンしたアカウントを移行します。
  • /uel:90 は、過去 90 日以内にログオンしたユーザー、またはアカウントが変更されたユーザーを移行します。
  • /uel:1 は、過去 24 時間以内にアカウントが変更されたユーザーを移行します。
  • /uel:2020/2/15 は、ログオンしたユーザー、または 2020 年 2 月 15 日以降にアカウントが変更されたユーザーを移行します。

次に、例を示します。
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /uel:0
/ue:DomainName\UserName
or
/ue"DomainName\User Name"
or
/ue:ComputerName\LocalUserName
(ユーザー除外)

指定したユーザーを移行から除外します。 複数の /ue オプションを使用できますが、 /ue オプションは /all オプションでは使用できません。 DomainNameUserName には、アスタリスク (*) ワイルドカード文字を含めることができます。 スペースを含むユーザー名を指定する場合は、引用符 (") で囲む必要があります。

次に、例を示します。
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /ue:contoso\user1
その他の例については、この表の /uel/ue、および /ui オプションの説明を参照してください。
/md:OldDomain:NewDomain
or
/md:LocalComputerName:NewDomain
(ドメインの移動)

ユーザーの新しいドメインを指定します。 コンピューター上のユーザーのドメインを変更したり、ローカル ユーザーをドメイン アカウントに移行したりするには、このオプションを使用します。 OldDomain にはアスタリスク () ワイルドカード文字が含まれている場合があります。

このオプションは複数回指定できます。 複数のドメインにまたがるユーザーを 1 つのドメインに統合する場合は、複数の /md オプションを指定する必要がある場合があります。 たとえば、企業ドメインと FarNorth ドメインのユーザーを Fabrikam ドメインに統合するには、次の設定を指定します: /md:corporate:fabrikam/md:farnorth:fabrikam

2 つの /md コマンド間に競合がある場合は、指定された最初の規則が適用されます。 たとえば、 /md:corporate:fabrikam コマンドと /md:corporate:farnorth コマンドが指定されている場合、企業ユーザーは Fabrikam ドメインにマップされます。

ソース コンピューターに存在しなかったドメインが指定されている場合、 LoadState.exe コマンドは正常に完了し、エラーや警告は表示されません。 ただし、この場合、ユーザーは NewDomain に移動されず、代わりに元のドメインに残ります。 たとえば、 contoso の スペルが間違っていて、代わりに /md:contso:fabrikam が指定されている場合、ユーザーは対象コンピューターの contoso に残ります。

次に、例を示します。
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore
/progress:Progress.log /l:LoadState.log /md:contoso:fabrikam
/mu:OldDomain OldUserName:[NewDomain]NewUserName
or
/mu:OldLocalUserName:NewDomain NewUserName
(ユーザーの移動)

指定したユーザーの新しいユーザー名を指定します。 ストアに複数のユーザーが含まれている場合は、複数の /mu オプションを指定できます。 ワイルドカード文字は、このオプションでは使用できません。

次に、例を示します。
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore
/progress:Progress.log /l:LoadState.log /mu:contoso\user1:fabrikam\user1
/lac:[Password] (ローカル アカウントの作成)

ユーザー アカウントが次の場合:
  • ローカル (ドメイン以外) アカウント
  • 対象のコンピューターに存在しないアカウント
この設定では、対象のコンピューターにアカウントを作成するように指定します。 ただし、アカウントは無効になっています。 アカウントを有効にするには、 /lae オプションも使用する必要があります。

/lac オプションが指定されていない場合、移行先のコンピューターにまだ存在しないローカル ユーザー アカウントは移行されません。

パスワード は、新しく作成されたアカウントのパスワードです。 既定では、空のパスワードが使用されます。
注意
Password 変数は注意して使用してください。 Password 変数はプレーン テキストで提供され、LoadState.exe コマンドを実行しているコンピューターにアクセスできるすべてのユーザーがパスワードを取得できます。
また、コンピューターに複数のユーザーがある場合は、移行されたすべてのユーザーに同じパスワードが設定されます。

次に、例を示します。
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore

手順については、「 ユーザー アカウントの移行」を参照してください。
/lae (ローカル アカウントの有効化)

[ /lac ] オプションを使用して作成されたアカウントを有効にします。 /lac オプションは、このオプションで指定する必要があります。

次に、例を示します。
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore
/progress:Progress.log /l:LoadState.log /lac:password /lae

手順については、「 ユーザー アカウントの移行」を参照してください。

/ui オプションと /ue オプションの例

次の例は、 /ui オプションと /ue オプションの両方に適用されます。 /ue オプションを /ui オプションに置き換えて、指定したユーザーを除外するのではなく含めることができます。

動作 コマンド
企業ドメインで User One という名前のユーザーを除外します。 /ue:"corporate\user one"
企業ドメインで User1 という名前のユーザーを除外します。 /ue:corporate\user1
User1 という名前のローカル ユーザーを除外します。 /ue:%computername%\user1
すべてのドメイン ユーザーを除外します。 /ue:Domain
すべてのローカル ユーザーを除外します。 /ue:%computername%
User1、User2 などの名前のすべてのドメインのユーザーを除外します。 /ue:\user

オプションを一緒に使用する

/uel/ue/uiの各オプションを一緒に使用して、移行する必要があるユーザーのみを移行できます。

/ui オプションは、/ue オプションと /uel オプションよりも優先されます。 ユーザーが /ui オプションを使用して含まれていて、 /ue または /uel オプションを使用して除外されている場合、そのユーザーは移行に含まれます。 たとえば、 /ui:contoso\* /ue:contoso\user1 が指定されている場合、 /ui オプションが /ue オプションよりも優先されるため、User1 が移行されます。

/uel オプションは、/ue オプションよりも優先されます。 ユーザーが /uel オプションによって設定された指定された期間内にログオンした場合、そのユーザーのプロファイルは、 /ue オプションを使用して除外されている場合でも移行されます。 たとえば、 /ue:contoso\user1 /uel:14 が指定されている場合、過去 14 日以内にコンピューターにログオンした場合、User1 は移行されます。

動作 コマンド
Fabrikam ドメインの User2 のみを含め、他のすべてのユーザーを除外します。 /ue:* /ui:fabrikam\user2
User1 という名前のローカル ユーザーのみを含め、他のすべてのユーザーを除外します。 /ue:* /ui:user1
Contoso\User1 を除く Contoso のドメイン ユーザーのみを含めます。 この動作は、1 つのコマンドを使用して完了できません。 代わりに、この一連のユーザーを移行するには、次のオプションを指定します。
  • ScanState コマンド ライン ツールを使用して、次のように入力します。
    /ue:* /ui:contoso
  • LoadState コマンド ライン ツールを使用して、次のように入力します。
    /ue:contoso\user1
ローカル (ドメイン以外) ユーザーのみを含めます。 /ue: /ui:%computername%*

互換性のないコマンド ライン オプション

次の表は、 LoadState.exe コマンドと互換性のないコマンド ライン オプションを示しています。 特定の組み合わせのテーブル エントリに ✅がある場合、オプションは互換性があり、これらを組み合わせて使用できます。 ❌記号は、オプションに互換性がないことを意味します。 たとえば、 /nocompress オプションは、 /encrypt オプションでは使用できません。

Command-Line オプション /keyfile /nocompress /genconfig /すべての
/私
/v
/nocompress 該当せず
/鍵
/解読する 必須*
/keyfile 該当せず
/l
/経過
/r
/w
/c
/p 該当せず
/すべての
/ui
/ue
/uel
/genconfig 該当せず
/config
StorePath
/md
/ミュー
/ラエ
/ラック

/key または /keyfile オプションは、/decrypt オプションで指定する必要があります。