

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 映像
<a name="managing-images"></a>

您可以建立 Amazon WorkSpaces 應用程式映像，其中包含可串流至使用者的應用程式，以及預設系統和應用程式設定，讓使用者快速開始使用這些應用程式。不過，建立映像後，您就無法加以變更。若要新增其他應用程式、更新現有的應用程式，或變更映像設定，您必須啟動之前用來建立映像的映像建置器，並重新連線。如果您已刪除該映像建置器，請根據您的映像啟動新的映像建置器。接著，進行變更並建立新的映像。如需詳細資訊，請參閱[啟動映像建置器以安裝和設定串流應用程式](tutorial-image-builder-create.md)及[教學課程：使用 WorkSpaces 應用程式主控台建立自訂 WorkSpaces 應用程式映像](tutorial-image-builder.md)。

您可用的映像會列在 WorkSpaces 應用程式主控台的**映像登錄**檔中。它們分類為公有、私有或共享。您可以使用任何這些映像類型來啟動映像建置器並設定 WorkSpaces 應用程式機群。共用映像是由其他 Amazon Web Services 帳戶所有，並與您共用的映像。共享映像上所設的許可，可能會限制您對這些映像執行的動作。如需詳細資訊，請參閱[管理您的 Amazon WorkSpaces 應用程式映像](administer-images.md)。

**Topics**
+ [Amazon WorkSpaces 應用程式的預設應用程式和 Windows 設定以及應用程式啟動效能](customizing-appstream-images.md)
+ [管理 WorkSpaces 應用程式代理程式版本](base-images-agent.md)
+ [WorkSpaces 應用程式代理程式版本備註](agent-software-versions.md)
+ [教學課程：使用 WorkSpaces 應用程式主控台建立自訂 WorkSpaces 應用程式映像](tutorial-image-builder.md)
+ [管理您的 Amazon WorkSpaces 應用程式映像](administer-images.md)
+ [使用映像助理 CLI 操作，以程式設計方式建立 Amazon WorkSpaces 應用程式映像](programmatically-create-image.md)
+ [建立 Linux 型映像](create-linux-based-images.md)
+ [使用工作階段指令碼來管理 Amazon WorkSpaces 應用程式使用者的串流體驗](use-session-scripts.md)

# Amazon WorkSpaces 應用程式的預設應用程式和 Windows 設定以及應用程式啟動效能
<a name="customizing-appstream-images"></a>

 您可以建立預設的應用程式和 Windows 設定，讓使用者能夠快速開始使用他們的應用程式，而不需自行建立或設定相關設定。

WorkSpaces 應用程式可最佳化使用者串流工作階段的應用程式啟動效能。為了確保備齊本程序的所有必要檔案，您可能需要手動將特定檔案和資料夾新增至最佳化資訊清單。

**Topics**
+ [為您的 WorkSpaces 應用程式使用者建立預設應用程式和 Windows 設定](creating-default-app-Windows-settings.md)
+ [在 Amazon WorkSpaces 應用程式中最佳化應用程式的啟動效能](optimizing-app-launch-performance.md)

# 為您的 WorkSpaces 應用程式使用者建立預設應用程式和 Windows 設定
<a name="creating-default-app-Windows-settings"></a>

您可將儲存到 Windows 使用者描述檔資料夾或使用者登錄 Hive 的應用程式自訂和 Windows 設定設為預設值。當您使用影像助理中的**範本使用者**儲存預設設定時，WorkSpaces 應用程式會將 Windows 預設使用者設定檔取代為您設定的設定檔。如此一來，您即可使用 Windows 預設使用者描述檔，為機群執行個體中的使用者建立初始設定。如果您設定的應用程式或 Windows 設定在機群中無法運作，請確認它們已儲存在 Windows 使用者描述檔中。如需詳細資訊，請參閱[教學課程：使用 WorkSpaces 應用程式主控台建立自訂 WorkSpaces 應用程式映像](tutorial-image-builder.md)中的「步驟 3：建立預設應用程式和 Windows 設定」。

您可以建立和設定的預設設定包括：
+ 應用程式偏好設定，包括瀏覽器首頁、工具列自訂項目和安全性設定。
+ 應用程式資料設定，包括瀏覽器書籤和連線描述檔。
+ Windows 體驗設定，包括顯示副檔名和隱藏資料夾。

此外，您可以修改或停用 Internet Explorer 安全性設定，例如增強式安全性組態 (ESC)。如需詳細資訊，請參閱[在 Amazon WorkSpaces 應用程式中停用 Internet Explorer 增強型安全組態](customize-fleets-disable-ie-esc.md)。

# 在 Amazon WorkSpaces 應用程式中最佳化應用程式的啟動效能
<a name="optimizing-app-launch-performance"></a>

建立映像時，WorkSpaces 應用程式會要求您為使用者的串流工作階段最佳化應用程式的啟動效能。在此程序期間開啟應用程式時，請確認其使用的是使用者所需的初始元件。這麼做可確保最佳化程序順利擷取這些元件。在某些情況下，並非所有最佳化所需的檔案都會偵測到。好比說，未在映像建置器中開啟的外掛程式或元件就是此類檔案的範例。為了確保順利擷取應用程式所需的全部檔案，您可以將其納入最佳化資訊清單。將檔案新增至最佳化資訊清單時，可能會延長建立機群執行個體和將其提供給使用者所需的時間。不過，這麼做會縮短在機群執行個體上第一次啟動該應用程式所需的時間。

為了最佳化資料夾中的所有檔案，請開啟 PowerShell，並使用以下 PowerShell 命令：

```
dir -path "C:\Path\To\Folder\To\Optimize" -Recurse -ErrorAction SilentlyContinue | %{$_.FullName} | Out-File "C:\ProgramData\Amazon\Photon\Prewarm\PrewarmManifest.txt" -encoding UTF8 -append
```

根據預設，每次映像助理**最佳化**步驟執行時，映像助理都會取代應用程式最佳化清單檔案。您必須執行 PowerShell 命令來最佳化資料夾中的所有檔案：
+ 每次**最佳化**步驟執行之後行。
+ 在映像助理**檢閱**頁面上選擇**中斷連線並建立映像**之前。

或者，您可以透過使用映像助理命令列界面 (CLI) 操作，以每個應用程式為基礎來指定最佳化資訊清單。當您使用影像助理 CLI 操作指定最佳化資訊清單時，WorkSpaces 應用程式會將指定的應用程式最佳化資訊清單與影像助理**最佳化**步驟識別的檔案合併。如需詳細資訊，請參閱[使用映像助理 CLI 操作，以程式設計方式建立 Amazon WorkSpaces 應用程式映像](programmatically-create-image.md)。

# 管理 WorkSpaces 應用程式代理程式版本
<a name="base-images-agent"></a>

WorkSpaces 應用程式代理程式是在串流執行個體上執行的軟體，可讓使用者串流應用程式。根據預設，當您建立新的映像時，會選取 **Always use latest agent version (一律使用最新代理程式版本)** 選項。選取此選項時，從映像啟動的新映像建置器或機群執行個體一律使用最新的 WorkSpaces 應用程式代理程式版本。您可能想要控制代理程式更新，以確保與您的軟體相容，或是確保更新的環境符合資格，再為使用者部署該環境。

下列程序說明如何管理 WorkSpaces 應用程式代理程式版本。

**Topics**
+ [建立一律使用最新版本 WorkSpaces 應用程式代理程式的影像](create-image-that-always-uses-latest-agent.md)
+ [建立使用 WorkSpaces 應用程式代理程式特定版本的影像](create-image-that-uses-specific-agent.md)
+ [建立使用較新版本 WorkSpaces 應用程式代理程式的影像](create-image-that-uses-newer-agent.md)

# 建立一律使用最新版本 WorkSpaces 應用程式代理程式的影像
<a name="create-image-that-always-uses-latest-agent"></a>

當您的映像設定為一律使用最新的 WorkSpaces 應用程式代理程式版本時，您的串流執行個體會自動更新為在發行新的代理程式版本 AWS 時可從 取得的最新功能、效能改善和安全性更新。

**注意**  
在某些情況下，新的 WorkSpaces 應用程式代理程式版本可能會與您的軟體衝突。我們建議您先限定新的 WorkSpaces 應用程式代理程式版本，再將其部署到您的生產機群。

**建立一律使用最新版本 WorkSpaces 應用程式代理程式的映像**

1. 在 https：//[https://console.aws.amazon.com/appstream2/home](https://console.aws.amazon.com/appstream2/home) 開啟 WorkSpaces 應用程式主控台。

1. 執行下列任何一項：
   + 如果您已經有想要用來建立映像的映像建置器，請啟動並連線到映像建置器。如果映像建置器未執行最新版本的 WorkSpaces 應用程式代理程式，系統會提示您選擇是否使用最新的代理程式啟動映像建置器。請確定選取此選項，然後選擇 **Start (啟動)**，再連線到映像建置器。
   + 如果沒有想要用來建立映像的映像建置器，請啟動新的映像建置器。在**步驟 1：選擇影像**中，選擇 AWS 基礎影像或自訂影像。在**步驟 2：設定映像建置器**中，如果您選擇的映像未執行最新版本的 WorkSpaces 應用程式代理程式，則會顯示 **WorkSpaces 應用程式**區段。在 **Agent version (代理程式版本)** 清單中，選取最新的代理程式版本。完成剩餘的步驟以建立映像建置器，然後連線到此映像建置器。如需詳細資訊，請參閱[啟動映像建置器以安裝和設定串流應用程式](tutorial-image-builder-create.md)。

1. 在映像建置器的桌面，開啟映像助理，然後依步驟建立新的映像。針對 **Configure Image (設定映像)** 步驟，確保選取 **Always use the latest agent version (一律使用最新的代理程式版本)**。如需詳細資訊，請參閱[教學課程：使用 WorkSpaces 應用程式主控台建立自訂 WorkSpaces 應用程式映像](tutorial-image-builder.md)。

   如果您稍後決定不總是使用最新版本的 WorkSpaces 應用程式代理程式，則必須建立新的映像並清除該選項。

1. 建立新的機群或修改現有的機群。當您設定機群時，請選取您建立的新映像。如需詳細資訊，請參閱[建立 Amazon WorkSpaces 應用程式機群和堆疊](set-up-stacks-fleets.md)。

1. 建立新堆疊或修改現有的堆疊，並建立其與您機群的關聯。

# 建立使用 WorkSpaces 應用程式代理程式特定版本的影像
<a name="create-image-that-uses-specific-agent"></a>

建議您控制 WorkSpaces 應用程式代理程式更新，而不是一律使用最新版本，以便先測試相容性。為了確保您使用的 WorkSpaces 應用程式代理程式版本與您的串流應用程式相容，您可以建立使用特定版本代理程式軟體的映像。然後先在單獨的機群中執行資格測試，再部署到您的生產機群。

當您建立映像時，請絕對不要選取 **Always use latest agent version (一律使用最新的代理程式版本)** 選項。這樣做會將您的映像固定到啟動映像建置器時選取的 WorkSpaces 應用程式代理程式版本，而不是一律使用最新版本。完成資格測試後，您可以使用此映像更新您的生產機群。

**建立使用特定 WorkSpaces 應用程式代理程式版本的映像**

1. 在 https：//[https://console.aws.amazon.com/appstream2/home](https://console.aws.amazon.com/appstream2/home) 開啟 WorkSpaces 應用程式主控台。

1. 執行下列任何一項：
   + 如果您已經有想要用來建立映像的映像建置器，請啟動並連線到映像建置器。
   + 如果沒有想要用來建立映像的映像建置器，請啟動新的映像建置器。在**步驟 1：選擇影像**中，選擇 AWS 基礎影像或自訂影像。在**步驟 2：設定映像建置器**中，如果您選擇的映像未執行最新版本的 WorkSpaces 應用程式代理程式，則會顯示 **WorkSpaces 應用程式**區段。在 **Agent version (代理程式版本)** 清單中，不要選取最新的代理程式版本。完成剩餘的步驟以建立映像建置器，然後連線到此映像建置器。如需詳細資訊，請參閱[啟動映像建置器以安裝和設定串流應用程式](tutorial-image-builder-create.md)。

1. 在映像建置器的桌面，開啟映像助理，然後依步驟建立新的映像。針對映像助理的 **Configure Image (設定映像)** 步驟，絕對不要選取 **Always use the latest agent version (一律使用最新的代理程式版本)**。如需詳細資訊，請參閱[教學課程：使用 WorkSpaces 應用程式主控台建立自訂 WorkSpaces 應用程式映像](tutorial-image-builder.md)。

   如果您稍後決定一律使用最新版本的 WorkSpaces 應用程式代理程式，則必須建立新的映像並選取該選項。

1. 建立新的機群或修改現有的機群。當您設定機群時，請選取您建立的新映像。如需詳細資訊，請參閱[建立 Amazon WorkSpaces 應用程式機群和堆疊](set-up-stacks-fleets.md)。

1. 建立新堆疊或修改現有的堆疊，並建立其與您機群的關聯。

1. 連線到您的機群，測試您的應用程式相容性。

# 建立使用較新版本 WorkSpaces 應用程式代理程式的影像
<a name="create-image-that-uses-newer-agent"></a>

如果您將映像鎖定到特定的 WorkSpaces 應用程式代理程式版本，則必須建立新的映像以更新至較新的版本。這種方法可讓您先測試每項代理程式更新的相容性，然後逐漸更新您的機群。

當您建立映像時，請絕對不要選取 **Always use latest agent version (一律使用最新的代理程式版本)** 選項。建立映像後，請先在單獨的機群中執行資格測試，再部署到您的生產機群。完成資格測試後，您可以使用此映像更新您的生產機群。

**建立使用較新版本 WorkSpaces 應用程式代理程式的映像**

1. 在 https：//[https://console.aws.amazon.com/appstream2/home](https://console.aws.amazon.com/appstream2/home) 開啟 WorkSpaces 應用程式主控台。

1. 執行下列任何一項：
   + 如果您已經有想要用來建立映像的映像建置器，請啟動並連線到映像建置器。如果映像建置器未執行最新版本的 WorkSpaces 應用程式代理程式，系統會提示您選擇是否使用最新的代理程式啟動映像建置器。請確定選取此選項，然後選擇 **Start (啟動)**，再連線到映像建置器。
   + 如果沒有想要用來建立映像的映像建置器，請啟動新的映像建置器。在**步驟 1：選擇影像**中，選擇 AWS 基礎影像或自訂影像。在**步驟 2：設定映像建置器**中，如果您選擇的映像未執行最新版本的 WorkSpaces 應用程式代理程式，則會顯示 **WorkSpaces 應用程式**區段。在 **Agent version (代理程式版本)** 清單中，選取最新的代理程式版本。完成剩餘的步驟以建立映像建置器，然後連線到此映像建置器。如需詳細資訊，請參閱[啟動映像建置器以安裝和設定串流應用程式](tutorial-image-builder-create.md)。

1. 在映像建置器的桌面，開啟映像助理，然後依步驟建立新的映像。針對映像助理的 **Configure Image (設定映像)** 步驟，絕對不要選取 **Always use the latest agent version (一律使用最新的代理程式版本)**。如需詳細資訊，請參閱[教學課程：使用 WorkSpaces 應用程式主控台建立自訂 WorkSpaces 應用程式映像](tutorial-image-builder.md)。

   如果您稍後決定一律使用最新版本的 WorkSpaces 應用程式代理程式，則必須建立新的映像並選取該選項。

1. 建立新的機群或修改現有的機群。當您設定機群時，請選取您建立的新映像。如需詳細資訊，請參閱[建立 Amazon WorkSpaces 應用程式機群和堆疊](set-up-stacks-fleets.md)。

1. 建立新堆疊或修改現有的堆疊，並建立其與您機群的關聯。

1. 連線到您的機群，測試您的應用程式相容性。

# WorkSpaces 應用程式代理程式版本備註
<a name="agent-software-versions"></a>

Amazon WorkSpaces 應用程式代理程式軟體會在您的串流執行個體上執行，讓使用者能夠連線到並啟動串流應用程式。從 2017 年 12 月 7 日開始，您的串流執行個體可以透過最新的功能、效能改善和安全性更新來自動更新 AWS。在 2017 年 12 月 7 日之前，代理程式更新是隨附於新的基礎映像版本中。

若要使用最新的 WorkSpaces 應用程式代理程式軟體，您需要使用 AWS 於 2017 年 12 月 7 日或之後發佈的新基礎映像來重建映像。當您執行此作業時，根據預設，在映像助理中會選取啟用代理程式的自動更新。我們建議您將此選項維持在選取狀態，讓任何從您映像啟動的新映像建置器或機群執行個體一律使用最新版本的代理程式。如需詳細資訊，請參閱[教學課程：使用 WorkSpaces 應用程式主控台建立自訂 WorkSpaces 應用程式映像](tutorial-image-builder.md)。

下表說明適用於 Windows 執行個體的 WorkSpaces 應用程式代理程式發行版本中提供的最新更新。


| Amazon WorkSpaces 應用程式代理程式版本 | 變更 | 
| --- | --- | 
| 02-09-2026 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 02-04-2026 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-06-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-02-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-30-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 07-15-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-29-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 03-05-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 02-07-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-31-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-21-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-18-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-21-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 04-15-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 01-17-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-07-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-06-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-30-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-08-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 04-13-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 03-21-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-13-2022 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 06-20-2022 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 03-14-2022 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 02-21-2022 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-20-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-19-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 08-02-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 07-01-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 06-25-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-17-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 03-04-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-17-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 01-04-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-17-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-08-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-01-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 07-30-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-27-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 04-20-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 02-19-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2020/01/13 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 11-13-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-08-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2019 年 9 月 23 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-03-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 08-08-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 07-26-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2019 年 06 月 19 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2019 年 05 月 07 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2019 年 04 月 02 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2019 年 03 月 07 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2019 年 1 月 22 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2019 年 01 月 08 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 12 月 19 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 12 月 17 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 12 月 4 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 11 月 14 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 10 月 30 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 10 月 24 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 10 月 1 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 8 月 29 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 7 月 26 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 6 月 19 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 6 月 6 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 5 月 31 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 5 月 21 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 3 月 19 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2018 年 1 月 24 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2017 年 12 月 7 日 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/agent-software-versions.html)  | 

# 教學課程：使用 WorkSpaces 應用程式主控台建立自訂 WorkSpaces 應用程式映像
<a name="tutorial-image-builder"></a>

本教學課程說明如何建立以 Microsoft Windows Server 作業系統為基礎的 WorkSpaces 應用程式映像。如果您想要建立以 Amazon Linux 2、Rocky Linux 或 Red Hat Enterprise Linux 作業系統為基礎的自訂映像，請參閱 [教學課程：建立自訂 Linux 型 WorkSpaces 應用程式映像](tutorial-create-linux-image.md)。

在本教學課程中，您將了解如何建立自訂 Amazon WorkSpaces 應用程式映像，其中包含您可以串流給使用者的應用程式，以及預設應用程式和 Windows 設定，以讓使用者快速開始使用其應用程式。您必須已有映像建置器才能完成此教學。如果沒有映像建置器，請參閱[啟動映像建置器以安裝和設定串流應用程式](tutorial-image-builder-create.md)。

**重要**  
本教學包含適用於最新基礎映像版本的資訊。如需詳細資訊，請參閱[WorkSpaces 應用程式基礎映像和受管映像更新版本備註](base-image-version-history.md)。

**Topics**
+ [步驟 1：在映像建置器上安裝應用程式](#tutorial-image-builder-install)
+ [步驟 2：建立 WorkSpaces 應用程式應用程式目錄](#tutorial-image-builder-add)
+ [步驟 3：建立預設應用程式和 Windows 設定](#tutorial-image-builder-create-default-app-settings)
+ [步驟 4：測試應用程式](#tutorial-image-builder-test-applications)
+ [步驟 5：最佳化應用程式](#tutorial-image-builder-optimize)
+ [步驟 6：完成建立您的映像](#tutorial-image-builder-finish-create-image)
+ [步驟 7 (選用)：標記和複製映像](#tutorial-image-builder-tag-copy)
+ [步驟 8：清除](#tutorial-image-builder-finish)

## 步驟 1：在映像建置器上安裝應用程式
<a name="tutorial-image-builder-install"></a>

在此步驟中，您要連線映像建置器並在映像建置器上安裝您的應用程式。

**重要**  
若要完成此步驟，您必須使用本機**管理員**帳戶或具有本機管理員許可的網域帳戶登入映像建置器。請勿重新命名或刪除本機內建的 **Administrator (管理員)** 帳戶。如果您重新命名或刪除此帳戶，映像建置器將不會啟動，且映像建立將會失敗。

**在映像建置器上安裝應用程式**

1. 執行下列其中一項操作來連線至映像建置器：
   + [使用 WorkSpaces 應用程式主控台](managing-image-builders-connect-console.md) （僅適用於 Web 連線）
   + [建立串流 URL](managing-image-builders-connect-streaming-URL.md) （適用於 Web 或 WorkSpaces 應用程式用戶端連線）
**注意**  
如果您要連線的映像建置器已加入 Active Directory 網域，且您的組織需要智慧卡登入，您必須建立串流 URL，並使用 WorkSpaces 應用程式用戶端進行連線。如需智慧卡登入的相關資訊，請參閱 [智慧卡](feature-support-USB-devices-qualified.md#feature-support-USB-devices-qualified-smart-cards)。

1. 從應用程式網站或其他下載來源安裝應用程式。請先安裝您想要的應用程式，再進行下一步。
**注意**  
只從您信任的網站下載並安裝應用程式。

   如果應用程式需要重新啟動 Windows 作業系統，請允許此操作。重新啟動作業系統之前，您已中斷與映像建置器的連線。重新啟動完成後，請再次連線到映像建置器，然後完成安裝應用程式。

## 步驟 2：建立 WorkSpaces 應用程式應用程式目錄
<a name="tutorial-image-builder-add"></a>

在此步驟中，為映像指定應用程式 (.*exe*)、批次指令碼 (.*bat*) 和應用程式捷徑 (.*lnk*)，以建立 WorkSpaces 應用程式目錄。針對您計劃串流的每個應用程式，您可以指定名稱、顯示名稱、要啟動的可執行檔和要顯示的圖示。如果您選擇應用程式捷徑，系統會為您填入這些值。

**重要**  
若要完成此步驟，您必須使用本機**管理員**帳戶或具有本機管理員許可的網域帳戶登入映像建置器。

**建立 WorkSpaces 應用程式目錄**

1. 從映像建置器桌面開啟映像助理。映像助理會引導您完成映像建立程序。  
![\[Row of icons representing different functions in Image Assistant interface.\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/images/Image-Builder-Desktop-Image-Assistant.png)

1. 在 **1. 新增應用程式**中，選擇 **\$1 新增應用程式**，並導覽至要新增的應用程式、指令碼或捷徑的位置。選擇 **Open** (開啟)。

1. 在 **App Launch Settings (應用程式啟動設定)** 對話方塊中，保留或更改 **Name (名稱)**、**Display Name (顯示名稱)** 和 **Icon Path (圖示路徑)** 的預設設定。或者，您也可以指定啟動參數 (當應用程式啟動時傳遞到應用程式的其他引數) 和應用程式的工作目錄。完成後，選擇**儲存**。

   **Display Name (顯示名稱)** 和 **Icon Path (圖示路徑)** 設定決定應用程式型錄如何顯示您應用程式的名稱和圖示。目錄會在使用者登入 WorkSpaces 應用程式串流工作階段時顯示。

1. 在映像助理中為每個應用程式重複步驟 2 和 3，確認應用程式顯示在 **Add Apps (新增應用程式)** 標籤中。完成後，請選擇 **Next (下一步)** 繼續使用映像助理建立您的映像。

## 步驟 3：建立預設應用程式和 Windows 設定
<a name="tutorial-image-builder-create-default-app-settings"></a>

在此步驟中，您會為 WorkSpaces 應用程式使用者建立預設應用程式和 Windows 設定。這樣做可讓您的使用者在 WorkSpaces 應用程式串流工作階段期間快速開始使用應用程式，而不需要自行建立或設定這些設定。

**重要**  
若要完成此步驟，您必須使用本機 **Template User (範本使用者)** 帳戶或不具有本機管理員許可的網域使用者帳戶登入映像建置器。

**為您的使用者建立預設的應用程式和 Windows 設定**

1. 在映像助理的 **2. 設定應用程式**中，選擇**切換使用者**。這會中斷您目前工作階段的連線，顯示登入選單。

1. 執行下列任何一項：
   + 如果您的映像建置器未加入 Active Directory 網域，請在 **Local User (本機使用者)** 標籤上，選擇 **Template User (範本使用者)**。此帳戶能讓您建立預設的應用程式和 Windows 設定。
   + 如果您的映像建置器已加入 Active Directory 網域，請選擇 **Directory User (目錄使用者)**，然後以沒有本機管理員許可的網域使用者身分登入。

1. 從映像建置器桌面開啟映像助理，這會顯示您在建立應用程式型錄時新增的應用程式。

1. 選擇您要建立預設應用程式設定的應用程式。

1. 在應用程式開啟後，視需要建立這些設定。

1. 完成後，請關閉應用程式，返回映像助理。

1. 如在映像助理中已指定多項應用程式，請視需要為每項應用程式重複步驟 4 到 6。

1. 如想要預設的 Windows 設定，請立即建立。完成後，返回映像助理。

1. 選擇 **Switch user (切換使用者)** 並使用建立應用程式型錄的同一帳戶登入 (具有本機管理員許可的帳戶)。

1. 在映像助理的 **2. 設定應用程式**中，執行下列任一項操作：
   + 如果您的映像建置器未加入 Active Directory 網域，請選擇 **Save settings (儲存設定)**。
   + 如果您的映像建置器已加入 Active Directory 網域，請在 **Choose which user settings to copy (選擇要複製的使用者設定)** 清單中，選擇建立預設應用程式和 Windows 設定時用以登入映像建置器的同一帳戶，然後選擇 **Save settings (儲存設定)**。

     **選擇要複製的設定**清單會顯示目前已將設定儲存在映像建置器的任何帳戶。

1. 完成後，請選擇 **Next (下一步)** 繼續建立您的映像。

## 步驟 4：測試應用程式
<a name="tutorial-image-builder-test-applications"></a>

在此步驟中，驗證您已新增的應用程式可正確開啟，並如預期執行。若要執行此作業，請以和您的使用者擁有相同許可的使用者身分啟動新的 Windows 工作階段。

**重要**  
若要完成此步驟，您必須使用**測試使用者**帳戶或未具備本機管理員許可的網域帳戶登入映像建置器。

**測試您的應用程式**

1. 在映像助理的 **3. 測試**中，執行下列任一項操作：
   + 如果您的映像建置器未加入 Active Directory 網域，請選擇 **Switch user (切換使用者)**。
   + 如果您的映像建置器已加入 Active Directory 網域，您需要有網域帳戶才能測試您的應用程式，且該使用者在映像建置器上已有設定，您必須為該使用者重設應用程式設定。若要執行此作業，請從 **User to reset (要重設的使用者)** 清單選取使用者，然後選擇 **Reset (重設)**。完成時，請選擇 **Switch user (切換使用者)**。
**注意**  
如果您的映像建置器是新的，且未有任何使用者在此映像建置器上建立設定，則清單不會顯示任何使用者。

1. 執行下列任一項操作，以選擇要用於測試的使用者：
   + 如果您的映像建置器未加入 Active Directory 網域，請選擇 **Test User (測試使用者)**。這個帳戶可讓您使用和您使用者相同的政策和許可，測試您的應用程式。
   + 如果您的映像建置器已加入 Active Directory 網域，請選擇**目錄使用者**，指定未具備本機管理員許可的網域帳戶憑證，然後選擇**登入**。

1. 從映像建置器桌面開啟映像助理，這會顯示您在建立應用程式型錄時指定的應用程式。

1. 選擇您要測試的應用程式，確認它可正確開啟，並套用您建立的所有預設應用程式設定。

1. 在應用程式開啟後，視需要測試應用程式。完成後，請關閉應用程式，返回映像助理。

1. 如在映像助理中已指定多項應用程式，請視需要重複步驟 4 到 5 測試每項應用程式。

1. 完成後，請選擇 **Switch user (切換使用者)**，然後執行下列兩項作業的其中一項：
   + 如果您的映像建置器未加入 Active Directory 網域，請在 **Local User (本機使用者)** 標籤上，選擇 **Administrator (管理員)**。
   + 如果您的映像建置已加入 Active Directory 網域，而您以具有本機管理員許可的網域使用者身分登入，在映像助理中指定應用程式，請以該使用者身分登入。

1. 請選擇 **Next (下一步)** 繼續建立您的映像。

## 步驟 5：最佳化應用程式
<a name="tutorial-image-builder-optimize"></a>

在此步驟中，映像助理會一個接一個地開啟您的應用程式，識別其啟動相依性，並執行最佳化以確保應用程式能快速啟動。這些是對清單中所有應用程式執行的必要步驟。

**最佳化您的應用程式**

1. 在映像助理的 **4. 最佳化**中，選擇**啟動**。

1. WorkSpaces 應用程式會自動啟動清單中的第一個應用程式。當應用程式完全啟動時，請提供任何必要的輸入以執行該應用程式的初次執行體驗。例如，Web 瀏覽器可能會在完全啟動及執行前，提示您匯入設定。

1. 當您完成初次執行體驗並確認證應用程式如預期執行後，請選擇 **Continue (繼續)**。如已將多個應用程式新增到您的映像，則每個應用程式都會自動開啟。視需要為每個應用程式重複此步驟，讓所有應用程式保持執行。

1. 完成後，即會自動顯示映像助理的下一個索引標籤 **5. 設定映像**。

## 步驟 6：完成建立您的映像
<a name="tutorial-image-builder-finish-create-image"></a>

在此步驟中，選擇映像名稱以及完成建立您的映像。

**建立映像**

1. 輸入唯一的映像名稱，以及選用的映像顯示名稱和描述。映像名稱的開頭不能是 "Amazon"、"AWS" 或 "AppStream"。

   您也可以將一或多個標籤新增到映像。若要這麼做，請選擇 **Add Tag (新增標籤)**，然後輸入標籤的索引鍵和值。若要新增更多標籤，請重複此步驟。如需詳細資訊，請參閱[標記 Amazon WorkSpaces 應用程式資源](tagging-basic.md)。完成後，請選擇 **Next (下一步)**。
**注意**  
如果您選擇 AWS 於 2017 年 12 月 7 日或之後發佈的基本映像，則會顯示**一律使用最新代理程式版本**選項，預設為選取。建議您保持選取此選項，以便從該映像啟動的串流執行個體一律使用最新版的代理程式。如果停用此選項，就無法在映像建立完成後再次啟用它。如需 WorkSpaces 應用程式代理程式最新版本的相關資訊，請參閱 [WorkSpaces 應用程式代理程式版本備註](agent-software-versions.md)。

1. 在 **6. 檢閱**中，驗證映像的詳細資訊。若要變更，請選擇 **Previous (上一步)** 導覽到適當的映像助理標籤執行變更，然後視需要逐步完成映像助理的步驟。

1. 完成檢閱映像詳細資訊之後，請選擇 **Disconnect and Create Image (中斷連線並建立映像)**。

1. 遠端工作階段會在數分鐘內中斷連線。當 **Lost Connectivity (遺失連線)** 訊息出現時，請關閉瀏覽器標籤。雖然已建立映像，但映像建置器狀態顯示為 **Snapshotting (正在建立快照)**。在此程序完成前，您無法連線到映像建置器。

1. 請返回主控台並導覽至 **Images (映像)**、**Image Registry (映像登錄)**。確認您的新映像出現在清單中。

   建立映像時，主控台映像登錄所顯示的映像狀態為 **Pending (待定)**，而您無法連線到映像。

1. 請定期選擇 **Refresh (重新整理)** 圖示以更新狀態。映像建立之後，映像狀態會變更為 **Available (可用)**，然後映像建置器會自動停止。

    若要繼續建立映像，請啟動映像建置器並從主控台連線，或建立新的映像建置器。

**注意**  
建立新映像後，您必須負責維護 Windows 作業系統的更新。若要這樣做，您可以使用受管 WorkSpaces 應用程式映像更新。您也必須負責維護您的應用程式及其相依項目的更新。如需詳細資訊，請參閱[讓您的 Amazon WorkSpaces 應用程式映像保持在Up-to-Date狀態](keep-image-updated.md)。  
若要新增其他應用程式、更新現有的應用程式，或變更映像設定，您必須啟動之前用來建立映像的映像建置器，並重新連線。或者，如果您已刪除該映像建置器，請根據您的映像啟動新的映像建置器。接著，進行變更並建立新的映像。

## 步驟 7 (選用)：標記和複製映像
<a name="tutorial-image-builder-tag-copy"></a>

您可以在映像建立期間或建立映像之後，將一或多個標籤新增到映像。您也可以複製相同區域內的映像，或將映像複製到同一 Amazon Web Services 帳戶內的新區域。複製來源映像會產生相同但不同的目的地映像。 不過， AWS 不會複製任何使用者定義的標籤。此外，您只能複製您建立的自訂映像，不能複製 AWS提供的基礎映像。

**注意**  
一次最多只能將兩個映像複製到目標。如果映像複製目標達到映像限制，您會收到錯誤。若要在這種情況下複製映像，您必須先移除目標中的映像。當目標低於映像配額 (也稱為限制) 後，請從來源區域啟動映像複製。如需詳細資訊，請參閱[Amazon WorkSpaces 應用程式Service Quotas](limits.md)。

**將標籤新增至現有的映像**

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選取您要新增標籤的映像。

1. 選擇 **Tags (標籤)**、**Add/Edit Tags (新增/編輯標籤)**、**Add Tag (新增標籤)**，指定標籤的鍵和值，然後選擇 **Save (儲存)**。

如需詳細資訊，請參閱[標記 Amazon WorkSpaces 應用程式資源](tagging-basic.md)。

**複製映像**

跨地理不同區域複製映像可讓您根據同一映像從多個區域串流應用程式。透過以更接近使用者的方式串流應用程式，您可以改善使用者使用 WorkSpaces 應用程式串流應用程式的體驗。

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選取您要複製的映像。

1. 選擇 **Actions (動作)**、**Copy (複製)**。

1. 在 **Copy Image (複製映像)** 對話方塊中，指定下列資訊，然後選擇 **Copy Image (複製映像)**：
   + 針對 **Destination region (目標區域)**，選擇要放入複製新映像的區域。
   + 針對 **Name (名稱)**，指定映像複製到目標時會有的名稱。
   + 針對 **Description (描述)** (選用)，指定映像複製到目標時會有的描述。

1. 若要查看複製操作的進度，請返回主控台並導覽至 **Images (映像)**、**Image Registry (映像登錄)**。使用導覽列切換到目標區域 (如果適用)，確認您的新映像出現在映像清單中。

   新映像一開始出現在您主控台映像登錄中的狀態為 **Copying (正在複製)**。成功建立映像之後，映像狀態會變更為 **Available (可用)**，這表示您可以使用此映像啟動堆疊以及串流應用程式。

## 步驟 8：清除
<a name="tutorial-image-builder-finish"></a>

最後，停止執行中的映像建置器釋出資源，以免您的帳戶不小心產生費用。建議停止任何未使用的執行中映像建置器。如需詳細資訊，請參閱 [WorkSpaces 應用程式定價](https://aws.amazon.com/appstream2/pricing/)。

**停止執行中的映像建置器**

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Builders (映像建置器)**，然後選取執行中的映像建置器執行個體。

1. 選擇 **Actions (動作)**、**Stop (停止)**。

# 管理您的 Amazon WorkSpaces 應用程式映像
<a name="administer-images"></a>

可用的映像會列在 WorkSpaces 應用程式主控台的**映像登錄**檔中，並依可見性分類，如下所示：
+ **公**有 — 由 擁有和提供的基本映像 AWS。基礎映像包括最新的 Windows 作業系統和 WorkSpaces 應用程式代理程式軟體。您可以使用這些基礎映像來建立包含您自己應用程式的新映像。如需 發行之基礎映像的相關資訊 AWS，請參閱 [WorkSpaces 應用程式基礎映像和受管映像更新版本備註](base-image-version-history.md)。
+ **私有** – 您建立和擁有，且尚未與其他 AWS 帳戶共用的影像。
+ **與他人共用** — 您建立和擁有的映像，以及您已與相同 AWS 區域中的一或多個 AWS 帳戶共用的映像。當您與其他 AWS 帳戶共用映像時，您可以指定映像是否可用於映像建置器 （建立新映像）、機群，或兩者。
+ **與我共用** — 由相同 AWS 區域中的另一個 AWS 帳戶建立和擁有的影像，以及與 AWS 您的帳戶共用的影像。根據擁有者在與您帳戶共享映像時所提供的許可，您可以將此映像用於映像建置器、機群或兩者皆可。

**Topics**
+ [在 Amazon WorkSpaces 應用程式中刪除私有映像](delete-private-image.md)
+ [將您擁有的映像複製到 Amazon WorkSpaces 應用程式中的另一個 AWS 區域](copy-image-different-region.md)
+ [與 Amazon WorkSpaces 應用程式中的另一個 AWS 帳戶共用您擁有的映像](share-image-with-another-account.md)
+ [停止共用您在 Amazon WorkSpaces 應用程式中擁有的映像](stop-sharing-image-with-all-accounts.md)
+ [讓您的 Amazon WorkSpaces 應用程式映像保持在Up-to-Date狀態](keep-image-updated.md)
+ [Amazon WorkSpaces 應用程式上的 Windows 更新和防毒軟體](windows-update-antivirus-software.md)
+ [在 Amazon WorkSpaces 應用程式中以程式設計方式建立新映像](create-image-programmatically.md)
+ [在 Amazon WorkSpaces 應用程式中管理映像上包含授權的應用程式](license-included-applications.md)
+ [匯入映像](import-image.md)
+ [匯出映像](export-image.md)

# 在 Amazon WorkSpaces 應用程式中刪除私有映像
<a name="delete-private-image"></a>

您可以在不再需要時刪除您的私有映像。您無法刪除機群使用或與其他 AWS 帳戶共用的映像。若要刪除由機群使用或共享的映像，您必須先將該映像從任何機群中移除，並移除映像共享許可。在您刪除映像後，便無法復原。

**刪除私有映像**

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選取您要刪除的私有映像。

1. 選擇**動作**、**刪除**，然後再次選擇**刪除**。

   映像會從映像登錄中移除並刪除。

# 將您擁有的映像複製到 Amazon WorkSpaces 應用程式中的另一個 AWS 區域
<a name="copy-image-different-region"></a>

**重要**  
對於亞太區域 （馬來西亞）、歐洲 （米蘭）、歐洲 （西班牙） 和以色列 （特拉維夫） AWS 區域：僅在 2025 年 10 月 2 日當天或之後發行的 WorkSpaces 應用程式代理程式版本，或使用 2025 年 9 月 5 日當天或之後發行的受管更新的影像，才支援跨區域映像複製。較舊的版本不符合區域之間的複製資格。更新您的映像以符合這些最低版本需求，以啟用跨區域複製功能。

您可以將您擁有的映像複製到另一個 AWS 區域。在不同的 AWS 區域使用相同的映像，有助於簡化 WorkSpaces 應用程式上的應用程式全域部署。透過在地理位置上最接近使用者 AWS 的區域部署應用程式，您可以協助為使用者提供回應能力更高的體驗。

**將您所擁有的映像複製到另一個 AWS 區域**

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選取您要複製到另一個 AWS 區域的映像。

1. 選擇 **Actions (動作)**、**Copy (複製)**。

1. 在**複製映像**對話方塊中，在**目的地區域中**，選取要複製映像 AWS 的區域。

1. 在 **Destination region (目標區域)** 中輸入唯一名稱及選擇性的映像描述。

1. 選擇 **Copy Image (複製映像)**。

# 與 Amazon WorkSpaces 應用程式中的另一個 AWS 帳戶共用您擁有的映像
<a name="share-image-with-another-account"></a>

WorkSpaces 應用程式映像是區域資源，因此您可以與相同區域內的其他 AWS 帳戶共用您擁有的映像 AWS 。這樣做有助於數種不同的案例。例如，如果您使用不同的 AWS 帳戶來區隔開發和生產資源，則可以使用開發帳戶來建立映像。然後再與您的生產帳戶共享映像。若您的組織是獨立軟體開發廠商 (ISV)，您可以與您的客戶共享最佳化的映像。已安裝必要應用程式並經過設定的最佳化映像，可讓您的客戶快速開始使用您的應用程式，而無須自行安裝及設定這些應用程式。

當您與其他 AWS 帳戶共用映像時，您可以指定目的地帳戶是否可以在機群中使用映像，或透過建立映像建置器來建立新的映像。您會繼續擁有您所共享的映像。透過這種方式，您可以針對共享的映像視需要新增、變更或移除許可。

若您和一個帳戶共享映像，並授予該帳戶機群許可，共享的映像便可用來建立或更新該帳戶中的機群。若您稍後移除這些許可，帳戶便無法繼續使用映像。針對使用共享映像帳戶中的機群，所需容量會設為 0，防止建立新的機群執行個體。現有的工作階段會繼續執行，直到串流工作階段結束。若要建立新的機群執行個體，該帳戶中的機群必須使用有效的映像進行更新。

若您和一個帳戶共享映像，並授予該帳戶映像建置器許可，共享的映像便可用來在該帳戶中建立映像建置器和映像。若您稍後移除這些許可，從您映像建立的映像建置器和映像將不會受到影響。

**重要**  
在您和一個帳戶共享映像後，您便無法控制從您映像所建立帳戶中的映像建置器或映像。因此，請只在您希望讓帳戶複製您的映像，並在您停止共享映像後保留複本存取許可的情況下，再將映像建置器許可授予使用者帳戶。

**與其他 AWS 帳戶共用您擁有的映像**

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選取您要共享的映像。

1. 選擇 **Actions (動作)**、**Share (共享)**。

1. 在 **Share image (共享映像)** 對話方塊中，選擇 **Add account (新增帳戶)**。

1. 輸入您要與其共用映像之帳戶的 12 位數 AWS 帳戶 ID，然後選取該帳戶是否可以執行下列其中一項或兩項操作：
   + 若您希望建立新的映像，請使用映像來啟動映像建置器。
   + 搭配機群使用映像。

   若要從共享映像的帳戶清單中移除帳戶，請在您要移除帳戶的列中，選擇 **Use for fleet (用於機群)** 選項右側的 X 圖示。

1. 若要與更多 AWS 帳戶共用映像，請針對您要共用映像的每個帳戶重複步驟 6。

1. 選擇 **Share Image (共享映像)**。

**新增或更新您所擁有映像的映像共享許可**

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選取您要變更其許可的映像。

1. 在下方映像清單中，選擇您所選取映像的 **Permissions (許可)** 標籤，然後選擇 **Edit (編輯)**。

1. 在**編輯影像許可**對話方塊中，視需要為一或多個 AWS 帳戶選取或清除下列其中一個影像共用選項。若您為某個帳戶同時清除兩個選項，映像便會不再與該帳戶共享。
   + 若您希望建立新的映像，請使用映像來啟動映像建置器。
   + 搭配機群使用映像。

   若要從共享映像的帳戶清單中移除帳戶，請在您要移除帳戶的列中，選擇 **Use for fleet (用於機群)** 選項右側的 X 圖示。

1. 若要編輯更多 AWS 帳戶的影像共用許可，請針對您要更新許可的每個帳戶重複步驟 5。

1. 選擇 **Update image sharing permissions (更新映像共享許可)**。

# 停止共用您在 Amazon WorkSpaces 應用程式中擁有的映像
<a name="stop-sharing-image-with-all-accounts"></a>

請依照下列步驟，停止與任何其他 AWS 帳戶共用您擁有的映像。

**停止與任何其他 AWS 帳戶共用您擁有的映像**

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選取您要變更其許可的映像。

1. 在下方映像清單中，選擇您所選取映像的 **Permissions (許可)** 標籤，然後選擇 **Edit (編輯)**。

1. 在**編輯映像許可**對話方塊中，針對共用映像的所有 AWS 帳戶，選擇**機群使用**選項右側的 X 圖示。

1. 選擇 **Update image sharing permissions (更新映像共享許可)**。

# 讓您的 Amazon WorkSpaces 應用程式映像保持在Up-to-Date狀態
<a name="keep-image-updated"></a>

您可以執行下列任一動作，讓 WorkSpaces 應用程式映像保持在up-to-date：
+ [使用受管 WorkSpaces 應用程式映像更新來更新映像](keep-image-updated-managed-image-updates.md) – 此更新方法提供最新的作業系統更新和驅動程式更新，以及最新的 WorkSpaces 應用程式代理程式軟體。
+ [使用受管 WorkSpaces 應用程式代理程式版本更新 WorkSpaces 應用程式代理程式軟體](keep-image-updated-manage-image-versions.md) – 此更新方法提供最新的 WorkSpaces 應用程式代理程式軟體。

# 使用受管 WorkSpaces 應用程式映像更新來更新映像
<a name="keep-image-updated-managed-image-updates"></a>

WorkSpaces 應用程式提供透過最新的作業系統更新、包含應用程式更新的授權、驅動程式更新和 WorkSpaces 應用程式代理程式軟體來更新映像的自動化方式。透過受管 WorkSpaces 應用程式映像更新，您可以選取要更新的映像。WorkSpaces 應用程式會在相同的 AWS 帳戶和區域中建立映像建置器，以安裝更新並建立新的映像。建立新映像之後，您可以在生產前機群上進行測試，然後再更新生產機群或與其他 AWS 帳戶共用映像。

**注意**  
Managed WorkSpaces 應用程式映像更新適用於 Microsoft Windows Server、Red Hat Enterprise Linux 和 Rocky Linux 作業系統。

**注意**  
建立新映像之後，您需負責維護作業系統的更新。若要這樣做，您可以繼續使用受管 WorkSpaces 應用程式映像更新。  
您負責維護 Amazon EC2 Windows Paravirtual (PV) 驅動程式、EMA 驅動程式和 AWS NVMe 驅動程式的更新。如需如何更新驅動程式的詳細資訊，請參閱[管理 EC2 執行個體的裝置驅動程式](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-device-drivers.html)。  
您也必須負責維護您的應用程式及其相依項目。若要新增其他應用程式、更新現有的應用程式，或變更映像設定，您必須啟動之前用來建立映像的映像建置器，並重新連線。或者，如果您已刪除該映像建置器，請根據您的映像啟動新的映像建置器。接著，進行變更並建立新的映像。

## 先決條件
<a name="keep-image-updated-managed-image-updates-prerequisites"></a>

以下是使用受管映像更新的先決條件和考量事項。
+ 請確定您的 WorkSpaces 應用程式帳戶配額 （也稱為限制） 足以支援建立新的映像建置器和新映像。若要請求增加配額，您可以使用 Service Quotas 主控台，位於 [https://console.aws.amazon.com/servicequotas/](https://console.aws.amazon.com/servicequotas/)。如需預設 WorkSpaces 應用程式配額的詳細資訊，請參閱 [Amazon WorkSpaces 應用程式Service Quotas](limits.md)。
+ 您必須擁有您更新的映像。您無法更新與您共用的映像。
+ 當 WorkSpaces 應用程式建立映像建置器來安裝最新的作業系統更新、驅動程式更新和 WorkSpaces 應用程式代理程式軟體，並建立新的映像時，您需要支付映像建置器執行個體更新的費用。
+ 支援的映像必須是從 2017-07-24T00:00:00Z 或以後發行的基礎映像建立。
+ 支援的顯示語言為英文和日文。如需詳細資訊，請參閱[指定預設的顯示語言](configure-default-display-language.md)。
+ 使用最新版 SSM 代理程式。如需版本資訊，請參閱[WorkSpaces 應用程式基礎映像和受管映像更新版本備註](base-image-version-history.md)。如需安裝資訊，請參閱[在適用於 Windows Server 的 EC2 執行個體上手動安裝 SSM 代理程式](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-win.html)。

## 如何使用受管 WorkSpaces 應用程式映像更新來更新映像
<a name="keep-image-updated-managed-image-updates-how-to-update-image"></a>

若要使用最新的修補程式、驅動程式更新和 WorkSpaces 應用程式代理程式軟體來更新 WorkSpaces 應用程式映像，請執行下列步驟。

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選擇您要更新的映像。確認映像的狀態為**可用**。

1. 選擇**動作**、**更新**。

1. 在**更新映像**對話方塊中，執行下列操作：
   + 在**新映像名稱**中，輸入 AWS 帳戶和區域中唯一的映像名稱。映像名稱的開頭不能是 "Amazon"、"AWS" 或 "AppStream"。
   + 針對**新映像顯示名稱**，您可以選擇性地輸入該映像要顯示的名稱。
   + 針對**新映像說明**，您可以選擇性地提供映像的說明。
   + 針對**標籤**，您可以選擇**新增標籤**，然後輸入標籤的索引鍵和值。若要新增更多標籤，請重複此步驟。如需詳細資訊，請參閱[標記 Amazon WorkSpaces 應用程式資源](tagging-basic.md)。

1. 選擇**更新映像**。

   如果您目前的映象已是最新的，則會出現訊息通知您。

1. 在導覽窗格中，選擇**映像**，然後選擇**映像建置器**。

1. 在映像建置器清單中，確認新的映像建置器顯示為**更新中**狀態。映像建置器的名稱包含隨機的 10 位數字尾碼。

   映像建置器是您在步驟 5 中為新映像選擇的執行個體系列中最小的大小。不會指定任何子網路，因為映像建置器並未連接至您的虛擬私有雲端 (VPC)。

1. 選擇**映像登錄檔**，並確認您的新映像出現在清單中。

   建立映像時，主控台的映像登錄檔中所顯示的映像狀態為**建立中**。

1. 建立映像之後，WorkSpaces 應用程式會執行資格程序來驗證映像是否如預期般運作。

   在此期間，映像建置器 (也會用於此程序) 會出現在**映像建置器**清單中，且其狀態為**待限定**。

1. 資格驗證程序順利完成後，控制台頂端會出現**成功**訊息，且映像登錄檔中的映像狀態會顯示為**可用**。

   此外，WorkSpaces 應用程式建立的映像建置器會自動刪除。
**注意**  
根據作業系統更新的數量，可能需要數小時才能完成映像更新。如果發生問題造成映像無法更新，映像名稱旁會出現帶有驚嘆號的紅色圖示，且映像登錄檔中的映像狀態會顯示為**失敗**。如果發生這種情況，請選取映像，選擇**通知**索引標籤，然後檢閱任何錯誤通知。如需詳細資訊，請參閱文件的 [映像內部服務](troubleshooting-notification-codes.md#troubleshooting-notification-codes-image) 一節中的資訊，以進行通知代碼故障診斷。  
如果資格程序不成功，WorkSpaces 應用程式建立的映像建置器仍會自動刪除。

1. WorkSpaces 應用程式建立新映像後，請在生產前機群上測試映像。在驗證您的應用程式能如預期作用之後，請以新的映像更新生產機群。

# 使用受管 WorkSpaces 應用程式代理程式版本更新 WorkSpaces 應用程式代理程式軟體
<a name="keep-image-updated-manage-image-versions"></a>

WorkSpaces 應用程式提供使用較新的 WorkSpaces 應用程式代理程式軟體更新映像建置器的自動化方式。這樣可讓您在每當有新版的代理程式發行時建立新的映像。然後，您可以先測試映像，再更新生產機群。如需如何管理 WorkSpaces 應用程式代理程式軟體的詳細資訊，請參閱 [管理 WorkSpaces 應用程式代理程式版本](base-images-agent.md)。

**注意**  
您需負責安裝和維護 Windows 作業系統的更新、您的應用程式和其相依項目。

若要使用最新的 Windows 作業系統更新來保持 WorkSpaces 應用程式映像的更新，請執行下列其中一項操作：
+ 每次有新的映像發行時，將您的應用程式安裝在最新的基本映像。
+ 在現有的映像建置器上安裝 Windows 作業系統的更新、您的應用程式和其相依性。
+ 從現有的映像，在新的映像建置器上安裝 Windows 作業系統的更新、您的應用程式和其相依性。

使用最新的 Windows 作業系統、應用程式及其相依性，以及 WorkSpaces 應用程式代理程式軟體建立新的映像之後，請在開發機群上測試映像。在驗證您的應用程式能如預期作用之後，請以新的映像更新生產機群。

# Amazon WorkSpaces 應用程式上的 Windows 更新和防毒軟體
<a name="windows-update-antivirus-software"></a>

WorkSpaces 應用程式串流執行個體是非持久性的。當使用者串流工作階段結束時，WorkSpaces 應用程式會終止工作階段使用的執行個體，並根據您的擴展政策，佈建新的執行個體來取代機群中的執行個體。所有機群執行個體都是從同一映像佈建。因為映像在建立之後無法進行變更，所以使用者串流工作階段中所使用的全部機群執行個體只會進行 Windows 更新，以及映像建立時安裝在基礎映像中之應用程式的更新。此外，由於用於串流工作階段的機群執行個體會在工作階段結束時終止，因此在串流工作階段期間對 Windows 或執行個體上之應用程式所做的任何更新，一概不會保留用於同一位使用者或其他使用者的日後工作階段。

**注意**  
如果您為堆疊啟用應用程式設定持久性，如果這些組態變更存放在使用者的 Windows 設定檔中，則 WorkSpaces 應用程式會將使用者對相同使用者未來工作階段所做的 Windows 和應用程式組態變更持續存在。不過，應用程式設定持續性功能只會保留 Windows 和應用程式組態設定。串流執行個體不會保留 Windows 或應用程式軟體更新。

基於這些原因，WorkSpaces 應用程式會對 WorkSpaces 應用程式執行個體上的 Windows Update 和防毒軟體採取下列方法。

## Windows 更新
<a name="windows-update-antivirus-software-wu"></a>

WorkSpaces 應用程式基礎映像上預設不會啟用 Windows Update。如果您先在映像建置器上啟用 Windows Update，然後嘗試建立映像，則在映像建立程序期間，映像助理將會顯示警告並停用 Windows Update。為確保您的機群執行個體已安裝最新的 Windows 更新，我們建議您在映像建置器上安裝 Windows 更新、建立新的映像，並且定期使用新映像來更新機群。

## 防毒軟體
<a name="windows-update-antivirus-software-av"></a>

如果您選擇在映像上安裝防毒軟體，建議您不要啟用防毒軟體的自動更新。否則在使用者工作階段期間，防毒軟體可能會試圖以最新定義檔或其他更新來自我更新。而這可能會影響效能。此外，目前使用者工作階段結束之後，防毒軟體的任何更新就不存在了。為了確保您的機群執行個體隨時擁有最新的防毒更新，建議您執行下列其中一項動作：
+ 定期更新您的映像建置器並建立新的映像 (例如，使用 [映像助理 CLI 操作](https://docs.aws.amazon.com/appstream2/latest/developerguide/programmatically-create-image.html))。
+ 使用會將掃描或其他作業委派給永遠是最新版本之外部伺服器的防毒軟體。

**注意**  
即使您的防毒軟體未啟用自動更新，防毒軟體仍可能會執行硬碟掃描或其他操作，進而影響到使用者工作階段期間的機群執行個體效能。

在 2019 年 9 月 10 日或之後發佈的 WorkSpaces 應用程式 Windows Server 2025/2022/2019/2016 基礎映像上，預設不會啟用 Windows Defender。在 2019 年 6 月 24 日發佈的 WorkSpaces 應用程式 Windows Server 2016 和 Windows Server 2019 基礎映像上，Windows Defender 預設為啟用。

**手動啟用 Windows Defender**

如果您的基礎映像上未啟用 Windows Defender，則可以手動加以啟用。若要這樣做，請完成下列步驟。

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在左側導覽窗格中，選擇 **Images (映像)**、**Image Builder (映像建置器)**。

1. 選擇要在其上啟用 Windows Defender 的映像建置器、確認其處於 **Running (執行中)** 狀態，然後選擇 **Connect (連線)**。

1. 使用本機**管理員**帳戶或具有本機管理員許可的網域帳戶登入映像建置器。

1. 開啟登錄編輯程式。

1. 導覽至登錄中的下列位置：**HKLM\$1SOFTWARE\$1Policies\$1Microsoft\$1Windows Defender\$1DisableAntiSpyware**。

1. 若要編輯此登錄機碼，請按兩下，或在登錄機碼上按一下滑鼠右鍵，然後選擇 **Modify (修改)**。

1. 在 **Edit DWORD (32-bit) Value (編輯 DWORD (32 位元) 值)** 對話方塊中的 **Value data (數值資料)** 中，將 **1** 變更為 **0**。

1. 選擇**確定**。

1. 關閉登錄編輯程式。

1. 開啟 Microsoft Management Console (MMC) **Services (服務)** 嵌入式管理單元 (`services.msc`)。

1. 在 服務清單中，執行下列其中一項操作。

   如果您使用的是 Microsoft Windows Server 2022/2025，請執行下列其中一項操作：
   + 在 **Microsoft Defender Antivirus Service** 上按一下滑鼠右鍵，然後選擇**開始**。
   + 按兩下 **Microsoft Defender Antivirus Service**，在屬性對話方塊中選擇**開始**，然後選擇**確定**。

   如果您使用的是 Microsoft Windows Server 2019 或 2016，請執行下列其中一項操作：
   + 在 **Windows Defender Antivirus Service (Windows Defender 防毒服務)** 上按一下滑鼠右鍵，然後選擇 **Start (啟動)**。
   + 按兩下 **Windows Defender Antivirus Service (Windows Defender 防毒服務)**、選擇內容對話方塊中的 **Start (啟動)**，然後選擇 **OK (確定)**。

1. 關閉 **Services (服務)** 嵌入式管理單元。

# 在 Amazon WorkSpaces 應用程式中以程式設計方式建立新映像
<a name="create-image-programmatically"></a>

您可以連線至映像建置器並使用映像助理命令列界面 (CLI) 操作，以程式設計方式建立 WorkSpaces 應用程式映像。如需詳細資訊，請參閱[使用映像助理 CLI 操作，以程式設計方式建立 Amazon WorkSpaces 應用程式映像](programmatically-create-image.md)。

# 在 Amazon WorkSpaces 應用程式中管理映像上包含授權的應用程式
<a name="license-included-applications"></a>

您可以使用 WorkSpaces 應用程式串流下列包含 Microsoft 授權的應用程式。您可以在 Windows Image (Windows Image) 上安裝這些應用程式，使用此自訂映像來建立機群，然後串流這些應用程式。下列所有應用程式均提供 32 位元和 64 位元架構：
+ Microsoft Office LTSC Professional Plus 2021/2024
+ Microsoft Visio LTSC Professional 2021/2024
+ Microsoft Project Professional 2021/2024
+ Microsoft Office LTSC Standard 2021/2024
+ Microsoft Visio LTSC 標準 2021/2024
+ Microsoft Project Standard 2021/2024
**重要**  
Microsoft Office、Visio 和 Project 必須遵循相同的版本。例如，您無法將 2021 年應用程式與 2024 年應用程式混合。
Microsoft Office、Visio 和 Project 必須遵循相同的架構。例如，您無法將 32 位元應用程式與 64 位元應用程式混合。
Microsoft Windows Server 2019/2022/2025 支援 Microsoft Office、Visio 和 Project 2021 Standard/Professional 版本。Microsoft Windows Server 2022 和 2025 支援 Microsoft Office、Visio 和 Project 2024 Standard/Professional 版本。
若要啟用此功能，您必須使用 WorkSpaces 應用程式映像建置器，該建置器使用 2025 年 10 月 2 日當天或之後發行的 WorkSpaces 應用程式代理程式。如需詳細資訊，請參閱 [管理 WorkSpaces 應用程式代理程式版本](base-images-agent.md)。或者，您的映像必須使用 2025 年 10 月 3 日當天或之後發行的受管 WorkSpaces 應用程式映像更新。如需詳細資訊，請參閱[讓您的 Amazon WorkSpaces 應用程式映像保持在Up-to-Date狀態](keep-image-updated.md)。
連接埠 1688 上的傳出 TCP 必須在所有串流執行個體的管理網路界面上開啟。
透過具有一或多個授權應用程式的影像機群串流的所有使用者，無論使用量為何，這些應用程式都會每月計費。應用程式權利功能不會限制特定使用者的存取。
Image Builder 上包含的授權應用程式不會啟用，因為它們是基於管理用途而安裝的。當使用者透過機群執行個體串流時，就會發生啟用。

**Topics**
+ [檢視安裝在映像上的授權包含應用程式清單](view-list-image.md)
+ [檢視映像建置器上包含的授權應用程式清單](view-list-apps.md)
+ [安裝或解除安裝包含授權的應用程式](install-uninstall-apps.md)
+ [啟用映像建置器上包含授權應用程式的更新](updates-image-builder.md)
+ [使用 Powershell 啟用映像建置器上包含授權應用程式的更新](enable-updates-managed-powershell.md)
+ [使用 Managed Image Update 啟用映像建置器上包含授權應用程式的更新](enable-updates-managed.md)

# 檢視安裝在映像上的授權包含應用程式清單
<a name="view-list-image"></a>

**檢視安裝在映像上的授權包含應用程式清單**

若要檢視映像上安裝的授權包含應用程式清單，請依照下列步驟執行。

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 選擇左側導覽窗格中**的影像**和**影像登錄**索引標籤。

1. 選取影像，然後選擇**檢視詳細資訊**。

1. 檢閱**包含授權**之應用程式下所有已安裝應用程式的清單。

# 檢視映像建置器上包含的授權應用程式清單
<a name="view-list-apps"></a>

**檢視映像建置器上包含的授權應用程式清單**

若要檢視映像建置器上包含的授權應用程式清單，請遵循下列步驟。

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 選擇左側導覽窗格中**的影像**和**影像建置器**標籤。

1. 選取映像建置器，然後選擇**檢視詳細資訊**。

1. 在**包含授權**的應用程式下檢閱應用程式清單及其狀態。

# 安裝或解除安裝包含授權的應用程式
<a name="install-uninstall-apps"></a>

**安裝或解除安裝包含授權的應用程式**

若要在映像上安裝或解除安裝一或多個包含授權的應用程式 （含），請依照下列步驟執行。

1. 完成下列其中一個選項：
   + 啟動映像建置器並設定包含授權的應用程式。如需詳細資訊，請參閱[啟動映像建置器以安裝和設定串流應用程式](tutorial-image-builder-create.md)。
   + 管理映像建置器上包含的授權應用程式。如需詳細資訊，請參閱[使用第三方 SAML 2.0 身分提供者的屬性型應用程式權利](application-entitlements-saml.md)。

1. 當您使用一或多個包含授權的應用程式建立映像時，您可以使用此映像來建立機群。連線至此機群的使用者可以存取這些應用程式。
**重要**  
所有透過具有一或多個授權應用程式的映像機群串流的使用者，無論使用量為何，這些應用程式都會每月計費。應用程式權利功能不會限制特定使用者的存取。

如果您在包含應用程式安裝或解除安裝的授權期間遇到失敗，您會在映像建置器的詳細資訊頁面上看到失敗狀態。若要對這些問題進行疑難排解，建議您連線至映像建置器並啟用詳細記錄。如需詳細資訊，請參閱[如何為企業記錄啟用 Microsoft 365 應用程式](https://learn.microsoft.com/en-us/troubleshoot/microsoft-365-apps/diagnostic-logs/how-to-enable-office-365-proplus-uls-logging)。如果問題在檢閱日誌和故障診斷後仍存在，請聯絡 AWS 支援 尋求協助。

# 啟用映像建置器上包含授權應用程式的更新
<a name="updates-image-builder"></a>

**啟用映像建置器上包含授權應用程式的更新**

預設會停用包含所有授權應用程式的更新。您可以使用包含一或多個這些應用程式的影像，在映像建置器上啟用這些應用程式的更新。機群執行個體的更新會保持停用狀態，以防止在工作階段設定期間進行安裝。

在映像建置器上啟用包含授權之應用程式的更新有三個選項。

若要使用應用程式功能表在映像建置器上啟用包含授權的應用程式更新，請遵循下列步驟。

1. 開啟包含的任何授權應用程式。

1. 選擇**檔案**、**帳戶**、**更新選項**和**啟用更新**。

# 使用 Powershell 啟用映像建置器上包含授權應用程式的更新
<a name="enable-updates-managed-powershell"></a>

若要使用 Powershell 在映像建置器上啟用包含授權應用程式的更新，請遵循下列步驟。
+ 以管理員身分使用 PowerShell 執行下列命令：

  `Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" -Name UpdatesEnabled -Value True `

# 使用 Managed Image Update 啟用映像建置器上包含授權應用程式的更新
<a name="enable-updates-managed"></a>

若要使用 Managed Image Update 在映像建置器上啟用包含授權應用程式的更新，請遵循下列步驟。
+  使用受管映像更新來接收包含 Microsoft 授權應用程式的更新。如需詳細資訊，請參閱 

  [使用受管 WorkSpaces 應用程式映像更新來更新映像](keep-image-updated-managed-image-updates.md).

# 匯入映像
<a name="import-image"></a>

您可以匯入自訂的 EC2 AMIs 來建立 WorkSpaces 應用程式映像。以下是其運作方式：

1. 使用任何偏好的方法自訂您的 EC2 AMI，包括 [EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/)。

1. 將您的自訂 AMI 匯入 WorkSpaces 應用程式，以建立 WorkSpaces 應用程式映像

1. 或者，使用映像建置器進行其他映像自訂

透過 AMI 匯入建立的影像為 `type = "custom"`，而 WorkSpaces 應用程式提供的映像為 `type = "native"`。

您可以將 stream.\$1 執行個體類型與 搭配使用`type = "native"`。若要使用下列任何執行個體類型，您必須匯入 AMI 並使用 建立映像`type = "custom"`。
+ GeneralPurpose.\$1
+ MemoryOptimized.\$1
+ ComputeOptimized.\$1
+ 加速。\$1

## 映像匯入的先決條件
<a name="import-image-prerequisites"></a>

所有這些先決條件對於成功執行工作流程至關重要。以下列出支援的 AMI 組態和其他強制性要求。

### 必要的 AMI 屬性
<a name="required-ami-properties"></a>

EBS  
+ 小於或等於 500GB 大小
  + 您可以匯入 < 200 GB 的 AMI，不過，匯入的映像會使用至少 200GB。
+ GP2
  + 您可以使用 gp2 或 gp3 EBS 磁碟區類型匯入 AMI，不過，匯入的映像將使用 gp2。
+ 每個映像一個磁碟區
+ `/dev/sda1` 根裝置名稱
+ 影像類型：機器
+ 架構：x86\$164
+ 虛擬化類型：HVM
+ 開機模式：UEFI
+ TPM Support：2.0 版。這是必要項目，請參閱 [https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ami-windows-tpm.html\$1ami-windows-tpm-find](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ami-windows-tpm.html#ami-windows-tpm-find)：// 尋找已啟用 TPM 的 AMI。
+ ENA 支援： true
+ 平台：Windows
+ 平台詳細資訊：Windows

### 作業系統屬性
<a name="operating-system-properties"></a>

Windows Server 2022/2025 **完整基礎**  
+ 不支援 Windows Server **Core** 
+ 不支援具有 SQL Server 的 Windows

客服人員  
+ EC2 啟動 V2 版本 >= 2.1.1
+ 需要 SSM 代理程式

驅動程式  
+ EC2 ENA 驅動程式版本 >= 2.9.0
+ EC2 NVMe 驅動程式版本 >= 1.6.0

程式庫支援  
+ .NET Framework 4.8 或更新版本
  + 在 Windows Server 2022/2025 中預設安裝
+ PowerShell 5.1 或更新版本
  + 在 Windows Server 2022/2025 中預設安裝
+ Windows 功能：不得安裝遠端桌面服務授權和遠端桌面服務工作階段主機
+ 連接埠：連接埠 8000、8300 和 8443 必須解除封鎖和佔用
+ 開機模式：UEFI

如果您想要搭配 Accelerated.g4dn、Accelered.g5、Accelered.G6 或 Accelerated.G6e 等圖形執行個體使用映像，請在 AMI 上安裝適當的 GRID 驅動程式。如需詳細資訊，請參閱 https：//[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvidia-GRID-driver.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvidia-GRID-driver.html)。如果驅動程式未正確設定，串流將正常運作，圖形卡可能無法使用。

**重要**  
AMI 的「擁有者帳戶 ID」必須是AWS您的帳戶 ID。您無法匯入公有 EC2 AMI。  
在匯入映像之前，執行任何 Windows 更新並停用自動 Windows 更新。  
目前不支援匯入加密的 EC2 AMIs 

### IAM 角色要求
<a name="iam-role-requirements"></a>

**重要**  
「建立具有下列許可的 IAM 角色，以用於映像匯入：

```
{  
    "Version": "2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Sid": "AllowModifyImageAttributeWithTagCondition",  
            "Effect": "Allow",  
            "Action": "ec2:ModifyImageAttribute",  
            "Resource": "*"  
        },  
        {  
            "Sid": "AllowDescribeImages",  
            "Effect": "Allow",  
            "Action": "ec2:DescribeImages",  
            "Resource": "*"  
        }  
    ]  
}
```

為此 IAM 角色新增下列信任關係

```
{  
    "Version": "2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Effect": "Allow",  
            "Principal": {  
                "Service": "appstream.amazonaws.com"  
            },  
            "Action": "sts:AssumeRole"  
        }  
    ]  
}
```

## 匯入映像
<a name="import-image-procedure"></a>

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在左側導覽窗格中，選擇**影像**，然後選擇**影像登錄**檔。

1. 選擇**匯入映像**。

1. **AMI ID** - 輸入您要匯入 WorkSpaces 應用程式的 AMI AMI ID。您也可以使用此欄位搜尋 AMI。

1. **映像名稱** - 輸入因匯入操作而建立之映像的唯一名稱。

1. **顯示名稱** *（選用）* - 輸入要顯示影像的 。

1. **描述** *（選用）* – 輸入影像的描述。

1. **IAM 角色** - 選取您為映像匯入建立的 IAM 角色。如需詳細資訊，請參閱 [IAM 角色要求](#iam-role-requirements)。

1. **管理 WorkSpaces 應用程式代理**程式 – 如果您想要一律使用最新的 WorkSpaces 應用程式代理程式版本，您的串流執行個體會自動更新為在發行新的代理程式版本AWS時可用的最新功能、效能改善和安全性更新。

1. **執行時間驗證** *（選用）*：選取此選項，服務會佈建匯入映像的執行個體，並執行串流測試。
   + 
**注意**  
這些串流測試將在背景執行，您無法透過 WorkSpaces 應用程式用戶端連線至此執行個體。
   + 我們建議您使用此選項，讓您的映像更有信心適用於 WorkSpaces 應用程式。
   + 您將需要支付該執行個體的每小時價格。
   + 如果您在進行不影響串流測試的次要變更後重新匯入 AMI，而且如果執行時間驗證上次通過，則匯入此 AMI，您可以避免執行時間驗證。
   + **選擇執行個體類型** *（選用）*：選取執行串流測試的正確執行個體系列、類型和大小。建議您使用計劃用於建立機群的相同執行個體。

1. **應用程式目錄和啟動效能資訊清單** *（選用）*：提供詳細資訊，為您的最終使用者建立應用程式目錄，並改善應用程式的啟動效能。
   + **應用程式目錄**：建立應用程式目錄，指定安裝映像之應用程式的詳細資訊。針對您計劃串流的每個應用程式，您可以指定名稱、顯示名稱、要啟動的可執行檔和要顯示的圖示。
   + **啟動效能**：將檔案新增至應用程式最佳化資訊清單可減少應用程式第一次在新機群執行個體上啟動所需的時間。此最佳化資訊清單是依應用程式以行分隔的文字檔案。

   若要進一步了解，請參閱 [應用程式詳細資訊](applications-details.md)。

1. **標籤 ***（選用）* - 選擇**新增標籤**，然後輸入標籤的索引鍵和值。若要新增更多標籤，請重複此步驟。如需詳細資訊，請參閱[標記 Amazon WorkSpaces 應用程式資源](tagging-basic.md)。

1. **匯入影像** – 檢閱您輸入的所有資訊，然後選擇**匯入影像**。服務將執行相容性檢查，以確保 AMI 與 WorkSpaces 應用程式相容。
   + 如果靜態檢查失敗，您將立即收到錯誤。
   + 如果靜態檢查通過，則會提交您的匯入請求，根據您選取的選項，使用 建立新的 WorkSpaces 應用程式映像可能需要 30-60 分鐘 `type = "custom"`

# 應用程式詳細資訊
<a name="applications-details"></a>

應用程式詳細資訊包含有關預熱資訊清單和應用程式目錄組態的資訊。

## 應用程式PreWarm資訊清單
<a name="application-prewarm-manifests"></a>

建立 WorkSpaces 應用程式映像時，您可以指定要提供給使用者的應用程式。若要加速應用程式的啟動時間，您可以準備 PreWarm 資訊清單。這基本上是應用程式在使用者啟動應用程式時需要啟動的檔案目錄。在執行個體佈建期間，這些檔案將在工作階段連線之前準備好，以加快使用者工作階段中的應用程式啟動時間。

預熱資訊清單必須先在 AMI 上預先建立，才能匯入 WorkSpaces 應用程式環境。您可以選擇建立一個常見的預熱資訊清單檔案，或為每個應用程式建立一個。這會變更您稍後匯入 AMI 的方式。

### 常見的預熱資訊清單
<a name="common-prewarm-manifest"></a>

對於您要預熱的每個應用程式，請啟動應用程式並執行使用者可能執行的任何初始互動。然後，使用下列命令以存放應用程式資料的目錄為目標。

```
dir -path "C:\Path\To\Folder\To\Optimize" -Recurse -ErrorAction SilentlyContinue | %{$_.FullName} | Out-File "C:\ProgramData\Amazon\Photon\Prewarm\PrewarmManifest.txt" -encoding UTF8 -append
```

這會將每個應用程式要最佳化的檔案附加到通用`C:\\ProgramData\\Amazon\\Photon\\Prewarm\\PrewarmManifest.txt`檔案中。執行應用程式預熱不需要其他動作。WorkSpaces 應用程式會在上述位置尋找預熱檔案，並在檔案存在時使用。

此程序是選用的，隨著預熱資訊清單的大小增加，機群佈建時間也會增加。因此，請注意在最佳化與機群佈建之間取得平衡。

### 應用程式特定資訊清單
<a name="application-specific-manifests"></a>

在映像匯入期間，您可能想要為每個應用程式指定個別的應用程式資訊清單檔案，以便更輕鬆地追蹤每個應用程式的預熱資產。若要執行與上述相同的步驟，但不建立通用`C:\\ProgramData\\Amazon\\Photon\\Prewarm\\PrewarmManifest.txt`檔案，請在 AMI 上為每個應用程式建立檔案。

對於您要預熱的每個應用程式，請啟動應用程式並執行使用者可能執行的任何初始互動。然後，使用下列命令以存放應用程式資料的目錄為目標。

```
dir -path "C:\Path\To\Folder\To\Optimize" -Recurse -ErrorAction SilentlyContinue | %{$_.FullName} | Out-File "C:\Path\To\My\<ApplicationName>PreWarm.txt" -encoding UTF8 -append
```

在映像匯入程序期間，我們將使用這些應用程式預熱檔案。同樣地，這是完全選用的。您可以選擇使用此方法、通用預熱資訊清單方法，或完全沒有預熱資訊清單。

## 應用程式目錄組態
<a name="application-catalog-configs"></a>

`AppCatalogConfig` 這可讓您指定要在 AMI 匯入期間註冊至 WorkSpaces 應用程式映像的應用程式。`AppCatalogConfig` 是下列結構的應用程式組態物件的 JSON 清單。

```
[  
    {  
        "Name": "Rufus", //Required and must be unique among the list of applications  
        "DisplayName": "Rufus",  
        "AbsoluteAppPath": "Rufus", //Required  
        "AbsoluteIconPath": "Rufus",  
        "AbsoluteManifestPath": "Rufus",  
        "WorkingDirectory": "Rufus",  
        "LaunchParameters": "Rufus"  
    }  

    ...  

    // Up to 50 applications total  
 ]
```

每個應用程式唯一的必要欄位是 `Name`和 `AbsoluteAppPath`。每個欄位的詳細資訊如下：

名稱 **【必要**】  
+ 您的應用程式用來識別它的特定名稱
+ 介於 1 到 100 個字元之間
+ 允許字元 regex `^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,99}$`
+ 在指定的 AppCatalogConfig 中必須是唯一的

DisplayName  
+ 要顯示給使用者之特定應用程式的顯示名稱
+ 介於 0 到 100 個字元之間
+ 允許字元 regex `^[a-zA-Z0-9][a-zA-Z0-9_. -]{0,99}$`

AbsoluteAppPath **【必要**】  
+ 啟動應用程式的可執行檔路徑
  + 這是當使用者選取您的應用程式時將啟動的可執行檔
+ 介於 1 到 32767 個字元之間
  + 此字元長度上限是支援 Windows 中的擴充檔案路徑。如果使用大於 260 個字元的檔案路徑，請確定您的 AMI 和應用程式已正確設定為支援 Windows 擴充檔案路徑。
+ 使用逸出的檔案路徑字串，例如
  + `"C:\\Windows\\System32\\notepad.exe"`

AbsoluteManifestPath  
+ 只有在您使用 時才適用 [應用程式特定資訊清單](#application-specific-manifests)
+ 此應用程式預熱資訊清單檔案的路徑
+ 介於 0 到 32767 個字元之間
  + 此字元長度上限是支援 Windows 中的擴充檔案路徑。如果使用大於 260 個字元的檔案路徑，請確定您的 AMI 和應用程式已正確設定為支援 Windows 擴充檔案路徑。
+ 使用逸出的檔案路徑字串，例如
  + `"C:\\Path\\To\\PrewarmManifest.txt"`

AbsoluteIconPath  
+ AMI 上要用於應用程式的圖示檔案路徑。
  + 串流到此映像時，使用者會顯示此圖示。
  + 如果未提供任何 ，則圖示將衍生自可執行檔本身。
  + 請小心選取具有適當處理背景透明度的圖示檔案，為您的使用者提供良好的客戶體驗
    + 使用 PNG 映像
+ 介於 1 到 32767 個字元之間
  + 此字元長度上限是支援 Windows 中的擴充檔案路徑。如果使用大於 260 個字元的檔案路徑，請確定您的 AMI 和應用程式已正確設定為支援 Windows 擴充檔案路徑。
+ 使用逸出的檔案路徑字串，例如
  + `"C:\\Path\\To\\ApplicationIcon.png"`

WorkingDirectory  
+ 在 中啟動應用程式的工作目錄
+ 介於 0 到 32767 個字元之間
  + 此字元長度上限是支援 Windows 中的擴充檔案路徑。如果使用大於 260 個字元的檔案路徑，請確定您的 AMI 和應用程式已正確設定為支援 Windows 擴充檔案路徑。
+ 使用逸出的檔案路徑字串，例如
  + `"C:\\Path\\To\\Working\\Directory"`

LaunchParameters  
+ 用作 中指定可執行檔啟動參數的字串 `AbsoluteAppPath`
+ 介於 0 到 1024 個字元之間
+ 使用逸出字串搭配完整的必要啟動參數清單，例如下列範例，示範如何使用 PowerShell 指令碼做為您的應用程式，方法是使用 PowerShell 可執行檔做為您的應用程式，搭配啟動參數中提供的指令碼
  + AbsoluteAppPath
    + `"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"`
  + LaunchParameters
    + `"-File \"C:\\Path\\To\\App\\Script.ps1\""`

### AppCatalogConfig 範例
<a name="sample-appcatalogconfig"></a>

這是適用於 Notepad、Google Chrome 和 Mozilla Firefox 的 AppCatalogConfig 的裸機範例

```
[  
    {  
        "Name": "Notepad",  
        "DisplayName": "Notepad",  
        "AbsoluteAppPath": "C:\\Windows\\System32\\notepad.exe"
    },  
    {  
        "Name": "Chrome",  
        "DisplayName": "Chrome",  
        "AbsoluteAppPath": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
        "LaunchParameters": "https://www.amazon.com/"  
    },  
    {  
        "Name": "Firefox",  
        "DisplayName": "Firefox",  
        "AbsoluteAppPath": "C:\\Program Files\\Mozilla Firefox\\firefox.exe",
        "LaunchParameters": "https://aws.amazon.com/"  
    }  
 ]
```

# 匯出映像
<a name="export-image"></a>

您可以匯出映像來建立 EC2 AMIs。稍後，您可以返回[匯入映像](import-image.md)這些 AMIs 來建立 WorkSpaces 應用程式映像。這可協助您使用自己的 AMI 自訂工具來自訂映像。

**注意**  
在匯出期間，下列元件將從您的映像中移除  
WorkSpaces 應用程式代理程式
Microsoft 授權包含使用映像建置器新增的應用程式
只能匯出 Microsoft Windows Server 2022 和 2025 映像。

## IAM 角色要求
<a name="export-image-iam-requirements"></a>

**重要**  
建立具有下列許可的 IAM 角色，以用於匯出匯入：

```
{  
    "Version": "2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Sid": "AllowCopyImage",  
            "Effect": "Allow",  
            "Action": "ec2:CopyImage",  
            "Resource": "*"  
        },  
        {  
            "Sid": "AllowDescribeImages",  
            "Effect": "Allow",  
            "Action": "ec2:DescribeImages",  
            "Resource": "*"  
        },  
        {  
            "Sid": "AllowCreateTags",  
            "Effect": "Allow",  
            "Action": "ec2:CreateTags",  
            "Resource": "*"  
        }  
    ]  
}
```

為此 IAM 角色新增下列信任關係

```
{  
    "Version": "2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Effect": "Allow",  
            "Principal": {  
                "Service": "appstream.amazonaws.com"  
            },  
            "Action": "sts:AssumeRole"  
        }  
    ]  
}
```

## 匯出映像
<a name="export-image-procedure"></a>

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選取您要匯出的私有映像。

1. 選擇**動作**、**匯出**。

1. 在**匯出映像**對話方塊中，輸入 **AMI 的唯一 AMI 名稱**和選用**的 AMI 描述**。

1. **IAM 角色** - 選取您為影像匯出建立的 IAM 角色。

1. 您可以勾選**匯出中的複製標籤**核取方塊，選擇性地將標籤從映像複製到 AMI。

1. 選擇**匯出映像**。

# 使用映像助理 CLI 操作，以程式設計方式建立 Amazon WorkSpaces 應用程式映像
<a name="programmatically-create-image"></a>

您可以連線至映像建置器，並使用映像助理圖形使用者界面 (GUI) 或命令列界面 (CLI) 操作來建立 Amazon WorkSpaces 應用程式映像。映像助理 CLI 操作提供與映像助理 GUI 類似的功能。您可以使用這些操作，以程式設計方式執行下列動作：
+ 管理在映像中所含的應用程式。
+ 儲存、更新和重設預設應用程式設定。
+ 啟用或停用 WorkSpaces 應用程式動態應用程式架構。
+ 指定標籤。
+ 建立映像。

 您可以使用這些操作，將 WorkSpaces 應用程式映像建立與持續整合或部署軟體開發程序整合。

若要使用映像助理 CLI 操作，請在映像建置器上使用所選的命令列殼層。例如，您可以使用 Windows 命令提示字元或 PowerShell。

**注意**  
映像建置器必須使用 2019 年 7 月 26 日當天或之後發行的 WorkSpaces 應用程式代理程式版本。如果您沒有映像建置器，必須進行建立。如需詳細資訊，請參閱[啟動映像建置器以安裝和設定串流應用程式](tutorial-image-builder-create.md)。

**Topics**
+ [使用映像助理 CLI 操作建立預設應用程式和 Windows 設定](create-default-app-windows-settings-image-assistant.md)
+ [使用映像助理 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)

# 使用映像助理 CLI 操作建立預設應用程式和 Windows 設定
<a name="create-default-app-windows-settings-image-assistant"></a>

您可以建立預設應用程式和 Windows 設定，讓使用者可以快速開始使用應用程式。當您建立這些設定時，WorkSpaces 應用程式會將 Windows 預設使用者設定檔取代為您設定的設定檔。如此一來，您即可使用 Windows 預設使用者描述檔，為機群執行個體中的使用者建立初始設定。如果您透過使用映像助理 CLI 操作、應用程式安裝程式或自動化建立這些設定，應直接修改 Windows 預設使用者描述檔。

若要使用另一個 Windows 使用者的使用者描述檔覆寫 Windows 預設使用者描述檔，您也可以使用映像助理 `update-default-profile` CLI 操作。

如需設定預設應用程式和 Windows 設定的詳細資訊，請參閱在 中*為您的 WorkSpaces 應用程式使用者建立預設應用程式和 Windows 設定*[Amazon WorkSpaces 應用程式的預設應用程式和 Windows 設定以及應用程式啟動效能](customizing-appstream-images.md)。

# 使用映像助理 CLI 操作來將應用程式的啟動效能最佳化
<a name="optimize-app-launch-performance-image-assistant-cli"></a>

WorkSpaces 應用程式可讓您最佳化使用者串流工作階段的應用程式啟動效能。當您透過使用映像助理 CLI 操作來這麼做時，可以指定檔案來將應用程式的啟動最佳化。將檔案新增到應用程式最佳化資訊清單，可縮短在新機群執行個體上第一次啟動該應用程式所需的時間。不過，這也會延長將該機群執行個體提給使用者使用所需的時間。此最佳化資訊清單是依應用程式以行分隔的文字檔案。

**注意**  
如果您是透過同時使用映像助理 CLI 操作和映像助理 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 WorkSpaces 應用程式的預設應用程式和 Windows 設定以及應用程式啟動效能](customizing-appstream-images.md) 中的*最佳化應用程式的啟動效能*。

# 以程式設計方式建立 Amazon WorkSpaces 應用程式映像的程序概觀
<a name="process-overview-creating-image-programmatically-image-assistant-cli"></a>

您可以使用映像助理 CLI 操作搭配應用程式安裝自動化，來建立完全程式設計的 WorkSpaces 應用程式映像建立工作流程。在應用程式安裝自動化完成後，但在建立映像前，請使用映像助理 CLI 操作來指定下列各項：
+ 您的使用者可以啟動的可執行檔
+ 適用於您應用程式的最佳化資訊清單
+ 其他 WorkSpaces 應用程式映像中繼資料

下列高階概觀說明以程式設計方式建立 WorkSpaces 應用程式映像的程序。

1. 使用應用程式安裝自動化在映像建置器上安裝所需的應用程式。此安裝可能包含使用者將啟動的應用程式、任何依存項目，與背景應用程式。

1. 決定要最佳化的檔案和資料夾。

1. 如果適用，請使用映像助理 `add-application` CLI 操作來指定 WorkSpaces 應用程式映像的應用程式中繼資料和最佳化資訊清單。

1. 若要為 WorkSpaces 應用程式映像指定其他應用程式，請視需要為每個應用程式重複步驟 1 到 3。

1. 如果適用，請使用映像助理 `update-default-profile` CLI 操作來覆寫預設的 Windows 描述檔，並為您的使用者建立預設應用程式和 Windows 設定。

1. 使用映像助理 `create-image` CLI 操作來建立映像。

# 建立和管理 Amazon WorkSpaces 應用程式映像的映像助理 CLI 操作
<a name="cli-operations-managing-creating-image-image-assistant"></a>

本節說明可用來建立和管理 WorkSpaces 應用程式映像的映像助理 CLI 操作。

在 Windows 映像建置器上，包含命令列介面的可執行檔位於：C:\$1Program Files\$1Amazon\$1Photon\$1ConsoleImageBuilder\$1Image-Assistant.exe。為方便起見，這個可執行檔會包含在 Windows PATH 變數中。這可讓您呼叫映像助理 CLI 操作，無需指定可執行檔的絕對路徑。若要呼叫這些操作，請輸入 **image-assistant.exe** 命令。

在 Linux 映像建置器上，映像助理工具位於 /usr/local/appstream/image-assistant/AppStreamImageAssistant，且符號連結位於 /bin/AppStreamImageAssistant。

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

擷取所有映像助理 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>]
```

**選項**

**`--name` (string)**  
應用程式的唯一名稱。長度上限為 256 個字元。您可以新增最多 50 個應用程式。您不能使用空白字元。

**`--absolute-app-path` (string)**  
可執行檔、批次檔案或應用程式指令碼的絕對路徑。路徑必須指向有效的檔案。

**`--display-name` (string)**  
在應用程式型錄中顯示的應用程式名稱。如果您未指定顯示名稱，WorkSpaces 應用程式會建立衍生自可執行檔名稱的名稱。名稱建立時沒有副檔名且其中以底線代替空格。長度上限為 256 個字元。

**`--absolute-icon-path` (string)**  
應用程式圖示的絕對路徑。路徑必須指向以下其中一個類型的有效圖示檔案：.jpg、.png 或 .bmp。最大尺寸為 256 px x 256 px。如果您沒有指定路徑，則會使用可執行檔的預設圖示 (如果可用)。如果可執行檔無法使用預設圖示，則會使用預設 WorkSpaces 應用程式圖示。

**`--working-directory` (string)**  
啟動應用程式時，應用程式的初始工作目錄。

**`--absolute-manifest-path` (string)**  
以新行分隔之文字檔案的路徑。該檔案會指定檔案的絕對路徑，以在將機群執行個體供使用者用於串流前進行最佳化。路徑必須指向有效的文字檔案。

**訊息輸出**


| 結束程式碼 | 列印為標準輸出的訊息 | Description | 
| --- | --- | --- | 
| 0 |  \$1"狀態": 0, "訊息": "成功"\$1  |  已成功新增應用程式。 | 
| 1 |  \$1"狀態": 1, "訊息": "需要管理員權限才能執行此操作"\$1  |  需要管理員權限才能完成此操作。 | 
| 1 |  \$1"狀態": 1, "訊息": "無法將超過 50 個應用程式新增到型錄。"\$1  |  無法新增應用程式，因為可新增至 WorkSpaces 應用程式應用程式目錄的應用程式數目上限為 50。 | 
| 1 |  \$1"狀態": 1, "訊息": "名稱不是唯一的"\$1  |  WorkSpaces 應用程式目錄中已存在具有該名稱的應用程式。 | 
| 1 |  \$1"狀態": 1, "訊息": "找不到檔案 (absolute-app-path)"\$1  |  找不到指定的 absolute-app-path 檔案。 | 
| 1 |  \$1"狀態": 1, "訊息": "不支援的副檔名"\$1  |  此 Absolute-app-path 參數僅支援以下檔案類型：.exe 和 .bat。 | 
| 1 |  \$1"狀態": 1, "訊息": "找不到目錄 (working-directory)" |  找不到指定的 working-directory 目錄。 | 
| 1 |  \$1"狀態": 1, "訊息": "找不到最佳化資訊清單：<filename>"\$1  |  找不到指定的 optimization-manifest 檔案。 | 
| 1 |  \$1"狀態": 1, "訊息": "找不到檔案：<filename>"\$1  |  找不到在最佳化資訊清單中指定的檔案。 | 
| 255 |  \$1"狀態": 255, "訊息": <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>
```

**選項**

**`--name` (string)**  
要移除的應用程式唯一識別符。

**訊息輸出**


| 結束程式碼 | 列印為標準輸出的訊息 | Description | 
| --- | --- | --- | 
| 0 |  \$1"狀態": 0, "訊息": "成功"\$1  |  已成功移除應用程式。 | 
| 1 |  \$1"狀態": 1, "訊息": "需要管理員權限才能執行此操作"\$1  |  需要管理員權限才能完成此操作。 | 
| 1 |  \$1"狀態": 1, "訊息": "找不到應用程式"\$1  |  WorkSpaces 應用程式目錄中找不到指定的應用程式。 | 
| 255 |  \$1"狀態": 255, "訊息": <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
```

**訊息輸出**


| 結束程式碼 | 列印為標準輸出的訊息 | Description | 
| --- | --- | --- | 
| 0 |  \$1"狀態": 0, "訊息": "成功", "應用程式": [ \$1..app1.. \$1, \$1 ..app2.. \$1]\$1  |  WorkSpaces 應用程式目錄中的應用程式清單。 | 
| 255 |  \$1"狀態": 255, "訊息": <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 映像助理 CLI 工具不支援此操作。

**概要**

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

**選項**

**`--profile` (string)**  
要將其 Windows 描述檔複製到 Windows 預設使用者描述檔的使用者名稱。使用下列名稱格式：  
"<domain>\$1<username>"  
如果映像建置器未加入 Microsoft Active Directory 網域，請在網域中輸入句號「.」。如果您未指定使用者，則會使用 WorkSpaces 應用程式範本使用者帳戶。

**訊息輸出**


| 結束程式碼 | 列印為標準輸出的訊息 | Description | 
| --- | --- | --- | 
| 0 |  \$1"狀態": 0, "訊息": "成功"\$1  |  已成功將使用者設定複製到預設的 Windows 描述檔。 | 
| 1 |  \$1"狀態": 1, "訊息": "需要管理員權限才能執行此操作"\$1  |  需要管理員權限才能完成此操作。 | 
| 1 |  \$1"狀態": 1, "訊息": "無法複製檔案或資料夾：<path>。<reason>"\$1  |  檔案或資料夾無法使用，因此無法複製使用者設定。 | 
| 1 |  \$1"狀態": 1, "訊息": "未加入網域時，無法複製網域使用者""\$1  |  已指定 Microsoft Active Directory 網域使用者，但映像建置器未加入 Active Directory 網域。 | 
| 255 |  \$1"狀態": 255, "訊息": <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 映像助理 CLI 工具不支援此操作。

**概要**

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

**選項**

**`--profile` (string)**  
其 Windows 描述檔將遭到刪除的 Windows 使用者名稱。使用下列名稱格式：  
"<domain>\$1<username>"  
如果映像建置器未加入 Microsoft Active Directory 網域，請在網域中輸入句號「.」。

**訊息輸出**


| 結束程式碼 | 列印為標準輸出的訊息 | Description | 
| --- | --- | --- | 
| 0 |  \$1"狀態": 0, "訊息": "成功"\$1  |  已成功刪除指定的使用者設定。 | 
| 1 |  \$1"狀態": 1, "訊息": "需要管理員權限才能執行此操作"\$1  |  需要管理員權限才能完成此操作。 | 
| 1 |  \$1"狀態": 1, "訊息": "無法複製檔案或資料夾：<path>。<reason>"\$1  |  檔案或資料夾無法使用，因此無法重設使用者設定。 | 
| 1 |  \$1"狀態": 1, "訊息": "未加入網域時，無法複製網域使用者""\$1  |  已指定 Microsoft Active Directory 網域使用者，但映像建置器未加入 Active Directory 網域。 | 
| 255 |  \$1"狀態": 255, "訊息": <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]
```

**選項**

**`--name` (string)**  
WorkSpaces 應用程式映像的名稱。名稱在 Amazon Web Services 帳戶和 AWS 區域中必須是唯一的。長度上限為 100 個字元。允許的字元如下：  
a-z、A-Z、0-9、底線 (\$1)、連字號 (-) 和句號 (.)  
映像名稱不得以下列任何前綴為開頭：「aws」、「appstream」及「amazon」。這些字首已保留給 AWS 使用。

**`--description` (string)**  
要顯示的映像描述。長度上限為 256 個字元。

**`--display-name` (string)**  
要顯示的映像名稱。長度上限為 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` (string)**  
要與此映像關聯的標籤。標籤是索引鍵值組。使用下列格式：  
--tags "mykey" "myval" "mykey2" "myval2"  
如需標籤的詳細資訊，請參閱[標記 Amazon WorkSpaces 應用程式資源](tagging-basic.md)。

**`--dry-run` (string)**  
執行驗證，但不建立映像。使用此命令來在建立映像前識別其中是否有任何問題。

**訊息輸出**


| 結束程式碼 | 列印為標準輸出的訊息 | Description | 
| --- | --- | --- | 
| 0 |  \$1"狀態": 0, "訊息": "成功"\$1  |  已成功啟動建立映像的工作流程。 | 
| 1 |  \$1"狀態": 1, "訊息": "需要管理員權限才能執行此操作"\$1  |  需要管理員權限才能完成此操作。 | 
| 1 |  \$1"狀態": 1, "訊息": "具指定名稱的映像已存在"\$1  |  Amazon Web Services 帳戶中已有此指定名稱的映像。 | 
| 1 |  \$1"狀態": 1, "訊息": "無效值 (標籤)"\$1  |  指定的標籤無效。 | 
| 255 |  \$1"狀態": 255, "訊息": <error message>\$1  |  發生未預期的錯誤。再次嘗試請求。如果錯誤仍然存在，請聯絡 AWS 支援 尋求協助。如需詳細資訊，請參閱 [AWS 支援 中心](https://console.aws.amazon.com/support/home#/)。 | 

# 建立 Linux 型映像
<a name="create-linux-based-images"></a>

您可以透過連線至 Linux 映像建置器、安裝所需的應用程式、建立預設應用程式設定和環境變數，以及使用命令列界面 (CLI) 工具或映像助理 (GUI) 工具將這些應用程式新增至應用程式目錄，來建立 Linux 型 Amazon WorkSpaces 應用程式映像。若要開啟 GUI 工具，請在應用程式清單中搜尋**映像助理**。

**Topics**
+ [為您的使用者建立預設應用程式設定](create-default-app-settings.md)
+ [為 Linux 使用者建立預設環境變數](create-default-variables-linux.md)
+ [最佳化 Linux 應用程式的啟動效能](optimize-launch-performance.md)
+ [建立工作階段指令碼](create-session-scripts.md)
+ [使用適用於 Linux 的映像助理 CLI 工具](image-assistant-cli.md)
+ [啟用和停用網路攝影機支援](webcam-support.md)
+ [啟用和停用主資料夾的重型檔案同步模式](heavy-file-sync.md)
+ [教學課程：建立自訂 Linux 型 WorkSpaces 應用程式映像](tutorial-create-linux-image.md)
+ [教學課程：啟用 Linux 映像的日文支援](enable-japanese-support-linux.md)

# 為您的使用者建立預設應用程式設定
<a name="create-default-app-settings"></a>

請依照下列步驟為您的使用者建立預設應用程式設定。

**Topics**
+ [步驟 1：在映像建置器上安裝 Linux 應用程式](#app-settings-image-install)
+ [步驟 2：建立 TemplateUser 帳戶](#app-settings-template-user)
+ [步驟 3：建立預設應用程式設定](#app-settings-image-create-default-app-settings)
+ [步驟 4：儲存預設應用程式設定](#app-settings-image-save-default-app-settings)
+ [步驟 5：測試預設應用程式設定 (選用)](#app-settings-image-test-applications)
+ [步驟 6：清除](#app-settings-image-finish)

## 步驟 1：在映像建置器上安裝 Linux 應用程式
<a name="app-settings-image-install"></a>

在此步驟中，您要連線 Linux 映像建置器並在映像建置器上安裝您的應用程式。

**在映像建置器上安裝應用程式**

1. 執行下列其中一項操作來連線至映像建置器：
   + [使用 WorkSpaces 應用程式主控台](managing-image-builders-connect-console.md) （僅適用於 Web 連線）
   + [建立串流 URL](managing-image-builders-connect-streaming-URL.md) （適用於 Web 或 WorkSpaces 應用程式用戶端連線）
**注意**  
您將以 ImageBuilderAdmin 使用者身分登入 Amazon Linux GNOME 桌面，並擁有根管理員權限。

1. 安裝您需要的應用程式。例如，若要從公有 yum repo 安裝 Chromium 瀏覽器，請先開啟終端機應用程式，然後執行下列命令：

   **[ImageBuilderAdmin]\$1 sudo yum update && sudo yum install chromium.x86\$164** 

## 步驟 2：建立 TemplateUser 帳戶
<a name="app-settings-template-user"></a>

在此步驟中，您會建立 TemplateUser 帳戶，該帳戶會為串流使用者建立預設應用程式設定。

**建立 TemplateUser 帳戶**

1. 建立未具備根許可的 TemplateUser 帳戶。例如，在「終端機」視窗中，執行下列命令以在映像建置器上建立 TemplateUser：

   **[ImageBuilderAdmin]\$1 sudo useradd -m TemplateUser** 

   **[ImageBuilderAdmin]\$1 echo -e '<*password*>\$1n<*password*>\$1n' \$1 sudo passwd TemplateUser**

1. 切換至 TemplateUser 帳戶：

   **[ImageBuilderAdmin]\$1 su - TemplateUser** 

## 步驟 3：建立預設應用程式設定
<a name="app-settings-image-create-default-app-settings"></a>

在此步驟中，您會為 WorkSpaces 應用程式使用者建立預設應用程式設定。這樣做可讓您的使用者在 WorkSpaces 應用程式串流工作階段期間快速開始使用應用程式，而不需要自行建立或設定這些設定。

**為您的使用者建立預設應用程式設定**

1. 啟動要建立預設設定的應用程式。例如，在「終端機」視窗中，執行下列命令以啟動 Chromium 瀏覽器：

    **[TemplateUser]\$1 chromium-browser**

1. 設定應用程式的設定。例如，將 Chromium 瀏覽器的首頁設定為 **https://aws.amazon.com**。

1. 關閉應用程式。

1. 登出：

   **[TemplateUser]\$1 logout** 

## 步驟 4：儲存預設應用程式設定
<a name="app-settings-image-save-default-app-settings"></a>

在此步驟中，您將複製新增至 **/etc/skel/** 目錄的預設應用程式設定，並讓串流使用者可以使用這些設定。

**儲存預設應用程式設定**
+ 在「終端機」視窗中執行下列命令，為您的串流使用者複製預設應用程式設定：

   **[ImageBuilderAdmin]\$1 sudo cp -r -f /home/TemplateUser/. /etc/skel**

## 步驟 5：測試預設應用程式設定 (選用)
<a name="app-settings-image-test-applications"></a>

在此步驟中，請確認您新增的應用程式正確執行，而且預設應用程式設定如預期運作。

**在映像建置器上測試您的應用程式和預設設定**

1. 建立未具備根許可的測試使用者。例如，在**終端機**視窗中，執行下列命令以在映像建置器上建立 **test-user**：

   **[ImageBuilderAdmin]\$1 sudo useradd -m test-user**

   **[ImageBuilderAdmin]\$1 echo -e '*password*>\$1n<*password*>\$1n' \$1 sudo passwd test-user** 

1. 切換到測試使用者。

   **[ImageBuilderAdmin]\$1 su - test-user**

1. 以測試使用者身分啟動應用程式 (例如 Chromium)：

   **[test-user]\$1 /usr/bin/chromium-browser** 

1. 確認預設設定可供測試使用者使用 (例如 Chromium 首頁為 https://aws.amazon.com/)。

1. 登出：

   **[test-user]\$1 logout**

## 步驟 6：清除
<a name="app-settings-image-finish"></a>

最後，最後一個步驟是清除。

**清理方式**

1. 刪除 TemplateUser：

   **[ImageBuilderAdmin]\$1 sudo killall -u TemplateUser**

   **[ImageBuilderAdmin]\$1 sudo userdel -r TemplateUser**

1. 刪除 test-user （如果您略過步驟 5，則不需要）：

   **[ImageBuilderAdmin]\$1 sudo killall -u test-user**

   **ImageBuilderAdmin]\$1 sudo userdel -r test-user**

# 為 Linux 使用者建立預設環境變數
<a name="create-default-variables-linux"></a>

您可以在 Linux 映像建置器執行個體上建立環境變數。建立環境變數後，即可在從該映像建立的串流執行個體上使用這些變數。

**注意**  
在 Linux 機群執行個體上，使用映像助理 (GUI) 工具設定的環境變數和預設系統環境變數會透過 /etc/profile.d/appstream\$1system\$1vars.sh 指令碼匯出。若要存取這些環境變數，您必須在應用程式中明確取得 /etc/profile.d/appstream\$1system\$1vars.sh 指令碼。

**為您的使用者建立環境變數**

1. 如果資料夾 `/etc/profile` 不存在，請執行以下命令建立資料夾：

   **[ImageBuilderAdmin]\$1 sudo mkdir -p /etc/profile.d** 

1. 若要在此資料夾中建立新的 Shell 指令碼檔案 (例如 my-environment.sh)，請執行下列命令：

   **[ImageBuilderAdmin]\$1 vim my-environment.sh**

1. 在指令碼檔案的第一行，新增下列內容：

   **\$1\$1/bin/sh **

1. 針對後續每一行，新增 **export** 命令來設定映像的環境變數。下列範例會將 `$HOME/bin` 新增至 `PATH` 變數。

   **export PATH=”\$1HOME/bin:\$1PATH”**

1. 按 **Esc** 鍵返回 vim 中的命令模式，然後執行下列命令儲存指令碼並退出 vim：

   **:x**

1. 執行下列命令以允許指令碼作為程式執行：

   **[ImageBuilderAdmin]\$1 chmod \$1x my-environment.sh**

# 最佳化 Linux 應用程式的啟動效能
<a name="optimize-launch-performance"></a>

如果您是使用映像助理 GUI 工具，此工具會自動最佳化應用程式的啟動效能。

如果您視使用映像助理 CLI，請進行下列步驟以手動最佳化啟動效能。當您建立檔案並將檔案新增至應用程式最佳化清單檔案時，在新機群執行個體上初次啟動應用程式時，啟動速度會更快。不過，這也會延長將該機群執行個體提給使用者使用所需的時間。最佳化清單檔案是每個應用程式的行分隔文字檔案。

您可以手動或依照下列步驟建立清單檔案 (例如 <*your-app*>-manifest.txt)。

**建立資訊清單檔案**

1. 請確定您嘗試最佳化的應用程式已啟動並執行。

1. 從 Linux 映像建置器中的終端機執行下列命令：

   **ps -ef \$1 grep <*application-process-name*>**

1. 從最後一個步驟的輸出中搜尋最小 PID 號碼。這是應用程式的根父處理程序的 PID。

1. 讓應用程式保持執行，且務必使用您的使用者所需的初始元件。這樣可確保最佳化程序順利擷取這些元件。

1. 建立包含下列內容的指令碼檔案 (例如 `~/getfilestool.sh`)：

   ```
   #!/bin/bash
   ## usage getfilestool.sh $pid
   lsof -p $(pstree -p $1 | grep -o '([0-9]\+)' | grep -o '[0-9]\+' | tr '\012' ,)|grep REG | sed -n '1!p' | awk '{print $9}'|awk 'NF'
   ```

1. 確認檔案可以透過下列命令執行：

   **[ImageBuilderAdmin]\$1 chmod u\$1x \$1/getfilestool.sh**

1. 執行下列命令，以從步驟 3 中找到的根父處理程序擷取所有執行中的檔案，並將其儲存到暫存清單檔案中。

   **[ImageBuilderAdmin]\$1 sudo \$1/getfilestool.sh <*root-parent-pid*> > /tmp/<y*our-app*>-manifest.txt **

1. 確認最佳化清單檔案的內容，這是每個應用程式的行分隔文字檔案。

您可以透過使用映像助理命令列介面 (CLI) 工具，以每個應用程式為基礎來指定最佳化清單檔案。如需詳細資訊，請參閱[使用適用於 Linux 的映像助理 CLI 工具](image-assistant-cli.md)。

# 建立工作階段指令碼
<a name="create-session-scripts"></a>

WorkSpaces 應用程式可在 Windows 和 Linux 型串流執行個體上提供執行個體工作階段指令碼。如需有關工作階段指令碼的詳細資訊，請參閱 [使用工作階段指令碼來管理 Amazon WorkSpaces 應用程式使用者的串流體驗](use-session-scripts.md)。

工作階段指令碼是在 WorkSpaces 應用程式映像中指定。若要在 Linux 執行個體上尋找工作階段指令碼組態檔案，請瀏覽至 `/opt/appstream/SessionScripts/config.json`。下列程式碼是範例 `config.json` 檔案，會指定名為「`test-session-start`」的工作階段啟動指令碼，以及名為「`test-session-stop`」的工作階段結束指令碼及其執行期參數。確認 `config.json` 中參考的指令碼具備執行許可，並且已定義命令解譯器（例如 \$1\$1/bin/bash）。

```
{
     "SessionStart": {
          "Executables": [
               {
                    "Context": "system",
                    "Filename": "/opt/appstream/SessionScripts/test-session-start",
                    "Arguments": "arg1",
                    "S3LogEnabled": true
               }
          ],
          "WaitingTime": 30
     },
     "SessionTermination": {
          "Executables": [
               { 
                    "Context": "system",
                    "Filename": "/opt/appstream/SessionScripts/test-session-stop", 
                    "Arguments": "arg2", 
                    "S3LogEnabled": true
               }
          ],
          "WaitingTime": 30
     }
}
```

# 使用適用於 Linux 的映像助理 CLI 工具
<a name="image-assistant-cli"></a>

在 Linux 型映像建置器上，您可以使用映像助理 CLI 工具 **AppStreamImageAssistant** 來建立和管理 WorkSpaces 應用程式映像。此工具位於 `/usr/local/appstream/image-assistant/AppStreamImageAssistant`，且符號連結位於 `/bin/AppStreamImageAssistant`。此適用於 Linux 的 CLI 工具支援多項與適用於 Windows 的映像助理 CLI 工具相同的操作。如需這些操作的詳細資訊，請參閱 [建立和管理 Amazon WorkSpaces 應用程式映像的映像助理 CLI 操作](cli-operations-managing-creating-image-image-assistant.md)。

# 啟用和停用網路攝影機支援
<a name="webcam-support"></a>

WorkSpaces 應用程式透過將本機網路攝影機視訊輸入重新導向至 WorkSpaces 應用程式串流工作階段，支援即時音訊視訊 (AV)。此功能可讓您的使用者在 WorkSpaces 應用程式串流工作階段中使用其本機網路攝影機進行視訊和音訊會議。透過即時 AV 和即時音訊的支援，您的使用者可以使用熟悉的視訊和音訊會議應用程式進行協作，而無需離開其 WorkSpaces 應用程式串流工作階段。

若要使用此功能，您必須使用在 WorkSpaces 2022 年 9 月 21 日或之後發行的 Linux WorkSpaces 應用程式代理程式的 Linux WorkSpaces 應用程式映像。

**注意**  
採用 Rocky Linux 或 Red Hat Enterprise Linux 技術的 stream.standard.small 執行個體不支援即時 AV。使用者在用戶端工具列上看不到攝影機和麥克風圖示。

Linux 串流工作階段預設會啟用即時 AV 功能。若要在 Linux 映像建置器上為使用者設定網路攝影機許可，請建立 `/etc/appstream/appstream.conf` 並新增下列內容：

**注意**  
指定 **1** 以啟用網路攝影機，或 **0** 以停用網路攝影機。

```
[webcam]
permission = 1
```

# 啟用和停用主資料夾的重型檔案同步模式
<a name="heavy-file-sync"></a>

您可以為您的組織啟用 Amazon Simple Storage Service 主資料夾選項。當您為 WorkSpaces 應用程式堆疊啟用 Amazon S3 主資料夾時，堆疊的使用者可以在其應用程式串流工作階段期間存取持久性儲存資料夾。您的使用者無須進行其他設定，便可以存取他們的主資料夾。使用者存放在主資料夾中的資料會自動備份到 中的 Amazon S3 儲存貯體 AWS 帳戶，並在後續工作階段中提供給這些使用者。如需詳細資訊，請參閱[為您的 WorkSpaces 應用程式使用者啟用和管理主資料夾](home-folders.md)。

為了確保順暢的體驗並解決一些現有的限制，當使用者將大型文字檔案從串流執行個體儲存到主資料夾時，可能會觀察到不一致的檔案同步，如果大型檔案上傳到 Amazon S3 是使用 WorkSpaces 應用程式時常見的使用者案例，WorkSpaces 應用程式管理員可以開啟 **heavy\$1sync** 組態選項。 WorkSpaces 開啟此選項表示它可能會為主資料夾檔案同步程序增加一些延遲，但保證所有同步對 Amazon S3 的完整性。

此功能適用於所有 Red Hat Enterprise Linux WorkSpaces 映像，以及使用 2024 年 9 月 12 日當天或之後發行的 Linux WorkSpaces 應用程式代理程式的 Linux WorkSpaces 應用程式映像。

Red Hat Enterprise Linux 和 Amazon Linux 串流工作階段預設會停用繁重同步功能。若要為 Red Hat Enterprise Linux 或 Amazon Linux 映像建置器上的使用者設定繁重同步許可，請建立`/etc/appstream/appstream.conf`並新增下列內容：

**注意**  
指定 **1** 以啟用繁重同步，或指定 **0** 以停用繁重同步。

```
[storage]
heavy_sync = 1
```

# 教學課程：建立自訂 Linux 型 WorkSpaces 應用程式映像
<a name="tutorial-create-linux-image"></a>

本教學課程說明如何建立自訂 Linux 型 Amazon WorkSpaces 應用程式映像，其中包含您可以串流給使用者的應用程式。

**重要**  
請勿在映像建置器中建立名為 "as2-streaming-user" 的使用者。這是機群的預留使用者名稱。如果您在 WorkSpaces 應用程式工作流程之外建立此使用者名稱，您可能會在機群中遇到串流問題。

**Topics**
+ [步驟 1：在映像建置器上安裝 Linux 應用程式](#tutorial-linux-image-install)
+ [步驟 2：產生應用程式最佳化清單檔案](#tutorial-linux-image-manifest)
+ [步驟 3：建立 WorkSpaces 應用程式應用程式目錄](#tutorial-linux-image-catalog)
+ [步驟 4：建立預設應用程式設定和環境變數](#tutorial-linux-image-create-default-app-settings)
+ [步驟 5：測試應用程式和設定](#tutorial-linux-image-test-applications)
+ [步驟 6：完成建立您的映像](#tutorial-linux-image-finish-create-image)
+ [步驟 7 (選用)：標記和複製映像](#tutorial-linux-image-tag-copy)
+ [步驟 8：清除](#tutorial-linux-image-finish)

## 步驟 1：在映像建置器上安裝 Linux 應用程式
<a name="tutorial-linux-image-install"></a>

在此步驟中，您要連線 Linux 映像建置器並在映像建置器上安裝您的應用程式。

**在映像建置器上安裝應用程式**

1. 執行下列其中一項操作來連線至映像建置器：
   + [使用 WorkSpaces 應用程式主控台](managing-image-builders-connect-console.md) （僅適用於 Web 連線）
   + [建立串流 URL](managing-image-builders-connect-streaming-URL.md) （適用於 Web 或 WorkSpaces 應用程式用戶端連線）
**注意**  
您將以 ImageBuilderAdmin 使用者身分登入 Amazon Linux GNOME 桌面，並擁有根管理員權限。

1. 安裝您需要的應用程式。例如，若要從公有 yum repo 安裝 Chromium 瀏覽器，請先開啟終端機應用程式，然後執行下列命令：

   **[ImageBuilderAdmin]\$1 sudo yum update && sudo yum install chromium.x86\$164** 
**注意**  
只從您信任的網站下載並安裝應用程式。

## 步驟 2：產生應用程式最佳化清單檔案
<a name="tutorial-linux-image-manifest"></a>

在此步驟中，您會為步驟 1 中安裝的每個應用程式產生清單檔案。

**產生清單檔案以最佳化應用程式的啟動效能**

1. 請確定您嘗試最佳化的應用程式 (例如 Chromium) 已啟動並執行。

1. 在終端機視窗中，執行下列命令來列出與應用程式相關的處理程序：

   **[ImageBuilderAdmin]\$1 ps -ef \$1 grep chromium **

1. 從上面的命令輸出中尋找根父 PID。以下是輸出範例，根父 PID 為 16712：  
**Example**  

   ```
   [ImageBuilderAdmin]$ ps -ef | grep chromium
   
   ImageBu+ 16712 4128 0 Aug26 ? 00:00:44 /usr/lib64/chromium- browser/chromium-browser --enable-plugins --enable-extensions -- enable-user- scripts --enable-printing --enable-gpu-rasterization -- enable-sync --auto-ssl- client-auth
   
   ImageBu+ 16726 16712 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium-browser --type=zygote --no-zygote-sandbox ImageBu+ 16727 16712 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium- browser --type=zygote
   
   ImageBu+ 16731 16727 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium-browser --type=zygot
   ```

1. 讓應用程式保持執行，且務必使用您的使用者所需的初始元件。這樣可確保最佳化程序順利擷取這些元件。

1. 建立包含下列內容的指令碼檔案 (例如 `~/getfilestool.sh`)：

   ```
   #!/bin/bash
   ## usage getfilestool.sh $pid
   lsof -p $(pstree -p $1 | grep -o '([0-9]\+)' | grep -o '[0-9]\+' | tr '\012' ,)|grep REG | sed -n '1!p' | awk '{print $9}'|awk 'NF'
   ```

1. 執行下列命令以確認檔案可執行：

   **[ImageBuilderAdmin]\$1 chmod u\$1x \$1/getfilestool.sh** 

1. 執行下列命令，從上面步驟 3 中找到的根父處理程序擷取所有執行中檔案，並將其儲存到暫存清單檔案中：

   **[ImageBuilderAdmin]\$1 sudo \$1/getfilestool.sh 16712 > /tmp/chromium-manifest.txt **

1. 確認最佳化清單檔案的內容，這是每個應用程式的行分隔文字檔案。

## 步驟 3：建立 WorkSpaces 應用程式應用程式目錄
<a name="tutorial-linux-image-catalog"></a>

在此步驟中，您會使用映像建置器`AppStreamImageAssistant`上的 CLI 工具，透過指定映像的應用程式來建立 WorkSpaces 應用程式目錄。針對您計劃串流的每個應用程式，您可以指定名稱、顯示名稱、要啟動的可執行檔和要顯示的圖示。

**建立 WorkSpaces 應用程式目錄**

1. 在映像建置器桌面上，從側邊面板或開啟應用程式網格來開啟**終端機**。

1. 執行 **AppStreamImageAssistant --help** 以查看可用命令的清單。您將使用這些命令來新增應用程式並建立映像。

1. 執行下列命令，將已安裝的應用程式 （例如 Chromium) 新增至 WorkSpaces 應用程式使用者的應用程式清單：

   ```
   AppStreamImageAssistant add-application \
    --name Chromium \
    --absolute-app-path /usr/lib64/chromium-browser/chromium-browser \
    --display-name Chromium \
    --absolute-icon-path /usr/share/icons/hicolor/256x256/apps/chromium-browser.png \
    --absolute-manifest-path /tmp/chromium-manifest.txt
   ```

   或者，執行下列命令：

   ```
   AppStreamImageAssistant add-application \
    --name="Chromium" \
    --absolute-app-path="/usr/lib64/chromium-browser/chromium-browser" \
    --display-name="Chromium" \
    --absolute-icon-path="/usr/share/icons/hicolor/256x256/apps/chromium-browser.png" \
    --absolute-manifest-path="/tmp/chromium-manifest.txt"
   ```

1. 若要新增更多應用程式，請為每個額外的應用程式重複步驟 3。

1. 若要查看已新增至目錄中的應用程式清單，以及像是圖示路徑和啟動參數等中繼資料，請執行下列命令：

   **AppStreamImageAssistant list-applications**

1. 若要從目錄中移除應用程式，請執行下列命令：

   **AppStreamImageAssistant remove-application –-name *application\$1name***

## 步驟 4：建立預設應用程式設定和環境變數
<a name="tutorial-linux-image-create-default-app-settings"></a>

在此步驟中，您會為 WorkSpaces 應用程式使用者建立預設應用程式設定和環境變數。這樣做可讓您的使用者在 WorkSpaces 應用程式串流工作階段期間快速開始使用應用程式，而不需要自行建立或設定這些設定。

**為您的使用者建立預設應用程式和環境變數**

1. 啟動要建立預設設定的應用程式。例如，在「終端機」視窗中，執行下列命令以啟動 Chromium 瀏覽器：

    **[ImageBuilderAdmin]\$1 chromium-browser**

1. 設定應用程式的設定。例如，將 Chromium 瀏覽器的首頁設定為 **https://aws.amazon.com**。

1. 確定 Chromium 應用程式已關閉，然後執行下列命令，將 Chromium 的組態複製到 **/etc/skel**：

   **[ImageBuilderAdmin]\$1 sudo mkdir /etc/skel/.config**

   **[ImageBuilderAdmin]\$1 sudo cp -R \$1/.config/chromium /etc/skel/.config** 

1. 設定環境變數，然後將它新增至指令碼檔案。例如，執行下列命令：

   **[ImageBuilderAdmin]\$1 echo "export *FOO*=*BAR*" \$1 sudo tee -a /etc/profile.d/myenvvars.sh** 

   **[ImageBuilderAdmin]\$1 sudo chmod \$1x /etc/profile.d/myenvvars.sh** 

## 步驟 5：測試應用程式和設定
<a name="tutorial-linux-image-test-applications"></a>

在此步驟中，請確認您新增的應用程式正確執行，而且預設應用程式設定和環境變數如預期運作。

**在映像建置器上測試您的應用程式和預設設定**

1. 建立未具備根許可的測試使用者。例如，在**終端機**視窗中，執行下列命令以在映像建置器上建立 **test-user**：

   **[ImageBuilderAdmin]\$1 sudo useradd -m test-user**

   **[ImageBuilderAdmin]\$1 echo -e 'Pa55w0rdas2\$1\$1\$1\$1nPa55w0rdas2\$1\$1\$1\$1n' \$1 sudo passwd test-user** 

1. 切換到測試使用者。

   **[ImageBuilderAdmin]\$1 su - test-user**

1. 以測試使用者身分啟動應用程式 (例如 Chromium)：

   **[test-user]\$1 /usr/bin/chromium-browser** 

1. 確認預設設定可供測試使用者使用 (例如 Chromium 首頁為 https://aws.amazon.com/)。

1. 確認環境變數可供測試使用者使用。例如，執行下列命令：

   **[test-user]\$1 echo \$1*FOO***

   此命令應會在終端機中顯示輸出 ***BAR***。

1. 從此映像建置器建立映像之前，執行下列命令以刪除測試使用者：

   **\$1 logout test user**

   **[test-user]\$1 logout**

   **\$1 kill test user's running processes**

   **[ImageBuilderAdmin]\$1 sudo killall -u test-user**

   **\$1 delete user**

   **[ImageBuilderAdmin]\$1 sudo userdel -r test-user**

## 步驟 6：完成建立您的映像
<a name="tutorial-linux-image-finish-create-image"></a>

在此步驟中，選擇映像名稱以及完成建立您的映像。

**建立映像**

1. 在**終端機**視窗中，執行 **AppStreamImageAssistant create-image** 以從映像建置器建立映像。此映像包含您已安裝和註冊的應用程式，以及您已設定的任何工作階段指令碼和預設應用程式設定。

   若要查看可用選項的清單，執行 **AppStreamImageAssistant create-image --help**。如需詳細資訊，請參閱 [使用映像助理 CLI 操作，以程式設計方式建立 Amazon WorkSpaces 應用程式映像](programmatically-create-image.md) 中的 **create-image** 操作。

1. 遠端工作階段會在一小段時間後中斷連線。當 **Lost Connectivity (遺失連線)** 訊息出現時，請關閉瀏覽器標籤。雖然已建立映像，但映像建置器狀態顯示為 **Snapshotting (正在建立快照)**。在此程序完成前，您無法連線到映像建置器。

1. 請返回主控台並導覽至 **Images (映像)**、**Image Registry (映像登錄)**。確認您的新映像出現在清單中。

   建立映像時，主控台的映像登錄中所顯示的映像狀態為**待定**。您無法連線到處於**待定**狀態的映像。

1. 選擇**重新整理**圖示以更新狀態。映像建立之後，映像狀態會變更為 **Available (可用)**，然後映像建置器會自動停止。

   若要繼續建立映像，請啟動映像建置器並從主控台連線，或建立新的映像建置器。

## 步驟 7 (選用)：標記和複製映像
<a name="tutorial-linux-image-tag-copy"></a>

您可以在映像建立期間或建立映像之後，將一或多個標籤新增到映像。您也可以複製相同區域內的映像，或將映像複製到同一 Amazon Web Services 帳戶內的新區域。複製來源映像會產生相同但不同的目的地映像。 不過， AWS 不會複製任何使用者定義的標籤。此外，您只能複製您建立的自訂映像，不能複製 AWS提供的基礎映像。

**注意**  
一次最多只能將兩個映像複製到目標。如果映像複製目標達到映像限制，您會收到錯誤。若要在這種情況下複製映像，您必須先移除目標中的映像。當目標低於映像配額 (也稱為限制) 後，請從來源區域啟動映像複製。如需詳細資訊，請參閱[Amazon WorkSpaces 應用程式Service Quotas](limits.md)。

**將標籤新增至現有的映像**

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選取您要新增標籤的映像。

1. 選擇**標籤**、選擇**新增/編輯標籤**，然後選擇**新增標籤**。指定標籤的索引鍵和值，然後選擇**儲存**。

如需詳細資訊，請參閱[標記 Amazon WorkSpaces 應用程式資源](tagging-basic.md)。

**複製映像**

跨地理不同區域複製映像可讓您根據同一映像從多個區域串流應用程式。透過以更接近使用者的方式串流應用程式，您可以改善使用者使用 WorkSpaces 應用程式串流應用程式的體驗。

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Registry (映像登錄)**。

1. 在映像清單中，選取您要複製的映像。

1. 選擇 **Actions (動作)**、**Copy (複製)**。

1. 在 **Copy Image (複製映像)** 對話方塊中，指定下列資訊，然後選擇 **Copy Image (複製映像)**：
   + 針對 **Destination region (目標區域)**，選擇要放入複製新映像的區域。
   + 針對 **Name (名稱)**，指定映像複製到目標時會有的名稱。
   + 針對 **Description (描述)** (選用)，指定映像複製到目標時會有的描述。

1. 若要查看複製操作的進度，請返回主控台並導覽至 **Images (映像)**、**Image Registry (映像登錄)**。使用導覽列切換到目標區域 (如果適用)，確認您的新映像出現在映像清單中。

   新映像一開始出現在您主控台映像登錄中的狀態為 **Copying (正在複製)**。成功建立映像之後，映像狀態會變更為 **Available (可用)**，這表示您可以使用此映像啟動堆疊以及串流應用程式。

## 步驟 8：清除
<a name="tutorial-linux-image-finish"></a>

最後，您可以停止執行中的映像建置器來釋出資源，以免您的帳戶不小心產生費用。建議停止任何未使用的執行中映像建置器。如需詳細資訊，請參閱 [WorkSpaces 應用程式定價](https://aws.amazon.com/appstream2/pricing/)。

**停止執行中的映像建置器**

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Builders (映像建置器)**，然後選取執行中的映像建置器執行個體。

1. 選擇 **Actions (動作)**、**Stop (停止)**。

# 教學課程：啟用 Linux 映像的日文支援
<a name="enable-japanese-support-linux"></a>

本教學課程說明如何啟用 Linux 映像的日文支援。這可讓映像上的應用程式顯示日文字元，以及讓串流使用者在來自映像的串流工作階段中使用日文輸入法。

**Topics**
+ [步驟 1：安裝日文字型和輸入法](#tutorial-japanese-font)
+ [步驟 2：設定系統時區](#tutorial-japanese-zone)
+ [步驟 3：設定系統地區設定和顯示語言](#tutorial-japanese-locale)
+ [步驟 4：設定輸入法](#tutorial-japanese-input)
+ [步驟 5：設定鍵盤配置](#tutorial-japense-keyboard)
+ [步驟 6：在映像建置器上驗證](#tutorial-japense-verify)
+ [步驟 7：建立映像](#tutorial-japanese-create)

## 步驟 1：安裝日文字型和輸入法
<a name="tutorial-japanese-font"></a>

在此步驟中，您將連線 Linux 映像建置器並安裝您選擇的字型和輸入法套件。

**安裝日文字型和輸入法**

1. 執行下列兩項操作之一，以連線至映像建置器：
   + [使用 WorkSpaces 應用程式主控台](managing-image-builders-connect-console.md) （僅適用於 Web 連線）
   + [建立串流 URL](managing-image-builders-connect-streaming-URL.md) （適用於 Web 或 WorkSpaces 應用程式用戶端連線）
**注意**  
您將以 ImageBuilderAdmin 使用者身分登入 Amazon Linux GNOME 桌面，並擁有根管理員權限。

1. 安裝您需要的字型和輸入法。若要執行這項操作，請開啟終端機應用程式，然後執行下列命令：

   **sudo yum install vlgothic-p-fonts.noarch**

   **sudo yum install ibus-kkc.x86\$164**

1. 除了上述命令之外，對於 Rocky Linux 和 Red Hat Enterprise Linux，請執行下列命令：

   **sudo yum install glibc-langpack-ja**

## 步驟 2：設定系統時區
<a name="tutorial-japanese-zone"></a>

若要設定系統時區，請執行下列命令：

**sudo timedatectl set-timezone "Asia/Tokyo"**

## 步驟 3：設定系統地區設定和顯示語言
<a name="tutorial-japanese-locale"></a>

若要設定系統地區設定和顯示語言，請執行下列命令。

**設定系統地區設定和顯示語言**

1. 執行命令 **sudo vim /etc/cloud/cloud.cfg** 以更新 `cloud-init config` 檔案，並將 **locale** 變更為 **locale: ja\$1JP.utf8**，然後儲存並關閉檔案。

1. 執行 **sudo localectl set-locale LANG=ja\$1JP.utf8** 以更新系統設定。

1. 執行 **sudo gsettings set org.gnome.system.locale region "ja\$1JP.utf8"** 以更新 Gnome Shell 設定。

## 步驟 4：設定輸入法
<a name="tutorial-japanese-input"></a>

為您要新增至映像的應用程式設定輸入法。如需如何安裝應用程式、產生清單檔案以及建立預設設定的詳細資訊，請參閱 [教學課程：建立自訂 Linux 型 WorkSpaces 應用程式映像](tutorial-create-linux-image.md)。在此步驟中，我們假設您已安裝應用程式 Firefox，位於 `/usr/local/firefox/firefox`。

**設定輸入法**

1. 執行命令 **sudo vim /usr/local/bin/update-input-method.sh** 以建立指令碼，並將下列內容新增至指令碼：

   ```
   #!/bin/bash
   
   function start_process()
   {
       command=$1
       process_name=$2
   
       process_count=$(pgrep $process_name -c)
       echo "$(date) current $process_name count: $process_count"
       while [ $process_count -lt 1 ]
       do
           echo "$(date) starting $process_name"
           eval $command
           sleep 1
           process_count=$(pgrep $process_name -c)
       done
       echo "$(date) $process_name started"
   }
   
   start_process "ibus-daemon --xim &" "ibus-daemon"
   start_process "/usr/libexec/ibus-engine-kkc --ibus &" "ibus-engine-kkc"
   
   gsettings set org.gnome.desktop.input-sources sources "[('ibus','kkc'), ('xkb', 'us')]"
   gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Control>space']"
   gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Control>space']"
   
   echo "$(date) updated input source and switch shortcut"
   ```

   在上方的指令碼中，第一個輸入來源 (‘ibus’, ‘kkc’) 是預設輸入法。您可以藉由變更輸入來源的順序來變更預設輸入法。此外，「Control\$1空格鍵」和「Shift\$1Control\$1空格鍵」已指定為切換輸入法的快速鍵組合。您可以指定自己的按鍵組合，供使用者在串流工作階段期間用來切換輸入法。

1. 建立用於啟動您要新增至映像之應用程式 (Firefox) 的指令碼。若要執行此操作，請執行命令 **sudo vim /usr/local/bin/firefox-jp.sh**，然後將下列內容新增至指令碼：

   ```
   #!/bin/bash
   
   # Gather required environment variables from the GNOME shell session
   while IFS= read -r -d $'\0' env_var; do
       case "$env_var" in
           DBUS_SESSION_BUS_ADDRESS=*|\
           GTK_IM_MODULE=*|\
           QT_IM_MODULE=*|\
           XMODIFIERS=*|\
           XAUTHORITY=*)
               echo "$env_var"
               export "$env_var"
               ;;
       esac
   done < "/proc/$(pgrep -u as2-streaming-user gnome-shell | head -n1)/environ"
   
   /usr/local/bin/update-input-method.sh > /var/tmp/update-input-method.log 2>&1 &
   
   /usr/local/firefox/firefox &
   ```

1. 執行下列命令以新增執行許可至這兩個指令碼：

   **sudo chmod \$1x /usr/local/bin/update-input-method.sh**

   **sudo chmod \$1x /usr/local/bin/firefox-jp.sh**

1. 如果您已為應用程式建立最佳化清單檔案，請執行下列命令，將應用程式啟動指令碼新增至應用程式目錄：

   ```
   sudo AppStreamImageAssistant add-application \
   --name firefox \
   --absolute-app-path /usr/local/bin/firefox-jp.sh \
   --display-name firefox \
   --absolute-icon-path /usr/local/firefox/browser/chrome/icons/default/default128.png \
   --absolute-manifest-path /tmp/firefox-manifest.txt
   ```

或者，您也可以將指令碼 update-input-method.sh 作為個別應用程式新增至映像的應用程式目錄，藉此設定輸入法。在串流工作階段期間，您的使用者可以啟動此應用程式以啟用日文輸入，並在相同工作階段內使用指定的快速鍵切換輸入法。

## 步驟 5：設定鍵盤配置
<a name="tutorial-japense-keyboard"></a>

設定鍵盤配置，以符合使用者在串流工作階段期間將使用的鍵盤。例如，您可以使用 **localectl list-keymaps** 命令列出所有可用的鍵盤映射，並使用 **sudo localectl set-keymap jp106** 命令將鍵盤映射設定為 106 個按鍵的日文鍵盤。

## 步驟 6：在映像建置器上驗證
<a name="tutorial-japense-verify"></a>

若要在映像建置器上進行驗證，請先執行命令 **sudo shutdown -r now** 以重新啟動映像建置器。重新啟動後，再次連線至映像建置器，並確認所有項目 (包括時區、地區設定、語言和輸入法) 都如預期運作。

## 步驟 7：建立映像
<a name="tutorial-japanese-create"></a>

在映像建置器上建立映像。如需詳細資訊，請參閱[教學課程：建立自訂 Linux 型 WorkSpaces 應用程式映像](tutorial-create-linux-image.md)。務必建立預設應用程式設定，包括您剛才設定的區域設定。如需詳細資訊，請參閱 [建立 Linux 型映像](create-linux-based-images.md) 中的「為您的使用者建立預設應用程式設定」。

從此映像建立的所有 Linux 機群執行個體都將具有相同的預設時區、地區設定、語言和輸入法設定，並且與映像的設定相同。

# 使用工作階段指令碼來管理 Amazon WorkSpaces 應用程式使用者的串流體驗
<a name="use-session-scripts"></a>

WorkSpaces 應用程式提供執行個體上的工作階段指令碼。當使用者的串流工作階段發生特定事件時，您可以使用這些指令碼來執行您自己的自訂指令碼。例如，您可以在使用者的串流工作階段開始之前，使用自訂指令碼來準備 WorkSpaces 應用程式環境。在使用者完成其串流工作階段之後，您也可以使用自訂指令碼來清除串流執行個體。

工作階段指令碼是在 WorkSpaces 應用程式映像中指定。這些指令碼在使用者環境或系統環境之內執行。如果您的工作階段指令碼使用標準輪出來撰寫資訊、錯誤或偵錯訊息，這些都可以選擇性地儲存在您 Amazon Web Services 帳戶內的 Amazon S3 儲存貯體中。

**Topics**
+ [串流工作階段開始之前執行指令碼](run-scripts-before-streaming-sessions-begin.md)
+ [在串流工作階段結束之後執行指令碼](run-scripts-after-streaming-sessions-end.md)
+ [建立和指定工作階段指令碼](create-specify-session-scripts.md)
+ [工作階段指令碼組態檔案](session-script-configuration-file.md)
+ [使用 Windows PowerShell 檔案](using-powershell-files-with-session-scripts.md)
+ [記錄工作階段指令碼輸出](logging-session-output.md)
+ [使用儲存連接器搭配工作階段指令碼](use-storage-connectors-with-session-scripts.md)
+ [為工作階段指令碼日誌啟用 Amazon S3 儲存貯體儲存](enable-S3-bucket-storage-session-script-logs.md)
+ [在多工作階段機群上使用工作階段指令碼](session-scripts-multi-session-fleets.md)

# 串流工作階段開始之前執行指令碼
<a name="run-scripts-before-streaming-sessions-begin"></a>

您可以設定指令碼來執行最長 60 秒，之後，使用者的應用程式才啟動，他們的串流工作階段才開始。這樣做可讓您在使用者開始串流其應用程式之前自訂 WorkSpaces 應用程式環境。當工作階段指令碼執行時，使用者會看到載入環。當您的指令碼成功完成或超過最長等待時間後，使用者的串流工作階段就會開始。如果您的指令碼未成功完成，則會顯示錯誤訊息給使用者。但是，不會阻止您的使用者使用其串流工作階段。

當您在 Windows 執行個體上指定檔案名稱時，您必須使用雙反斜線。例如：

C:\$1\$1Scripts\$1\$1Myscript.bat

如果未使用雙反斜線，便會顯示錯誤來通知您 .json 檔案的格式不正確。

**注意**  
當您的指令碼成功完成時，必須傳回 0 這個值。如果您的指令碼傳回 0 以外的值，WorkSpaces 應用程式會向使用者顯示錯誤訊息。

當您在串流工作階段開始之前執行指令碼，且未啟用 WorkSpaces 應用程式動態應用程式架構時，會發生下列程序：

![\[WorkSpaces Applications workflow diagram showing connection, application selection, and session launch steps.\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/images/session-scripts-without-DAF-non-domain-joined2.png)


1. 您的使用者連線到未加入網域的 WorkSpaces 應用程式機群執行個體。他們使用以下其中一個方法連接：
   + WorkSpaces 應用程式使用者集區
   + SAML 2.0
   + WorkSpaces 應用程式 API

1. 應用程式目錄會顯示在 WorkSpaces 應用程式入口網站中，您的使用者選擇要啟動的應用程式。

1. 發生以下其中一項：
   + 如果已針對使用者啟用應用程式設定持續性，則會下載並掛載應用程式設定虛擬硬碟 (VHD) 檔案，其中存放使用者的自訂項目和 Windows 設定。在這種情況下，需要 Windows 使用者登入。

     如需應用程式設定持續性的相關資訊，請參閱[為您的 WorkSpaces 應用程式使用者啟用應用程式設定持續性](app-settings-persistence.md)。
   + 如果應用程式設定持續性未啟用，但 Windows 使用者已登入。

1. 您的工作階段指令碼會開始。如果已針對使用者啟用持久性儲存，則儲存連接器掛載也會開始。如需持久性儲存的相關資訊，請參閱[為您的 WorkSpaces 應用程式使用者啟用和管理持久性儲存](persistent-storage.md)。
**注意**  
儲存連接器掛載並不需要完成，串流工作階段也會開始。如果工作階段指令碼比儲存連接器掛載更早完成，串流工作階段會開始。  
如需有關監控儲存連接器掛載狀態的資訊，請參閱[使用儲存連接器搭配工作階段指令碼](use-storage-connectors-with-session-scripts.md)。

1. 您的工作階段指令碼完成或逾時。

1. 使用者的串流工作階段會開始。

1. 使用者選擇的應用程式會啟動。

如需 WorkSpaces 應用程式動態應用程式架構的相關資訊，請參閱 [使用 WorkSpaces 應用程式動態應用程式架構來建置動態應用程式提供者](build-dynamic-app-provider.md)。

當您在串流工作階段開始之前執行指令碼並啟用 WorkSpaces 應用程式動態應用程式架構時，會發生下列程序：

![\[WorkSpaces Applications workflow from user login to application launch, including SAML authentication and session scripts.\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/images/session-scripts-with-DAF-domain-joined2.png)


1. 您的使用者會造訪您組織的 SAML 2.0 應用程式入口網站，並選擇 WorkSpaces 應用程式堆疊。

1. 它們連接到加入網域的 WorkSpaces 應用程式機群執行個體。

1. 如果已針對使用者啟用應用程式設定持續性，則會下載並掛載應用程式設定 VHD 檔案，其中存放使用者的自訂項目和 Windows 設定。

1. 發生 Windows 使用者登入。

1. 應用程式目錄會顯示在 WorkSpaces 應用程式入口網站中，您的使用者選擇要啟動的應用程式。

1. 您的工作階段指令碼會開始。如果已針對使用者啟用持久性儲存，則儲存連接器掛載也會開始。
**注意**  
儲存連接器掛載並不需要完成，串流工作階段也會開始。如果工作階段指令碼比儲存連接器掛載更早完成，串流工作階段會開始。  
如需有關監控儲存連接器掛載狀態的資訊，請參閱[使用儲存連接器搭配工作階段指令碼](use-storage-connectors-with-session-scripts.md)。

1. 您的工作階段指令碼完成或逾時。

1. 使用者的串流工作階段會開始。

1. 使用者選擇的應用程式會啟動。

# 在串流工作階段結束之後執行指令碼
<a name="run-scripts-after-streaming-sessions-end"></a>

您也可以將您的指令碼設定為在使用者的工作階段結束之後執行。例如，當使用者從 WorkSpaces 應用程式工具列選取**結束工作階段**，或當他們達到工作階段允許的持續時間上限時，您可以執行指令碼。您也可以使用這些工作階段指令碼，在串流執行個體終止之前清除 WorkSpaces 應用程式環境。例如，您可以使用指令碼來發行檔案鎖定或上傳日誌檔。當您在串流工作階段結束之後執行指令碼時，則處理如下：

![\[Flowchart showing WorkSpaces Applications session termination process with scripts and storage actions.\]](http://docs.aws.amazon.com/zh_tw/appstream2/latest/developerguide/images/session-scripts-termination.png)


1. 使用者的 WorkSpaces 應用程式串流工作階段結束。

1. 您的工作階段終止指令碼會開始。

1. 工作階段終止指令碼完成或逾時。

1. 發生 Windows 使用者登出。

1. 以下一項或兩項同時發生 (如果適用)：
   + 如果已針對使用者啟用應用程式設定持續性，則會卸載應用程式設定 VHD 檔案 (其中存放使用者的自訂項目和 Windows 設定)，並上傳到您帳戶中的 Amazon S3 儲存貯體。
   + 如果已針對使用者啟用持久性儲存，則儲存連接器會完成最終同步，然後卸載。

1. 機群執行個體會終止。

# 建立和指定工作階段指令碼
<a name="create-specify-session-scripts"></a>

您可以設定和指定 Always-on、On-demand 和彈性機群的工作階段指令碼。

**設定和指定 Always-on 和 On-demand 機群的工作階段指令碼**

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在導覽窗格中，選擇 **Images (映像)**、**Image Builder (映像建置器)**。

1. 選擇處於 **Running (執行中)** 狀態的映像建置器，然後選擇 **Connect (連線)**。

1. 出現提示時，請選擇 **Administrator (管理員)**。

1. 導覽至 `C:\AppStream\SessionScripts` 並開啟 `config.json` 組態檔案。

   如需工作階段指令碼參數的相關資訊，請參閱[工作階段指令碼組態檔案](session-script-configuration-file.md)。

1. 完成變更之後，儲存並關閉 `config.json` 檔案。

1. 在映像建置器桌面上開啟**映像助理**。

1. (選用) 您可以指定要包含在映像中的任何其他應用程式。

1. 按照映像助理的必要步驟建立映像。

   如果無法驗證工作階段指令碼組態 (例如，如果 .json 檔案格式不正確)，當您選擇 **Disconnect and create image (中斷連線並建立映像)** 會收到通知。
**注意**  
若要為 Linux 型映像建置器尋找工作階段指令碼組態檔案，請瀏覽至 `/opt/appstream/SessionScripts/config.json`。

**設定和指定彈性機群的工作階段指令碼**

1. 建立包含工作階段指令碼和 config.json 檔案的 zip 檔案。指令碼檔案將複製到下列位置。您必須使用這些位置儲存 config.json。
   + 若是 Windows，使用 `C:\AppStream\SessionScripts\SessionScript`。
   + 若是 Linux，使用 `/opt/appstream/SessionScripts/SessionScript`。
**注意**  
若要執行工作階段指令碼檔案，請確定 .zip 檔案只包含工作階段指令碼和 `config.json` 檔案，且未包含資料夾。如需詳細資訊，請參閱[工作階段指令碼組態檔案](session-script-configuration-file.md)。

1. 將 zip 檔案上傳至帳戶中的 Amazon S3 儲存貯體。
**注意**  
您的 VPC 必須提供 Amazon S3 儲存貯體的存取權。如需詳細資訊，請參閱[將 Amazon S3 VPC 端點用於 WorkSpaces 應用程式功能](managing-network-vpce-iam-policy.md)。  
您必須在相同的 中擁有 S3 儲存貯體和 WorkSpaces 應用程式機群 AWS 區域。  
您必須擁有 IAM 許可才能對 Amazon S3 儲存貯體中的工作階段指令碼物件執行 `S3:GetObject` 動作。若要深入了解如何在 Amazon S3 儲存貯體中存放工作階段指令碼，請參閱 [將應用程式圖示、安裝指令碼、工作階段指令碼和 VHD 儲存在 S3 儲存貯體中](store-s3-bucket.md)。

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在導覽窗格中，選擇 **Fleets (機群)**。

1. 選擇您要更新的彈性機群，然後選擇**檢視詳細資訊**。

1. 在**工作階段指令碼設定**索引標籤上，選擇**編輯**。

1. 針對 **S3 中的工作階段指令碼物件**，輸入代表工作階段指令碼物件的 S3 URI，或選擇**瀏覽 S3**，以導覽至您的 S3 儲存貯體並尋找工作階段指令碼物件。

1. 完成變更之後，選擇**儲存變更**。

1. 此時，工作階段指令碼會提供給所有已啟動的機群執行個體使用。
**注意**  
您也可以在建立新的彈性機群時設定工作階段指令碼。

# 工作階段指令碼組態檔案
<a name="session-script-configuration-file"></a>

若要在 Windows 執行個體中尋找工作階段指令碼組態檔案，請導覽至 C:\$1AppStream\$1SessionScripts\$1config.json。在 Linux 執行個體上，瀏覽至 /opt/appstream/SessionScripts/config.json。檔案的格式如下所示。

**注意**  
組態檔案為 .json 格式。確認您在此檔案中輸入的任何文字都是有效的 .json 格式。

```
{
  "SessionStart": {
    "executables": [
      {
        "context": "system",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      },
      {
        "context": "user",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      }
    ],
    "waitingTime": 30
  },
  "SessionTermination": {
    "executables": [
      {
        "context": "system",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      },
      {
        "context": "user",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      }
    ],
    "waitingTime": 30
  }
}
```

您可以在工作階段指令碼組態檔案中使用以下參數。

***SessionStart/SessionTermination ***  
在適當的工作階段事件中根據物件名稱執行的工作階段指令碼。  
**類型：**字串  
**必要**：否  
**允許的值：****SessionStart**、**SessionTermination**

***WaitingTime***  
工作階段指令碼的最長持續時間 (以秒為單位)。  
**類型**：整數  
**必要**：否  
**限制：**最長持續時間為 60 秒。如果工作階段指令碼在此期間內未完成，則會停下。如果需要讓指令碼繼續執行，請以單獨程序的形式來加以啟動。

***Executables***  
要執行的指令碼工作階段的詳細資訊。  
**類型：**字串  
**必要**：是  
**限制：**針對每個工作階段事件可執行的指令碼數量上限為 2 (一個用於使用者環境，另一個用於系統環境)。

***Context***  
用來執行工作階段指令碼的環境。  
**類型：**字串  
**必要**：是  
**允許的值：****user**、**system**

***Filename***  
要執行的工作階段指令碼的完整路徑。如果未指定此參數，則工作階段指令碼不會執行。  
**類型：**字串  
**必要**：否  
**限制：**檔案名稱和完整路徑的最大長度為 1,000 個字元。  
**允許的值：****.bat**、**.exe**、 **.sh**  
您也可以使用 Windows PowerShell 檔案。如需詳細資訊，請參閱[使用 Windows PowerShell 檔案](using-powershell-files-with-session-scripts.md)。

***Arguments (引數)***  
工作階段指令碼或可執行檔的引數。  
**類型：**字串  
**必要**：否  
**長度限制：**長度上限為 1,000 個字元。

***S3LogEnabled***  
當此參數的值設為 **True** 時，您的 Amazon Web Services 帳戶內會建立 S3 儲存貯體，以存放工作階段指令碼所建立的日誌。依預設，此值是設為 **True**。如需詳細資訊，請參閱本主題稍後的*記錄工作階段指令碼輸出*一節。  
**類型**：布林值  
**必要**：否  
**允許的值：****True**、**False**

# 使用 Windows PowerShell 檔案
<a name="using-powershell-files-with-session-scripts"></a>

若要使用 Windows PowerShell 檔案，請在 **filename** 參數中指定 PowerShell 檔案的完整路徑：

```
"filename": 
"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
```

然後，在 **arguments** 參數中指定您的工作階段指令碼：

```
"arguments": "-File \"C:\\path\\to\\session\\script.ps1\"",
```

最後，確認 PowerShell 執行政策允許您的 PowerShell 檔案執行。

# 記錄工作階段指令碼輸出
<a name="logging-session-output"></a>

在組態檔案中啟用此選項時，WorkSpaces 應用程式會自動從寫入標準輸出的工作階段指令碼擷取輸出。此輸出會上傳到您帳戶中的 Amazon S3 儲存貯體。您可以檢閱日誌檔以進行故障排除或偵錯。

**注意**  
當工作階段指令碼傳回一個值，或 **WaitingTime** 中設定值已超過時 (以先到者為準)，就會上傳日誌檔。

# 使用儲存連接器搭配工作階段指令碼
<a name="use-storage-connectors-with-session-scripts"></a>

啟用 WorkSpaces 應用程式儲存連接器時，它們會在工作階段啟動指令碼執行時開始掛載。如果您的指令碼須使用掛載的儲存連接器，您可以等待連接器變成可用。WorkSpaces 應用程式會在 Windows 執行個體的 Windows 登錄檔中維護儲存連接器的掛載狀態，金鑰如下：

HKEY\$1LOCAL\$1MACHINE\$1SOFTWARE\$1Amazon\$1AppStream\$1Storage\$1<提供的使用者名稱>\$1<儲存連接器>

登錄機碼值如下：
+ 提供的使用者名稱：透過存取模式提供的使用者 ID。每個模式的存取模式和值如下：
  + 使用者集區：使用者的電子郵件地址
  + 串流 URL：UserID
  + SAML：NameID。如果使用者名稱包含斜線 (例如，網域使用者的 SAMAccountName)，斜線會換成 "-" 字元。
+ 儲存連接器：為使用者啟用的持久性儲存選項的連接器。儲存連接器值如下：
  + HomeFolder
  + GoogleDrive
  + OneDrive

每個儲存連接器登錄機碼都會包含 **MountStatus** DWORD 值。下表列出可能的 **MountStatus** 值。

**注意**  
若要檢視這些登錄機碼，您的映像必須安裝 Microsoft .NET Framework 4.7.2 版或更新版本。


| Value | Description | 
| --- | --- | 
| 0 |  未針對此使用者啟用儲存連接器  | 
| 1 |  儲存連接器掛載正在進行中  | 
| 2 |  儲存連接器掛載成功  | 
| 3 |  儲存連接器掛載失敗  | 
| 4 |  儲存連接器掛載已啟用，但尚未掛載  | 

在 Linux 執行個體中，您可以查看 \$1/.config/appstream-home-folder/appstream-home-folder-mount-status 檔案中 appstream\$1home\$1folder\$1mount\$1status 的值，以檢查主資料夾掛載狀態。


| Value | Description | 
| --- | --- | 
| True |  已成功掛載主資料夾  | 
| False | 未掛載主資料夾 | 

# 為工作階段指令碼日誌啟用 Amazon S3 儲存貯體儲存
<a name="enable-S3-bucket-storage-session-script-logs"></a>

當您在工作階段指令碼組態中啟用 Amazon S3 記錄時，WorkSpaces 應用程式會從工作階段指令碼擷取標準輸出。此輸出會定期上傳到您的 Amazon Web Services 帳戶內的 S3 儲存貯體。對於每個 AWS 區域，WorkSpaces 應用程式會在您的帳戶中建立專屬於您的帳戶和區域的儲存貯體。

您不需要執行任何設定任務來管理這些 S3 儲存貯體。它們完全由 WorkSpaces 應用程式服務管理。存放在每個儲存貯體中的日誌檔在傳輸中會使用 Amazon S3 的 SSL 端點加密，靜態時則使用 Amazon S3 的受管加密金鑰加密。儲存貯體使用特定格式命名，如下所示：

```
appstream-logs-region-code-account-id-without-hyphens-random-identifier
```

***region-code***  
這是在為工作階段指令碼日誌啟用 Amazon S3 儲存貯體儲存的情況下建立堆疊 AWS 的區域碼。

***account-id-without-hyphens***  
您的 Amazon Web Services 帳戶識別符。隨機 ID 可確保與該區域中的其他儲存貯體不發生衝突。儲存貯體名稱的第一部分 `appstream-logs`，不會因為跨帳戶或區域而變更。

例如，如果您在美國西部 （奧勒岡） 區域 (us-west-2) 的 映像中，於帳號 123456789012 指定工作階段指令碼，WorkSpaces 應用程式會在您的帳戶內建立 Amazon S3 儲存貯體，並顯示名稱。只有具備足夠許可的管理員可以刪除這個儲存貯體。

```
appstream-logs-us-west-2-1234567890123-abcdefg
```

停用工作階段指令碼不會刪除任何存放在 S3 儲存貯體的日誌檔。您或具有足夠許可的其他管理員必須使用 Amazon S3 主控台或 API，才能永久刪除日誌檔。WorkSpaces 應用程式會新增儲存貯體政策，以防止意外刪除儲存貯體。如需詳細資訊，請參閱 [Amazon WorkSpaces 應用程式的 Identity and Access Management](controlling-access.md) 中的 *IAM 政策和應用程式設定持續性的 Amazon S3 儲存貯體*。

當工作階段指令碼啟用時，將會為每個啟動的串流工作階段建立唯一資料夾。

 在您的帳戶中，日誌檔存放在 S3 儲存貯體中的資料夾路徑使用以下結構：

```
bucket-name/stack-name/fleet-name/access-mode/user-id-SHA-256-hash/session-id/SessionScriptsLogs/session-event
```

***bucket-name***  
存放工作階段指令碼的 S3 儲存貯體名稱。名稱格式如本節前文所述。

***stack-name***  
工作階段的來源堆疊名稱。

***fleet-name***  
執行工作階段指令碼的機群名稱。

***access-mode***  
使用者的身分方法：`custom`適用於 WorkSpaces 應用程式 API 或 CLI、`federated`適用於 SAML，以及`userpool`適用於使用者集區中的使用者。

***user-id-SHA-256-hash***  
使用者特定的資料夾名稱。此名稱是使用從使用者識別符產生的小寫 SHA-256 雜湊十六進位字串建立。

***session-id***  
使用者串流工作階段的識別符。每個使用者串流工作階段都會產生唯一 ID。

***session-event***  
產生工作階段指令碼日誌的事件。事件值為：`SessionStart` 和 `SessionTermination`。

以下範例資料夾結構適用於從 test-stack 和 test-fleet 開始的串流工作階段。工作階段使用`testuser@mydomain.com`來自 AWS 帳戶 之 ID 的使用者 ID 的 API`123456789012`，以及`test-stack`美國西部 （奧勒岡） 區域中的設定群組 (us-west-2)：

```
appstream-logs-us-west-2-1234567890123-abcdefg/test-stack/test-fleet/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13/05yd1391-4805-3da6-f498-76f5x6746016/SessionScriptsLogs/SessionStart/
```

在此範例資料夾結構中，一個日誌檔用於使用者環境工作階段開始指令碼，另一個日誌檔用於系統環境工作階段開始指令碼 (如果適用)。

# 在多工作階段機群上使用工作階段指令碼
<a name="session-scripts-multi-session-fleets"></a>

在多工作階段機群上使用工作階段指令碼時，還有其他要求和考量，以確保最佳效能和安全性。

## 要求
<a name="session-scripts-multi-session-fleets-requirements"></a>

在單一工作階段機群上，對於指定的執行個體，**SessionStart** 和 **SessionTermination** 掛鉤保證只會執行一次。這是因為有 1：1 的工作階段映射到 執行個體。使用多工作階段機群時，會有一個工作階段到執行個體的 N：M 映射，其中每個工作階段都會執行自己的 **SessionStart** 和 **SessionTermination** hook。這表示 **SessionStart** 和 **SessionTermination** 掛鉤可以在指定的執行個體上執行多次，並以許多不同的順序執行。為了獲得最佳體驗，在多工作階段機群上使用時，工作階段指令碼應該符合以下條件：
+ 指令碼是等冪的。

  當已執行動作時，指令碼應處理相同執行個體上的多個執行，並處理得體。
+ 指令碼是獨立的。

  由於指令碼每個工作階段執行，如果一個工作階段正在執行 **SessionTermination**，而另一個工作階段正在執行 **SessionStart**，則不應互相干擾或其他工作階段的體驗。
+ 指令碼具有效能。

  在多工作階段執行個體上，可以同時佈建多個工作階段。這表示工作階段指令碼可以有多個並行執行。指令碼應該有效率、不會耗用過多的資源，也不會影響其他使用者在執行個體上的體驗或工作階段的穩定性。

許多這些需求可以透過將工作階段指令碼邏輯專注於執行指令碼的特定使用者工作階段來滿足。

## 安全考量
<a name="session-scripts-multi-session-fleets-security"></a>

WorkSpaces 應用程式映像不應設定為允許任何使用者寫入工作階段指令碼檔案。這為惡意使用者引入了關鍵的攻擊向量，他們可以在其中修改指令碼檔案。這些檔案接著可以做為 SYSTEM 或其他使用者執行，視您的組態而定。

**重要**  
您有責任確保您的 WorkSpaces 應用程式映像設定安全。這對於多工作階段執行個體特別重要，其中多個使用者正在使用相同的執行個體。如果未安全地設定映像，則該執行個體的所有使用者都會面臨安全風險。

您的映像和工作階段指令碼檔案應該為真：
+ 使用者沒有修改工作階段指令碼檔案的許可。
+ 使用者沒有修改工作階段指令碼 config.json 的許可。映像上的預設行為會限制管理員的存取。

工作階段指令碼可執行檔應存放在安全的位置，可在執行時間安全地進行修改。

如果服務偵測到工作階段指令碼可執行檔已修改，則該執行個體上該掛鉤的任何後續執行將會失敗、將日誌檔案上傳至 Amazon S3 （如果已啟用 Amazon S3 記錄），而且您會看到下列訊息：

**工作階段指令碼未執行，因為執行個體佈建後已修改可執行檔。基於安全考量，已略過執行。**

如果您的使用案例需要在執行時間修改工作階段指令碼可執行檔 （例如，如果您指向執行時間自動更新程序修改的 EXE 檔案），則上述檢查將會失敗。在此情況下，請使用指令碼將執行重新導向至修改後的可執行檔。當服務執行安全檢查時，讓指令碼在執行時間保持不變。

如果您的工作階段指令碼檔案過大 （超過 100 MB)，這可能會導致執行個體和工作階段佈建延遲，而安全檢查需要額外時間 （取決於執行個體類型和可用資源）。如果您的使用案例需要大型工作階段指令碼，請考慮使用較小的指令碼來重新導向執行。這將改善執行個體和工作階段佈建體驗。

請注意，服務只會檢查工作階段指令碼 config.json 中定義的可執行檔，而這只是備用/最佳工作量機制。您有責任確保工作階段指令碼可執行檔中的所有程式碼路徑都是安全的，而且無法由最終使用者修改。