

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

# 使用镜像助手 CLI 操作以编程方式创建您的 Amazon WorkSpaces 应用程序映像
<a name="programmatically-create-image"></a>

您可以通过连接到映像生成器并使用图像助手图形用户界面 (GUI) 或命令行界面 (CLI) 操作来创建 Amazon A WorkSpaces pplications 映像。Image Assistant CLI 操作提供了与 Image Assistant GUI 类似的功能。通过这些操作，您可以以编程方式执行以下操作：
+ 管理映像中包含的应用程序。
+ 保存、更新和重置默认应用程序设置。
+ 启用或禁用 WorkSpaces 应用程序动态应用程序框架。
+ 指定标签。
+ 创建映像。

 您可以使用这些操作将 WorkSpaces 应用程序映像创建与持续集成或部署软件开发过程相集成。

要使用 Image Assistant CLI 操作，请在映像生成器上使用您选择的命令行 shell。例如，你可以使用 Windows 命令提示符或 PowerShell。

**注意**  
映像生成器必须使用在 2019 年 7 月 26 日当天或之后发布的 WorkSpaces 应用程序代理版本。如果没有映像生成器，您必须创建一个。有关更多信息，请参阅 [启动映像生成器来安装和配置流应用程序](tutorial-image-builder-create.md)。

**Topics**
+ [

# 使用 Image Assistant CLI 操作创建默认应用程序和 Windows 设置
](create-default-app-windows-settings-image-assistant.md)
+ [

# 使用 Image Assistant CLI 操作优化应用程序的启动性能
](optimize-app-launch-performance-image-assistant-cli.md)
+ [

# 以编程方式创建 Amazon WorkSpaces 应用程序映像的流程概述
](process-overview-creating-image-programmatically-image-assistant-cli.md)
+ [

# 用于创建和管理您的 Amazon WorkSpaces 应用程序映像的图像助手 CLI 操作
](cli-operations-managing-creating-image-image-assistant.md)

# 使用 Image Assistant CLI 操作创建默认应用程序和 Windows 设置
<a name="create-default-app-windows-settings-image-assistant"></a>

您可以创建默认应用程序和 Windows 设置，以便用户可以快速开始使用他们的应用程序。当你创建这些设置时， WorkSpaces 应用程序会用你配置的配置文件替换 Windows 默认用户配置文件。然后使用 Windows 默认用户配置文件在实例集实例中为用户创建初始设置。如果您使用 Image Assistant CLI 操作创建这些设置，则应用程序安装程序或自动化应该会直接修改 Windows 默认用户配置文件。

要使用其他 Windows 用户的配置文件覆盖 Windows 默认用户配置文件，您也可以使用 Image Assistant `update-default-profile` CLI 操作。

有关配置默认应用程序和 Windows 设置的更多信息，请参阅中的*为应用程序用户创建默认 WorkSpaces 应用程序和 Windows 设置*[Amazon 应用程序中的默认应用程序和 Windows 设置以及 WorkSpaces 应用程序启动性能](customizing-appstream-images.md)。

# 使用 Image Assistant CLI 操作优化应用程序的启动性能
<a name="optimize-app-launch-performance-image-assistant-cli"></a>

WorkSpaces 应用程序允许您针对用户的流式传输会话优化应用程序的启动性能。使用 Image Assistant CLI 操作执行此操作时，您可以指定要针对应用程序启动进行优化的文件。通过将文件添加到应用程序优化清单，您可以缩短在新实例集实例上首次启动该应用程序所需的时间。但是，这也增加了实例集实例做好准备以供用户使用的时间。优化清单是每个应用程序的行分隔文本文件。

**注意**  
如果您同时使用 Image Assistant CLI 操作和 Image Assistant GUI 来配置应用程序优化清单，则两份清单将会合并。

下面是一个应用程序优化清单文件的示例：

```
C:\Program Files (x86)\Notepad++\autoCompletion
C:\Program Files (x86)\Notepad++\localization
C:\Program Files (x86)\Notepad++\plugins
C:\Program Files (x86)\Notepad++\themes
C:\Program Files (x86)\Notepad++\updater
C:\Program Files (x86)\Notepad++\userDefineLangs
C:\Program Files (x86)\Notepad++\change.log
C:\Program Files (x86)\Notepad++\config.xml
C:\Program Files (x86)\Notepad++\contextMenu.xml
C:\Program Files (x86)\Notepad++\doLocalConf.xml
C:\Program Files (x86)\Notepad++\functionList.xml
C:\Program Files (x86)\Notepad++\langs.model.xml
C:\Program Files (x86)\Notepad++\license.txt
C:\Program Files (x86)\Notepad++\notepad++.exe
C:\Program Files (x86)\Notepad++\readme.txt
C:\Program Files (x86)\Notepad++\SciLexer.dll
C:\Program Files (x86)\Notepad++\shortcuts.xml
C:\Program Files (x86)\Notepad++\stylers.model.xml
```

有关优化应用程序启动性能的更多信息，请参阅[Amazon 应用程序中的默认应用程序和 Windows 设置以及 WorkSpaces 应用程序启动性能](customizing-appstream-images.md)中的*优化应用程序的启动性能*。

# 以编程方式创建 Amazon WorkSpaces 应用程序映像的流程概述
<a name="process-overview-creating-image-programmatically-image-assistant-cli"></a>

您可以将 Image Assistant CLI 操作与应用程序安装自动化配合使用，创建完全编程的 WorkSpaces 应用程序映像创建工作流程。在应用程序安装自动化完成之后、映像创建之前，请使用 Image Assistant CLI 操作指定以下内容：
+ 您的用户可以启动的可执行文件
+ 您应用程序的优化清单
+ 其他 WorkSpaces 应用程序图像元数据

以下高级概述描述了以编程方式创建 WorkSpaces 应用程序映像的过程。

1. 使用应用程序安装自动化通过映像生成器安装所需的应用程序。此安装可能包括用户将启动的应用程序、所有依赖关系和后台应用程序。

1. 确定要优化的文件和文件夹。

1. 如果适用，请使用 Image Assistant `add-application` CLI 操作为应用程序映像指定 WorkSpaces 应用程序元数据和优化清单。

1. 要为应用程序映像指定其他 WorkSpaces 应用程序，请根据需要对每个应用程序重复步骤 1 到 3。

1. 如果适用，请使用 Image Assistant `update-default-profile` CLI 操作覆盖默认 Windows 配置文件，并为用户创建默认应用程序和 Windows 设置。

1. 使用 Image Assistant `create-image` CLI 操作来创建映像。

# 用于创建和管理您的 Amazon WorkSpaces 应用程序映像的图像助手 CLI 操作
<a name="cli-operations-managing-creating-image-image-assistant"></a>

本节介绍可用于创建和管理 WorkSpaces 应用程序映像的 Image Assistant CLI 操作。

在 Windows 映像生成器上，包含命令行界面的可执行文件位于：C:\$1Program Files\$1 Amazon\$1 Photon\$1ConsoleImageBuilder\$1 Image-Assistant.exe。为方便起见，此可执行文件包含在 Windows PATH 变量中。这让您可以调用 Image Assistant CLI 操作，而无需指定可执行文件的绝对路径。要调用这些操作，请键入 **image-assistant.exe** 命令。

在 Linux 映像生成器上，图像助手工具位于/ usr/local/appstream/image-assistant/AppStreamImageAssistant, with a symbolic link at /bin/AppStreamImageAssistant。

## `help` 操作
<a name="help-operation-image-assistant-cli"></a>

检索所有 Image Assistant CLI 操作的列表。列表中的每个操作均提供了描述和使用语法。要显示特定操作的帮助，请键入操作的名称并指定 **-help** 参数。例如：

```
add-application --help
```

**摘要**

```
help
```

**输出**

将可用操作的列表及其功能描述打印到标准输出中。

## `add-application` 操作
<a name="add-application-operation-image-assistant-cli"></a>

将应用程序添加到应用程序用户的 WorkSpaces 应用程序列表中。此列表中的应用程序包含在应用程序目录中。当用户登录应用程序流式传输会话时， WorkSpaces 应用程序目录会显示给他们。

**注意**  
如果您需要更改应用程序配置，请移除该应用程序并添加具有更新设置的应用程序。

**摘要**

```
add-application
--name <value>
--absolute-app-path <value>
[--display-name <value>]
[--absolute-icon-path <value>]
[--working-directory <value>]
[--launch-parameters <""-escaped value>]
[--absolute-manifest-path <value>]
```

**Options**

**`--name`（字符串）**  
应用程序的唯一名称。最大长度为 256 个字符。最多可以添加 50 个应用程序。不能使用空格字符。

**`--absolute-app-path`（字符串）**  
应用程序的可执行文件、批处理文件或脚本的绝对路径。该路径必须指向有效文件。

**`--display-name`（字符串）**  
应用程序目录中为应用程序显示的名称。如果您未指定显示名称，Applic WorkSpaces ations 会创建一个派生自可执行文件名的名称。创建的名称没有文件扩展名，并使用下划线代替空格。最大长度为 256 个字符。

**`--absolute-icon-path`（字符串）**  
应用程序图标的绝对路径。该路径必须指向以下任一类型的有效的图标文件：.jpg、.png 或 .bmp。最大尺寸为：256 像素 x 256 像素。如果未指定路径，则使用可执行文件的默认图标（如果有）。如果可执行文件没有默认图标，则使用默认的 WorkSpaces 应用程序应用程序图标。

**`--working-directory`（字符串）**  
启动应用程序时应用程序的初始工作目录。

**`--absolute-manifest-path`（字符串）**  
新的行分隔文本文件的路径。该文件指定了在将实例集实例提供给用户进行流式传输之前要优化的文件的绝对路径。该路径必须指向有效的文本文件。

**消息输出**


| 退出代码 | 打印到标准输出的消息 | 说明 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success"\$1  |  该应用程序已成功添加。 | 
| 1 |  \$1"status": 1, "message": "Administrator privileges are required to perform this operation"\$1  |  必须有管理员权限才能完成操作。 | 
| 1 |  \$1"status": 1, "message": "Unable to add more than 50 apps to the catalog."\$1  |  无法添加该应用程序，因为可以添加到应用程序应用程序目录的最大 WorkSpaces 应用程序数为 50。 | 
| 1 |  \$1"status": 1, "message": "Name is not unique"\$1  |  应用程序应用程序目录中已存在同名的 WorkSpaces 应用程序。 | 
| 1 |  \$1“状态”：1，“消息”：“找不到文件 (absolute-app-path)”\$1  |  找不到为 absolute-app-path 指定的文件。 | 
| 1 |  \$1"status": 1, "message": "Unsupported file extension"\$1  |  Absolute-app-path 参数仅支持以下文件类型：.exe 和 .bat。 | 
| 1 |  \$1"status": 1, "message": "Directory not found (working-directory)" |  找不到为 working-directory 指定的目录。 | 
| 1 |  \$1"status": 1, "message": "Optimization-manifest not found: <filename>"\$1  |  找不到为 optimization-manifest 指定的文件。 | 
| 1 |  \$1"status": 1, "message": "File not found: <filename>"\$1  |  找不到优化清单中指定的文件。 | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  出现意外错误。请重试该请求。如果错误仍然存在，请联系 AWS 支持 寻求帮助。有关更多信息，请参阅 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。 | 

## `remove-application` 操作
<a name="remove-application-operation-image-assistant-cli"></a>

将应用程序从应用程序映像的应用程序列表中 WorkSpaces 移除。应用程序未被卸载或修改，但用户将无法从 “ WorkSpaces 应用程序” 应用程序目录中启动它。

**摘要**

```
remove-application
--name <value>
```

**Options**

**`--name`（字符串）**  
要删除的应用程序的唯一标识符。

**消息输出**


| 退出代码 | 打印到标准输出的消息 | 说明 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success"\$1  |  该应用程序已成功删除。 | 
| 1 |  \$1"status": 1, "message": "Administrator privileges are required to perform this operation"\$1  |  必须有管理员权限才能完成操作。 | 
| 1 |  \$1"status": 1, "message": "App not found"\$1  |  在应用程序应用程序目录中找不到指定的 WorkSpaces 应用程序。 | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  出现意外错误。请重试该请求。如果错误仍然存在，请联系 AWS 支持 寻求帮助。有关更多信息，请参阅 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。 | 

## `list-applications` 操作
<a name="list-applications-operation-image-assistant-cli"></a>

列出应用程序目录中指定的所有应用程序。

**摘要**

```
list-applications
```

**消息输出**


| 退出代码 | 打印到标准输出的消息 | 说明 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success", "applications": [ \$1..app1.. \$1, \$1 ..app2.. \$1]\$1  |  应用程序应用程序目录中的 WorkSpaces 应用程序列表。 | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  出现意外错误。请重试该请求。如果错误仍然存在，请联系 AWS 支持 寻求帮助。有关更多信息，请参阅 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。 | 

## `update-default-profile` 操作
<a name="update-default-profile-image-assistant-cli"></a>

将指定的 Windows 用户的配置文件复制到 Windows 默认用户配置文件。进行流式传输的新用户将继承存储在指定配置文件中的设置。

**注意**  
Linux Image Assistant CLI 工具不支持此操作。

**摘要**

```
update-default-profile
[--profile <value>]
```

**Options**

**`--profile`（字符串）**  
Windows 配置文件将被复制到 Windows 默认用户配置文件的用户的名称。名称应使用以下格式：  
"<domain>\$1<username>"  
如果映像生成器未加入 Microsoft Active Directory 域，请为该域输入句点“.”。如果您未指定用户，则使用 WorkSpaces 应用程序模板用户帐户。

**消息输出**


| 退出代码 | 打印到标准输出的消息 | 说明 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success"\$1  |  用户设置已成功复制到默认 Windows 配置文件。 | 
| 1 |  \$1"status": 1, "message": "Administrator privileges are required to perform this operation"\$1  |  必须有管理员权限才能完成操作。 | 
| 1 |  \$1"status": 1, "message": "Unable to copy file or folder: <path>. <reason>"\$1  |  无法复制用户设置，因为文件或文件夹不可用。 | 
| 1 |  \$1"status": 1, "message": "Cannot copy a domain user when not joined to a domain""\$1  |  指定了 Microsoft Active Directory 域用户，但映像生成器未加入 Active Directory 域。 | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  出现意外错误。请重试该请求。如果错误仍然存在，请联系 AWS 支持 寻求帮助。有关更多信息，请参阅 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。 | 

## `reset-user-profile` 操作
<a name="reset-user-profile-image-assistant-cli"></a>

删除指定用户的 Windows 用户配置文件。

**注意**  
Linux Image Assistant CLI 工具不支持此操作。

**摘要**

```
reset-user-profile
[--profile <value>]
```

**Options**

**`--profile`（字符串）**  
Windows 配置文件将被删除的 Windows 用户的名称。名称应使用以下格式：  
"<domain>\$1<username>"  
如果映像生成器未加入 Microsoft Active Directory 域，请为该域输入句点“.”。

**消息输出**


| 退出代码 | 打印到标准输出的消息 | 说明 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success"\$1  |  已成功删除指定的用户设置。 | 
| 1 |  \$1"status": 1, "message": "Administrator privileges are required to perform this operation"\$1  |  必须有管理员权限才能完成操作。 | 
| 1 |  \$1"status": 1, "message": "Unable to copy file or folder: <path>. <reason>"\$1  |  无法重置用户设置，因为文件或文件夹不可用。 | 
| 1 |  \$1"status": 1, "message": "Cannot copy a domain user when not joined to a domain""\$1  |  指定了 Microsoft Active Directory 域用户，但映像生成器未加入 Active Directory 域。 | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  出现意外错误。请重试该请求。如果错误仍然存在，请联系 AWS 支持 寻求帮助。有关更多信息，请参阅 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。 | 

## `create-image` 操作
<a name="create-image-operation-image-assistant-cli"></a>

启动映像创建工作流程，生成可用于 WorkSpaces 应用程序队列的 WorkSpaces 应用程序映像。

**摘要**

```
create-image
--name <value>
[--description <value>]
[--display-name <value>]
[--enable-dynamic-app-catalog] | [--no-enable-dynamic-app-catalog]
[--use-latest-agent-version] | [--no-use-latest-agent-version]            
[--tags <value>]
[--dry-run]
```

**Options**

**`--name`（字符串）**  
 WorkSpaces 应用程序镜像的名称。该名称在亚马逊 Web Services 账户和 AWS 地区内必须是唯一的。最大长度为 100 个字符。允许使用的字符包括：  
a-z、A-Z、0-9、下划线（-）、连字符（-）和句点（.）  
映像名称不能以以下任何前缀开头：'aws'、'appstream' 和 'amazon'。这些前缀是为 AWS 预留的。

**`--description`（字符串）**  
要为映像显示的描述。最大长度为 256 个字符。

**`--display-name`（字符串）**  
要为映像显示的名称。最大长度为 256 个字符。

**`--enable-dynamic-app-catalog` \$1 `--no-enable-dynamic-app-catalog`**  
启用或禁用对 WorkSpaces 应用程序动态应用程序框架的支持。如果您未指定任一参数，则系统不会启用对动态应用程序框架的支持。  
动态应用程序框架在 WorkSpaces 应用程序流式处理实例中提供操作，您可以使用这些操作来构建动态应用程序提供程序。动态应用程序提供程序可以使用这些操作修改您的用户可以实时访问的应用程序目录。有关更多信息，请参阅 [使用 WorkSpaces 应用程序动态应用程序框架构建动态应用程序提供程序](build-dynamic-app-provider.md)。

**`--use-latest-agent-version` \$1 `--no-use-latest-agent-version`**  
指定是将映像固定到当前安装的 WorkSpaces 应用程序代理版本，还是始终使用最新的代理版本。如果您未指定任何一个参数，则图像将固定到当前安装的 WorkSpaces 应用程序代理版本。有关更多信息，请参阅 [管理 WorkSpaces 应用程序代理版本](base-images-agent.md)。

**`--tags`（字符串）**  
要与映像关联的标签。标签是键值对。采用以下格式：  
--tags "mykey" "myval" "mykey2" "myval2"  
有关标签的更多信息，请参阅 [标记您的 Amazon WorkSpaces 应用程序资源](tagging-basic.md)。

**`--dry-run`（字符串）**  
在不创建映像的情况下执行验证。在创建映像之前，请使用此命令确定映像是否存在任何问题。

**消息输出**


| 退出代码 | 打印到标准输出的消息 | 说明 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success"\$1  |  创建映像的工作流已成功启动。 | 
| 1 |  \$1"status": 1, "message": "Administrator privileges are required to perform this operation"\$1  |  必须有管理员权限才能完成操作。 | 
| 1 |  \$1"status": 1, "message": "An image with the given name already exists"\$1  |  Amazon Web Services 账户中已存在具有指定名称的映像。 | 
| 1 |  \$1"status": 1, "message": "Invalid value (tags)"\$1  |  指定的标签无效。 | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  出现意外错误。请重试该请求。如果错误仍然存在，请联系 AWS 支持 寻求帮助。有关更多信息，请参阅 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。 | 