カスタム プロファイル redirections.xml
- チュートリアル: redirections.xml を作成して実装する
- FAQ:リダイレクトまたは redirections.xml
カスタム プロファイル リダイレクトは、ユーザーのプロファイル コンテナー内にある XML ファイル (redirections.xml) を使用して構成されます。 FSLogix では、redirections.xml ファイルは作成されません。 redirections.xml ファイルは、ソースの場所からユーザーのプロファイル コンテナーにコピーされます。 ほとんどの場合、ソースの場所は、ユーザーがプロファイル コンテナーとの間でコピーするアクセス権を持つリモート ファイル共有です。 このドキュメントでは、redirection.xml ファイルの詳細と、特定のユース ケースに最適な実装方法について説明します。
redirections.xml を使用する場合
ユーザーのプロファイル内のデータは、削除または除外するようには設計されていません。 プロファイルまたはアプリケーション内のデータについて詳しい知識がない限り、コンテナーから除外しないでください。
ユーザーのプロファイル コンテナー内のファイルやフォルダーをインクルードまたは除外するには、redirections.xml という名前のファイルを作成する必要があります。 このファイルは、ユーザーのプロファイル コンテナーとの間でコピーまたは除外する対象を定義します。 この XML ファイルは、ユーザーが仮想マシンにサインインとサインアウトする際に処理されます。 ユーザーが仮想マシンにサインインしている間に XML ファイルに加えられた変更は、サインアウトしてサインインするまで有効になりません。
ソースの場所で XML ファイルを削除または名前変更しても、ユーザーの XML ファイルの削除や名前変更は行われません。 カスタム リダイレクトを削除する必要がある場合は、XML ファイルの内容をクリアし、ソースの場所に保存します。 次のサインイン時に、更新されたファイルがユーザーのプロファイル コンテナーにコピーされます。
Note
redirections.xml は、プロファイル コンテナーで使用する場合にのみ適用され、ODFC コンテナーを使用する場合は影響しません。
redirections.xml の場所
XML ファイルには 2 つの場所があります。 ソースの場所 (通常はリモート ファイル共有)、およびユーザーのプロファイル コンテナー内の場所です。
ソース ファイルの場所
XML ファイルを一元的に配置して、簡単に配布できます。 RedirXMLSourceFolder 設定は、クライアントがサインイン時にチェックして redirections.xml ファイルがあるかどうかを確認する場所を指定します。 既存とは異なるものが検出された場合は、ユーザーのプロファイル コンテナーにコピーされます。 その後、内容が処理されます。
中央の場所 (ユーザー プロファイル コンテナーが格納されているルートやサブディレクトリなど) に格納する場合は、ユーザーが XML ファイルに対する読み取りアクセス許可のみを持っていることを確認してください。
Note
redirections.xml ファイルへのパスのみを指定します。ファイル名は指定しないでください。
ユーザーのプロファイルの場所
redirections.xml ファイルは、ソースの場所からコピーされるときに、次の場所に存在します。
%userprofile%\AppData\Local\FSLogix\redirections.xml
(ユーザーのプロファイル コンテナー内)
重要
redirections.xml 内のエントリが削除された場合、その内容またはフォルダーは VHD(x) に残ります。 redirections.xml に追加されたものは local_%username%
フォルダーに格納されますが、VHD(x) に既に存在するものは VHD(x) から削除されません。
XML ファイルの内容
redirections.xml ファイルは、XML 宣言、3 つの要素、2 つの属性で構成されます。 XML 宣言は標準であり、変更しないでください。
要素と属性
- FrxProfileFolderRedirection: XML ファイルの最初の要素であり、1 回だけ使用する必要があります。
ExcludeCommonFolders: この属性は、ユーザーのプロファイル コンテナーからリダイレクトする既知のフォルダー (存在する場合) を定義します。 この属性は、除外するフォルダーの組み合わせを FSLogix に指示するビットマスク値を受け取ります。 除外するすべてのフォルダーの値を加算します。 たとえば、値が 7 の場合、[連絡先]、[デスクトップ]、[ドキュメント] フォルダーは除外されます。
- 1: 連絡先フォルダー
- 2: デスクトップ フォルダー
- 4: ドキュメント フォルダー
- 8: ダウンロード フォルダー
- 16: リンク フォルダー
- 32: ミュージック フォルダー
- 64: 画像とビデオのフォルダー
- 128: AppData\LocalLow などの低整合性レベルのプロセスに関係するフォルダー
Excludes: この要素は、入れ子になった
Exclude
要素のコレクションに使用されます。- Exclude: この要素は、ユーザーのコンテナーから除外する 1 つの場所を表します。 これらの要素で使用されるパスは、ユーザーのプロファイル パス (
%userprofile%
) に存在している必要があります。 パスには、パスのC:\Users\%username%
部分を含めることはできません。- Copy: この属性は、リダイレクト中に FSLogix がファイルとフォルダーを処理する方法を定義します。 この属性は、値 0 を使用する場合と同じ要素からは省略できます。
- 0:
local_%username%
ディレクトリに空のフォルダーを作成します。 操作中にファイルはコピーされません。 Copy 0 は、ユーザーのプロファイルの内容を減らすのに使用される最も一般的な値です。 コンテナー内の場所に既に存在するデータは削除されません。 今後のデータのみが、ユーザーのセッション中にlocal_%username%
フォルダーに作成され、サインアウト時に削除されます。 - 1:
local_%username%
ディレクトリにフォルダーを作成し、指定した場所からファイルをコピーします。 コンテナー内のデータはlocal_%username%
フォルダーにコピーされ、新しいデータもそのパスに書き込まれます。 ユーザーがサインアウトすると、local_%username%
は削除され、新しいデータは失われます。 N 番目のサインインでは、常にコンテナーからlocal_%username%
フォルダーにデータがコピーされます。 - 2:
local_%username%
ディレクトリにフォルダーを作成し、指定した場所にファイルをコピーします。 新しい (空の) フォルダーがlocal_%username%
に作成されます。 ユーザーのセッション中に、データがそのパスに書き込まれます。 サインアウトすると、データがコンテナーにコピーされます。 Microsoft サポート エンジニアの指示がない限り、この値を使用しないでください。 - 3:
local_%username%
ディレクトリにフォルダーを作成し、指定した場所から、また指定した場所にファイルをコピーします。 この値では、1 と 2 の効果を組み合わせています。 既存のデータは、コンテナーから取り出されlocal_%username%
フォルダーにコピーされます。 新しいデータがlocal_%username%
パスに書き込まれ、サインアウト時にすべてのデータがコンテナーにコピーされます。
- 0:
- Copy: この属性は、リダイレクト中に FSLogix がファイルとフォルダーを処理する方法を定義します。 この属性は、値 0 を使用する場合と同じ要素からは省略できます。
- Exclude: この要素は、ユーザーのコンテナーから除外する 1 つの場所を表します。 これらの要素で使用されるパスは、ユーザーのプロファイル パス (
Includes: この要素は、入れ子になった
Include
要素のコレクションに使用されます。- Include: この要素は、除外パスのサブディレクトリがコンテナーに保持されるようにするために使用されます。 COPY 値は、これらの要素では使用されません。 これらの要素で使用されるパスは、ユーザーのプロファイル パス (
%userprofile%
) に存在している必要があります。 パスには、パスのC:\Users\%username%
部分を含めることはできません。
Note
- コンテナーに戻すには、プロファイルにフォルダーまたはデータが存在している必要があります。 たとえば、FSLogix を include ステートメントと共に使用する新しいプロファイルでは、ユーザーが FSLogix プロファイル コンテナーのコンテキストでアプリケーションを使用したことがないため、特定のパスに対してすべてのフォルダー構造が作成されていない可能性があります。
- インクルードしたフォルダー パスの親フォルダーは、インクルードが正しく機能するためにコンテナーに存在している必要があります。
- XML ファイルは、任意の数の
Include
要素とExclude
要素を受け入れます。
- Include: この要素は、除外パスのサブディレクトリがコンテナーに保持されるようにするために使用されます。 COPY 値は、これらの要素では使用されません。 これらの要素で使用されるパスは、ユーザーのプロファイル パス (
redirections.xml の例
重要
この例では、要素を使用する方法を示します。 実際の XML 実装については、「redirections.xml を作成して実装する」チュートリアルに従ってください。 excludes と includes は予期しない結果を招く可能性があり、慎重に作成する必要があります。
- 既知のフォルダー (連絡先、リンク、音楽) を除外する
- Contoso Sales App を除外し、コンテナーから任意のデータを
local_%username%
フォルダーにコピーし、サインアウト時にコンテナーに戻します。コピーを含む exclude ステートメントは、データの I/O をコンテナー 1 ではなく、ローカル ディスクに移動します。 - コピー操作なしで Microsoft Edge フォルダーを除外します (すべてのデータはサインアウト時に削除されます)。
- 除外された Microsoft Edge フォルダー内の
User Data
フォルダーをインクルードして元に戻します。
データをコピーするには、1 つの I/O が必要です。
<?xml version="1.0" encoding="UTF-8"?>
<FrxProfileFolderRedirection ExcludeCommonFolders="49">
<Excludes>
<Exclude Copy="3">AppData\Roaming\Contoso\ContosoSalesApp</Exclude>
<Exclude Copy="0">AppData\Local\Microsoft\Edge</Exclude>
</Excludes>
<Includes>
<Include>AppData\Local\Microsoft\Edge\User Data</Include>
</Includes>
</FrxProfileFolderRedirection>
Note
- Windows 8 以降では、整合性レベルの低いプロセスに関係するフォルダーは常に
local_%username%
ディレクトリにリダイレクトされます。 Exclude
とInclude
の両方の要素で同じフォルダーが指定されている場合は、Exclude
が優先されます。- FSLogix によって配置されたリダイレクトを一覧表示するには、frx コマンド ライン ユーティリティを使用します。