

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为您的 P WorkSpaces ools 用户启用应用程序设置持久性
<a name="app-settings-persistence"></a>

WorkSpaces 池支持基于 Windows 的目录的永久应用程序设置。这意味着，用户的应用程序自定义项和 Windows 设置将在每个流式传输会话之后自动保存，并在下一个会话期间应用。用户可配置的持久性应用程序设置的示例包括但不限于：浏览器收藏夹、设置、网页会话、应用程序连接配置文件、插件和 UI 自定义项。这些设置将保存到您账户中的亚马逊简单存储服务 (Amazon S3) 存储桶中，该存储段位于 AWS 启用了应用程序设置持久性的区域内。它们可在每个 P WorkSpaces ools 直播会话中使用。

**注意**  
可能会对存储在 S3 存储桶中的数据收取标准 Amazon S3 费用。有关更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。

**Topics**
+ [应用程序设置持久性如何工作](how-it-works-app-settings-persistence.md)
+ [启用应用程序设置持久性](enabling-app-settings-persistence.md)
+ [管理 VHDs 用户的应用程序设置](administer-app-settings-vhds.md)

# 应用程序设置持久性如何工作
<a name="how-it-works-app-settings-persistence"></a>

持久性应用程序设置将保存到一个虚拟硬盘 (VHD) 文件中。当用户首次从启用了应用程序设置持久性的目录流式传输应用程序时，将创建此文件。如果与目录关联的 WorkSpace 池基于包含默认应用程序和 Windows 设置的映像，则默认设置将用于用户的第一个流式传输会话。

当流式传输会话结束时，VHD 将卸载并上传到您账户的 Amazon S3 存储桶中。存储桶是在您首次为某个 AWS 区域中的目录启用永久性应用程序设置时创建的。存储桶是您的 AWS 账户和地区所独有的。VHD 在传输过程中使用 Amazon S3 SSL 终端节点进行加密，静态使用[AWS 托管 CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)进行加密。

VHD 安装 WorkSpace 在两者兼`C:\Users\%username%`而`D:\%username%`有之。如果您未加入 WorkSpace Active Directory 域，则 Windows 用户名为 PhotonUser。如果您 WorkSpace 已加入 Active Directory 域，则 Windows 用户名就是登录用户的用户名。

应用程序设置持久性无法跨不同的操作系统版本工作。例如，如果您为使用 Windows Server 2019 映像的 WorkSpace 池启用应用程序设置持久性，如果您更新 WorkSpace 池以使用运行其他操作系统的映像（例如 Windows Server 2022），则不会为该目录的用户保存先前流式传输会话的设置。相反，在更新 WorkSpace 池以使用新映像后，当用户从启动流式传输会话时 WorkSpace，会创建一个新的 Windows 用户配置文件。但是，如果对映像上的同一操作系统应用更新，则会保存之前的流式传输会话中的用户自定义项和设置。将同一操作系统的更新应用于映像时，当用户从启动流式传输会话时，将使用相同的 Windows 用户配置文件 WorkSpace。

**重要**  
WorkSpaces 只有在加入[微软 Active Directory 域时，Poo WorkSpace ls 才支持依赖微软数据保护 API](https://docs.microsoft.com/en-us/windows/desktop/seccng/cng-dpapi) 的应用程序。如果未加入 A WorkSpace ctive Directory 域 PhotonUser，则每个域的 Windows 用户不同 WorkSpace。由于 DPAPI 安全模型的运行方式，用户的密码不会为在此情况下使用 DPAPI 的应用程序保留。如果 WorkSpaces已加入 Active Directory 域并且用户是域用户，则 Windows 用户名就是登录用户的用户名，使用 DPAPI 的应用程序的用户密码将保留。

WorkSpaces Pools 会自动保存此路径中的所有文件和文件夹，但以下文件夹除外：
+ 联系人
+ 桌面
+ Documents
+ Downloads
+ 链接
+ 图片
+ Saved Games
+ Searches
+ 视频

在这些文件夹之外创建的文件和文件夹将保存在 VHD 中并同步到 Amazon S3。对于池，默认 VHD 最大大小为 5 GB。保存的 VHD 的大小是它所包含的文件和文件夹的总大小。 WorkSpaces 池会自动为用户保存`HKEY_CURRENT_USER`注册表配置单元。对于新用户（Amazon S3 中不存在个人资料的用户），P WorkSpaces ools 使用默认配置文件创建初始配置文件。此配置文件是在映像生成器的以下位置创建的：`C:\users\default`。

**注意**  
必须先将整个 VHD 下载到， WorkSpace 然后才能开始直播会话。因此，包含大量数据的 VHD 可能会使流式传输会话的开始时间延迟。有关更多信息，请参阅 [启用应用程序设置持久性的最佳实践](enabling-app-settings-persistence.md#best-practices-app-settings-persistence)。

启用应用程序设置持久性时，您必须指定一个设置组。设置组决定哪些已保存的应用程序设置用于此目录中的流式传输会话。 WorkSpaces 池为设置组创建一个新的 VHD 文件，该文件单独存储在您 AWS 账户的 S3 存储桶中。如果该设置组在各目录之间共享，将在每个目录中使用相同的应用程序设置。如果目录需要自己的应用程序设置，请为目录指定一个唯一的设置组。

# 启用应用程序设置持久性
<a name="enabling-app-settings-persistence"></a>

**Topics**
+ [启用应用程序设置持久性的先决条件](#prerequisites-app-settings-persistence)
+ [启用应用程序设置持久性的最佳实践](#best-practices-app-settings-persistence)
+ [如何启用应用程序设置持久性](#howto-enable-app-settings-persistence)

## 启用应用程序设置持久性的先决条件
<a name="prerequisites-app-settings-persistence"></a>

要启用应用程序设置持久性，您必须先执行以下操作：
+ 使用根据 2017 年 12 月 7 日当天或之后发布 AWS 的基本图像创建的图像。
+ 通过配置 Internet 访问或 Amazon S3 的 VPC 端点，启用从您的虚拟私有云（VPC）到 Amazon S3 的网络连接。有关更多信息，请参阅 [WorkSpaces Pools 的网络和访问权限](managing-network.md)中的*主文件夹和 VPC 端点* 部分。

## 启用应用程序设置持久性的最佳实践
<a name="best-practices-app-settings-persistence"></a>

要在不向您的提供互联网访问权限的情况下实现应用程序设置的持久性 WorkSpaces，请使用 VPC 终端节点。此终端节点必须位于您的 in P WorkSpaces ools 所连接的 VPC WorkSpaces 中。您必须附加自定义策略才能允许 WorkSpaces 池访问终端节点。有关如何创建自定义策略的信息，请参阅[WorkSpaces Pools 的网络和访问权限](managing-network.md)中的“主文件夹和 VPC 端点”**部分。有关私有 Amazon S3 端点的更多信息，请参阅《Amazon VPC 用户指南》**中的 [VPC 端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)和 [Amazon S3 的端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)。

## 如何启用应用程序设置持久性
<a name="howto-enable-app-settings-persistence"></a>

您可以在创建目录时或在使用 WorkSpaces 控制台创建目录之后启用或禁用应用程序设置的持久性。对于每个 AWS 区域，持久性应用程序设置存储在您账户的 S3 存储桶中。

首次为某个区域中的目录启用应用程序设置持久性时，P WorkSpaces ools 会在同一 AWS 区域的 AWS 账户中创建一个 S3 存储桶。同一个存储桶存储该 AWS 区域中所有用户和所有目录的应用程序设置 VHD 文件。有关更多信息，请参阅[管理 VHDs 用户的应用程序设置](administer-app-settings-vhds.md)中的 *Amazon S3 存储桶设置*。

**在创建目录期间启用应用程序设置持久性**
+ 按照[配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)中的步骤操作，并确保选中了 **Enable Application Settings Persistence (启用应用程序设置持久性)**。

**为现有目录启用应用程序设置持久性**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在左侧导航窗格中，选择**池**，然后选择要为其启用应用程序持久性的池。

1. 在该页面的**设置**部分，选择**编辑**。

1. 在该页面的**应用程序持久性**部分，选择**启用应用程序设置持久性**。

1. 选择**保存更改**。

新的流式传输会话现在便已启用应用程序设置持久性。

# 管理 VHDs 用户的应用程序设置
<a name="administer-app-settings-vhds"></a>

**Topics**
+ [Amazon S3 存储桶存储](#app-persistence-s3-buckets)
+ [重置用户的应用程序设置](#app-persistence-s3-reset)
+ [启用 Amazon S3 对象版本控制和恢复用户的应用程序设置](#app-persistence-enable-versions-revert-settings)
+ [增加应用程序设置 VHD 的大小](#app-persistence-increase-VHD-size)

## Amazon S3 存储桶存储
<a name="app-persistence-s3-buckets"></a>

启用应用程序设置持久性后，用户的应用程序自定义和 Windows 设置将自动保存到虚拟硬盘 (VHD) 文件中，该文件存储在您的 AWS 账户中创建的 Amazon S3 存储桶中。对于每个 AWS 区域，P WorkSpaces ools 都会在您的账户中创建一个存储桶，该存储桶对于您的账户和该地区都是唯一的。用户所配置的所有应用程序设置都将存储在该区域的这个存储桶中。

您无需执行任何配置任务即可管理这些 S3 存储桶；它们完全由 P WorkSpaces ools 服务管理。存储在每个存储桶中的 VHD 文件在传输过程中使用 Amazon S3 的 SSL 终端节点进行加密，静态文件则使用[AWS 托管 CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)进行加密。存储桶以特定格式命名，如下所述：

```
wspool-app-settings-<region-code>-<account-id-without-hyphens>-<random-identifier>
```

***region-code***  
这是在其中创建具有应用程序设置持久性的目录的 AWS 区域代码。

***account-id-without-hyphens***  
您的 AWS 账户 ID。随机标识符确保与该区域中的其他存储桶不发生冲突。存储桶名称的第一部分 `wspool-app-settings` 不随账户或区域而改变。

例如，如果您为账号为 123456789012 WorkSpaces 的美国西部（俄勒冈）区域 (us-west-2) 中的目录启用应用程序设置持久性，则池将在该地区的账户中创建一个名称显示的 Amazon S3 存储桶。只有具有足够权限的管理员才能删除此存储桶。

```
wspool-app-settings-us-west-2-1234567890123-abcdefg
```

禁用应用程序设置持久性不会删除 S3 VHDs 存储桶中存储的任何内容。要永久删除设置 VHDs，您或其他拥有足够权限的管理员必须使用 Amazon S3 控制台或 API 执行此操作。 WorkSpaces Pools 添加了防止意外删除存储桶的存储桶策略。

启用应用程序设置持久性后，将为每个设置组创建一个唯一的文件夹来存储设置 VHD。S3 存储桶中该文件夹的层次结构取决于用户启动流式传输会话的方式，如下面一节所述。

存储在您账户的 S3 存储桶中的设置 VHD 所在的文件夹路径使用以下结构：

```
bucket-name/Windows/prefix/settings-group/access-mode/user-id-SHA-256-hash
```

***bucket-name***  
存储用户应用程序设置的 S3 存储桶的名称。该名称格式如本节中前面所述。

***prefix***  
Windows 版本特定的前缀。例如，Windows Server 2012 R2 的 v4。

***settings-group***  
设置组值。此值将应用于共享相同应用程序设置的一个或多个目录。

***access-mode***  
用户的身份方法：`custom`用于 WorkSpaces 池 API 或 CLI、`federated` SAML 以及`userpool`用户池用户。

***user-id-SHA-256-hash***  
用户特定的文件夹名称。此名称是使用从用户 ID 生成的小写 SHA-256 哈希十六进制字符串创建的。

以下示例文件夹结构适用于使用 API 或 CLI 访问的直播会话，其用户 ID 为，ID 为`testuser@mydomain.com`，设置组`test-stack`位于美国西部（俄勒冈）区域 (us-west-2)： AWS 账户 `123456789012`

```
wspool-app-settings-us-west-2-1234567890123-abcdefg/Windows/v4/test-stack/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13
```

您可以通过网站或网上提供的开源编码库生成用户 ID 的小写 SHA-256 哈希值，并据此确定特定用户的文件夹。

## 重置用户的应用程序设置
<a name="app-persistence-s3-reset"></a>

要重置用户的应用程序设置，您必须从 AWS 账户的 S3 存储桶中找到并删除 VHD 和关联的元数据文件。请确保在用户的活动流式传输会话期间不执行此操作。删除用户的 VHD 和元数据文件后，下次用户从启用了应用程序设置持久性的流媒体实例启动会话时，P WorkSpaces ools 会为该用户创建新的设置 VHD。

**重置用户的应用程序设置**

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在 **Bucket name (存储桶名称)** 列表中，选择包含要重置的应用程序设置 VHD 的 S3 存储桶。

1. 找到该 VHD 所在的文件夹。有关如何导航 S3 存储桶文件夹结构的更多信息，请参阅本主题前面的 *Amazon S3 存储桶存储*。

1. 在 **Name (名称)** 列表中，选中该 VHD 和 REG 旁的复选框，选择 **More (更多)**，然后选择 **Delete (删除)**。

1. 在 **Delete objects (删除对象)** 对话框中，验证 VHD 和 REG 已列出，然后选择 **Delete (删除)**。

下次用户从启用了应用程序设置持久性并带有适用设置组的池进行流式传输时，将创建一个新的应用程序设置 VHD。此 VHD 将在会话结束时保存到 S3 存储桶中。

## 启用 Amazon S3 对象版本控制和恢复用户的应用程序设置
<a name="app-persistence-enable-versions-revert-settings"></a>

当您的用户更改其应用程序设置时，您可以使用 Amazon S3 对象版本控制和生命周期策略来管理这些设置。通过 Amazon S3 对象版本控制，您可以保留、检索和还原设置 VHD 的每个版本。这使您可以从意外用户操作和应用程序故障进行恢复。如果启用了版本控制，每个流式传输会话之后，应用程序设置 VHD 的新版本将同步到 Amazon S3。新版本不会覆盖早期版本，因此如果您的用户设置发生问题，可以恢复到 VHD 的上一个版本。

**注意**  
应用程序设置 VHD 的每个版本都将作为一个单独对象保存到 Amazon S3 中，并且需要支付相应费用。

默认情况下在 S3 存储桶中不启用对象版本控制，因此您必须显式启用它。

**为应用程序设置 VHD 启用对象版本控制**

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在 **Bucket name (存储桶名称)** 列表中，选择要启用对象版本控制的应用程序设置 VHD 所在的 S3 存储桶。

1. 选择**属性**。

1. 依次选择 **Versioning (版本控制)**、**Enable versioning (启用版本控制)**，然后选择 **Save (保存)**。

要使旧版本的应用程序设置过期 VHDs，您可以使用 Amazon S3 生命周期策略。有关信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[如何为 S3 存储桶创建生命周期策略？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html)

**恢复用户的应用程序设置 VHD**

通过从适用的 S3 存储桶删除 VHD 的较新版本，您可以恢复到用户应用程序设置 VHD 的早期版本。当用户是否具有活动的流式传输会话时，请不要执行此操作。

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在 **Bucket name (存储桶名称)** 列表中，选择要恢复到的用户应用程序设置 VHD 版本所在的 S3 存储桶。

1. 找到并选择该 VHD 所在的文件夹。有关如何导航 S3 存储桶文件夹结构的信息，请参阅本主题前面的 *Amazon S3 存储桶存储*。

   选择该文件夹时，即会显示设置 VHD 及关联的元数据文件。

1. 要显示 VHD 及元数据文件版本的列表，请选择 **Show (显示)**。

1. 找到要恢复到的 VHD 版本。

1. 在 **Name (名称)** 列表中，选中该 VHD 及关联元数据文件的较新版本旁的复选框，选择 **More (更多)**，然后选择 **Delete (删除)**。

1. 确认要恢复到的应用程序设置 VHD 及关联的元数据文件是这些文件的最新版本。

下次用户从启用了应用程序设置持久性并带有适用设置组的池进行流式传输时，将显示用户设置的已恢复版本。

## 增加应用程序设置 VHD 的大小
<a name="app-persistence-increase-VHD-size"></a>

对于池，默认 VHD 最大大小为 5 GB。如果用户需要额外的应用程序设置空间，您可以将适用的应用程序设置 VHD 下载到 Windows 计算机以对其进行扩展。然后，将 S3 存储桶中的当前 VHD 替换为更大的一个 VHD。当用户是否具有活动的流式传输会话时，请不要执行此操作。

**注意**  
要减小虚拟硬盘（VHD）的物理大小，请在结束会话之前清除回收站。这还能减少上传和下载时间，并改善整体用户体验。

**增加应用程序设置 VHD 的大小**
**注意**  
必须先下载完整 VHD，然后用户才能流式传输应用程序。增加应用程序设置 VHD 的大小可能会增加用户启动应用程序流式传输会话所需的时间。

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在 **Bucket name (存储桶名称)** 列表中，选择包含要扩展的应用程序设置 VHD 的 S3 存储桶。

1. 找到并选择该 VHD 所在的文件夹。有关如何导航 S3 存储桶文件夹结构的信息，请参阅本主题前面的 [Amazon S3 存储桶存储](#app-persistence-s3-buckets)。

   选择该文件夹时，即会显示设置 VHD 及关联的元数据文件。

1. 将 `Profile.vhdx` 文件下载到 Windows 计算机上的一个目录中。下载完成后，请勿关闭您的浏览器，因为稍后您将再次使用浏览器上传扩展的 VHD。

1. 要使用 Diskpart 将 VHD 的大小增加到 7 GB，请以管理员身份打开命令提示符，并键入以下命令。

   ```
   diskpart
   ```

   ```
   select vdisk file="C:\path\to\application\settings\profile.vhdx"
   ```

   ```
   expand vdisk maximum=7000
   ```

1. 然后，键入以下 Diskpart 命令找到和附加该 VHD，并显示卷列表：

   ```
   elect vdisk file="C:\path\to\application\settings\profile.vhdx"
   ```

   ```
   attach vdisk
   ```

   ```
   list volume
   ```

   在输出中，记下带有 “AwsEucUsers” 标签的卷号。在下一步中，您将选择此卷，以便可将其扩大。

1. 键入以下命令，其中，`<volume-number>` 是列表卷输出中的编号。

   ```
   select volume <volume-number>
   ```

1. 键入以下命令：

   ```
   extend
   ```

1. 键入以下命令，确认 VHD 上该分区的大小是否已按预期增加（在此示例中为 7 GB）：

   ```
   diskpart
   ```

   ```
   select vdisk file="C:\path\to\application\settings\profile.vhdx"
   ```

   ```
   list volume
   ```

1. 键入以下命令分离 VHD，以便可将其上传：

   ```
   detach vdisk
   ```

1. 返回带有 Amazon S3 控制台的浏览器，依次选择**上传**、**添加文件**，然后选择扩大的 VHD。

1. 选择**上传**。

上传 VHD 后，下次用户从启用了应用程序设置持久性并带有适用设置组的池进行流式传输时，可以使用更大的应用程序设置 VHD。