自定义配置文件redirections.xml

自定义配置文件重定向是使用位于用户配置文件容器中的 XML 文件(redirections.xml)配置的。 FSLogix 不会创建redirections.xml文件。 redirections.xml文件从源位置复制到用户的配置文件容器。 在大多数情况下,源位置是一个远程文件共享,用户可以从中复制和复制到其配置文件容器。 本文档提供有关redirection.xml文件的详细信息,以及如何为特定用例最好地实现该文件。

何时使用redirections.xml

不会删除或排除用户配置文件中的数据。 除非你对配置文件或应用程序中的数据有非常了解,否则不要将其从容器中排除。

在配置文件容器中包含和排除文件和文件夹

若要在用户配置文件容器中包含/排除文件和/或文件夹,需要创建名为redirections.xml的文件。 此文件定义要向/从用户配置文件容器复制或排除的内容。 XML 文件在用户登录和注销虚拟机期间进行处理。 当用户登录到虚拟机时对 XML 文件所做的任何更改都不会生效,直到他们注销并登录。

删除或重命名源位置的 XML 文件不会删除或重命名用户。 如果需要删除自定义重定向,请清除 XML 文件内容并将其保存到源位置。 在下一次登录时,将更新的文件复制到用户配置文件容器。

注意

redirections.xml仅适用于与配置文件容器一起使用,在使用 ODFC 容器时不起作用。

redirections.xml的位置

XML 文件有两个 (2) 个位置。 源位置(通常是远程文件共享)和用户配置文件容器中的位置。

源文件位置

XML 文件可以集中放置,以便轻松分发。 RedirXMLSourceFolder 设置指定客户端在登录时检查的位置,以查看是否有redirections.xml文件。 如果找到一个,它与现有容器不同,则会将其复制到用户的配置文件容器。 然后处理内容。

存储在中心位置 (例如存储用户配置文件容器的根目录或子目录)时,请确保用户仅对 XML 文件具有读取权限。

注意

仅指定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 文件中的第一个元素,应仅使用一次。
    • ExcludeCommonFolders:此属性定义应从用户配置文件容器重定向出哪些已知文件夹(如果有)。 此属性采用位掩码值,告知 FSLogix 要排除的文件夹组合。 添加要排除的所有文件夹的值。 例如,值 7 不包括“联系人”、“桌面”和“文档”文件夹。

      • 1:联系人文件夹
      • 2:桌面文件夹
      • 4:文档文件夹
      • 8:下载文件夹
      • 16:链接文件夹
      • 32:音乐文件夹
      • 64:图片和视频文件夹
      • 128:低完整性级别进程中涉及的文件夹,如 AppData\LocalLow
    • 排除:此元素用于嵌套Exclude元素的集合。

      • 排除:此元素描述要从用户的容器中排除的单个位置。 这些元素中使用的路径必须存在于用户的配置文件路径 (%userprofile%) 中。 路径不得包含C:\Users\%username%路径的一部分。
        • 复制:此属性定义 FSLogix 在重定向期间如何处理文件和文件夹。 可以从与使用值 0 相同的元素中省略该属性。
          • 0:在 local_%username% 目录中创建一个空文件夹。 操作期间不会复制任何文件。 复制 0 是用于减少用户配置文件内容的最常用值。 不会删除位于该位置的容器中的任何数据。 在用户会话期间,只会在 local_%username% 文件夹中创建将来的数据,并在注销时将其删除。
          • 1:在 local_%username% 目录中创建文件夹,并将文件 指定位置复制。 容器中的数据将 local_%username% 复制到文件夹,并且任何新数据也会写入该路径。 在用户注销时, local_%username% 将删除所有新数据。 第 N 登录始终将数据从容器复制到 local_%username% 文件夹。
          • 2:在 local_%username% 目录中创建文件夹,并将文件 复制到 指定位置。 在 /a0> 中创建local_%username%一个新的 (空) 文件夹。 在用户的会话期间,数据将写入该路径。 注销时,数据将复制到容器中。 除非由 Microsoft 支持工程师指示,否则不要使用此值。
          • 3:在 local_%username% 目录中创建文件夹,并将文件 复制到 指定位置。 此值将效果从 1 和 2 组合在一起。 现有数据从容器中复制并复制到 local_%username% 文件夹中。 新数据将写入 local_%username% 路径并在注销时,所有数据将复制回容器。
    • 包括:此元素用于嵌套 Include 元素的集合。

      • 包括:此元素用于确保排除路径的子目录保留在容器中。 这些元素中不使用 COPY 值。 这些元素中使用的路径必须存在于用户的配置文件路径 (%userprofile%) 中。 路径不得包含C:\Users\%username%路径的一部分。

      注意

      • 该文件夹或数据必须存在于配置文件中,才能重新包含在容器中。 例如, 使用 FSLogix 和 include 语句的新 配置文件可能没有为特定路径创建的所有文件夹结构,因为用户从未在其 FSLogix 配置文件容器的上下文中使用过应用程序。
      • 包含文件夹路径 的父文件夹必须 存在于容器中,以便包含项正常工作。
      • XML 文件将接受任意数量的 Include 元素 Exclude 和元素。

示例redirections.xml

重要

此示例演示如何使用元素。 按照实际 XML 实现的 “创建和实现redirections.xml” 教程进行操作。 排他和包括可能会产生意外的后果,必须谨慎创建。

  1. 排除已知文件夹(联系人、链接和音乐)
  2. 排除 Contoso Sales App,将容器 local_%username% 中的任何数据复制到文件夹,并在注销时返回容器。包含复制的 exclude 语句将数据的 I/O 移动到 本地磁盘而不是容器1
  3. 排除没有复制操作的 Microsoft Edge 文件夹(注销时删除所有数据)。
  4. 在排除的 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>

注意

  • 在 Windows 8 及更高版本中,低完整性级别进程中涉及的文件夹始终重定向到 local_%username% 目录。
  • 如果在这两 Exclude 个文件夹和 Include 元素中指定了同一文件夹, Exclude 则优先。
  • 若要列出 FSLogix 设置的重定向,请使用 frx 命令行实用工具

后续步骤