

• 2026 年 4 月 30 日之後， AWS Systems Manager CloudWatch Dashboard 將不再可用。客戶可以繼續使用 Amazon CloudWatch 主控台來檢視、建立和管理其 Amazon CloudWatch 儀表板，就像現在一樣。如需詳細資訊，請參閱 [Amazon CloudWatch Dashboard 文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

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

# AWS Systems ManagerPatch Manager 教學課程
<a name="patch-manager-tutorials"></a>

本節中的教學課程示範如何針對多種修補案例使用 中的Patch Manager工具 AWS Systems Manager。

**Topics**
+ [教學課程：修補僅限 IPv6 環境中的伺服器](patch-manager-server-patching-iPv6-tutorial.md)
+ [教學課程：使用主控台建立安裝 Windows Service Pack 的修補基準](patch-manager-windows-service-pack-patch-baseline-tutorial.md)
+ [教學課程：使用主控台更新應用程式相依性、修補受管節點，以及執行應用程式特定的運作狀態檢查](aws-runpatchbaselinewithhooks-tutorial.md)
+ [教學課程：使用 修補伺服器環境 AWS CLI](patch-manager-patch-servers-using-the-aws-cli.md)

# 教學課程：修補僅限 IPv6 環境中的伺服器
<a name="patch-manager-server-patching-iPv6-tutorial"></a>

Patch Manager 支援修補只有 IPv6 的環境中的節點。透過更新SSM Agent組態，修補操作可以設定為僅呼叫 IPv6 服務端點。

**修補僅限 IPv6 環境中的伺服器**

1. 確保 3SSM Agent.3270.0 版或更新版本已安裝在受管節點上。

1. 在受管節點上，導覽至SSM Agent組態檔案。您可以在下列目錄中找到 `amazon-ssm-agent.json` 檔案：
   + Linux：`/etc/amazon/ssm/`
   + macOS: `/opt/aws/ssm/`
   + Windows Server: `C:\Program Files\Amazon\SSM`

   如果 尚`amazon-ssm-agent.json`不存在，請將相同目錄`amazon-ssm-agent.json.template`下的 內容複製到 `amazon-ssm-agent.json`。

1. 更新下列項目以設定正確的區域，並將 `UseDualStackEndpoint`設定為 `true`：

   ```
   {
    --------
       "Agent": {
           "Region": "region",
           "UseDualStackEndpoint": true
       },
   --------
   }
   ```

1. 使用適用於您作業系統的適當命令重新啟動SSM Agent服務：
   + Linux：`sudo systemctl restart amazon-ssm-agent`
   + Ubuntu Server 使用 Snap： `sudo snap restart amazon-ssm-agent`
   + macOS：`sudo launchctl stop com.amazon.aws.ssm`後面接著 `sudo launchctl start com.amazon.aws.ssm`
   + Windows Server：`Stop-Service AmazonSSMAgent`後面接著 `Start-Service AmazonSSMAgent`

   如需每個作業系統的完整命令清單，請參閱 [檢查 SSM Agent 狀態並啟動代理程式](ssm-agent-status-and-restart.md)。

1. 執行任何修補操作，以驗證修補操作在您的IPv6-only環境中是否成功。確保要修補的節點具有與修補程式來源的連線。您可以檢查修補執行的Run Command輸出，以檢查有關無法存取儲存庫的警告。修補僅限 IPv6 環境中執行的節點時，請確定節點已連線至修補程式來源。您可以檢查修補執行的Run Command輸出，以檢查有關無法存取儲存庫的警告。對於以 DNF 為基礎的作業系統，如果 `skip_if_unavailable`選項設定為 `True`下，則可以設定在修補期間略過無法使用的儲存庫`/etc/dnf/dnf.conf`。DNF 型作業系統包括 Amazon Linux 2023、8 Red Hat Enterprise Linux 和更新版本、8 Oracle Linux 和更新版本、Rocky Linux、AlmaLinux、CentOS 8 和更新版本。在 Amazon Linux 2023 上，`skip_if_unavailable`選項`True`預設為 。
**注意**  
 使用安裝覆寫清單或基準覆寫功能時，請確定可從節點存取提供的 URL。如果SSM Agent組態選項`UseDualStackEndpoint`設定為 `true`，則會在提供 S3 URL 時使用雙堆疊 S3 用戶端。

# 教學課程：使用主控台建立安裝 Windows Service Pack 的修補基準
<a name="patch-manager-windows-service-pack-patch-baseline-tutorial"></a>

當您建立自訂修補基準時，可以指定安裝所有、部分或僅安裝一種支援的修補程式類型。

在 Windows 的修補基準中，您可以選取 `ServicePacks` 做為唯一的 **Classification (分類)** 選項，以限制僅修補 Service Pack 的更新。中的工具 Patch Manager可以自動安裝 Service Pack AWS Systems Manager，前提是更新可在 Windows Update 或 Windows Server Update Services (WSUS) 中使用。

您可以設定修補基準，以控制是否安裝所有 Windows 版本的 Service Pack，或只安裝特定版本 (例如 Windows 7 或 Windows Server 2016) 的 Service Pack。

使用下列程序建立自訂修補基準，專門用在 Windows 受管節點上安裝所有 Service Pack。

**建立修補基準用於安裝 Windows Service Pack (主控台)**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Patch Manager**。

1. 選擇**修補基準**索引標籤，然後選擇**建立修補基準**。

1. 在 **Name (名稱)** 中，為新的修補基準輸入一個名稱，例如 `MyWindowsServicePackPatchBaseline`。

1. (選用) 在 **Description (描述)** 中，輸入此修補基準的描述。

1. 在 **Operating system (作業系統)** 中，選擇 `Windows`。

1. 如果要在建立 Windows 時立即開始將此修補基準做為 Windows 的預設設定，請選擇 **Set this patch baseline as the default patch baseline for Windows Server instances (將此修補基準設為 Windows Server 執行個體的預設修補基準)**。
**注意**  
唯有當您在 2022 年 12 月 22 日[修補程式政策](patch-manager-policies.md)發行前第一次存取 Patch Manager，才能使用此選項。  
如需有關設定現有修補基準為預設的更多資訊，請參閱 [將現有的修補基準設為預設值 (主控台)](patch-manager-default-patch-baseline.md)。

1. 在 **Approval rules for operating system (作業系統核准規則)** 部分中，使用欄位來建立一或多個自動核准規則。
   + **產品**：核准規則適用的作業系統版本，例如 `WindowsServer2012`。您可以選擇一個、多個或所有支援的 Windows 版本。預設的選取為 `All`。
   + **Classification (分類)**：選擇 `ServicePacks`。
   + **Serverity (嚴重性)**：此規則適用的修補程式嚴重性值。若要確保所有 Service Pack 都包含在規則中，請選擇 `All`。
   + **Auto-approval (自動核准)**：選取修補程式以進行自動核准的方法。
     + **Approve patches after a specified number of days** (指定天數之後核准修補程式)：修補程式發行或更新之後，Patch Manager 自動核准修補程式之前的等待天數。您可以輸入零 (0) 到 360 的任何整數。在大部分情形下，建議等候不要超過 100 天。
     + **Approve patches released up to a specific date** (核准特定日期前發布的修補程式)：Patch Manager 會自動套用在此發行或更新日期當天或之前發行的所有修補程式。例如，如果您指定 2023 年 7 月 7 日，則不會自動安裝在 2023 年 7 月 8 日或之後發行或最後更新的修補程式。
   + (選用) **Compliance reporting (合規報告)**：您要指派給基準所核准之 Service Pack 的嚴重性等級，例如 `High`。
**注意**  
如果您指定合規報告等級，且任何核准之 Service Pack 的修補程式狀態回報為 `Missing`，則修補基準的整體報告合規嚴重性是您指定的嚴重性等級。

1. (選用) 對於 **Manage tags (管理標籤)**，請套用一或多個索引鍵名稱/值對至修補基準。

   標籤是您指派給資源的選用性中繼資料。標籤允許您以不同的方式 (例如用途、擁有者或環境) 將資源分類。針對此專用於更新 Service Pack 的修補基準，您可以指定如下所示的鍵值組：
   + `Key=OS,Value=Windows`
   + `Key=Classification,Value=ServicePacks`

1. 選擇 **Create patch baseline (建立修補基準)**。

# 教學課程：使用主控台更新應用程式相依性、修補受管節點，以及執行應用程式特定的運作狀態檢查
<a name="aws-runpatchbaselinewithhooks-tutorial"></a>

在許多情況下，受管節點必須在使用最新的軟體更新修補後重新啟動。不過，在沒有保護措施的生產環境中重新啟動節點，可能會導致數個問題，例如叫用警示、記錄不正確的指標資料，以及中斷資料同步。

此教學課程會示範如何透過使用 AWS Systems Manager 文件 (SSM 文件) `AWS-RunPatchBaselineWithHooks` 達成完成了以下項目的複雜、多步驟修補操作，以避免類似問題：

1. 防止新連線至應用程式

1. 安裝作業系統的更新。

1. 更新應用程式的套件相依性

1. 重新啟動系統

1. 執行應用程式特定的運作狀態檢查

在此範例中，以這種方式設定了基礎設施：
+ 目標虛擬機器會透過 Systems Manager 註冊為受管節點。
+ `Iptables` 會用作本機防火牆。
+ 受管節點上託管的應用程式正在連接埠 443 上執行。
+ 受管節點上託管的應用程式是 `nodeJS` 應用程式。
+ 受管節點上託管的應用程式由 pm2 程序管理工具管理。
+ 應用程式已經有指定的運作狀態檢查端點。
+ 應用程式的運作狀態檢查端點不需要最終使用者身分驗證。端點允許執行符合組織建立可用性需求的運作狀態檢查。(在您的環境中，完全可以簡單地確定 `nodeJS` 應用程式正在執行，並能夠監聽請求。在其他情形下，您可能還想要驗證快取層或資料庫層的連線是否已經建立)。

本教學課程中的範例僅供示範之用，並不代表在生產環境中以原樣實作。另外，請記住，具有 `AWS-RunPatchBaselineWithHooks` 文件的 Patch Manager lifecycle hook 功能 (Systems Manager 中的工具)，可以支援許多其他案例。以下是數個範例。
+ 受管節點重新啟動之後，在修補和重新啟動之前，停止指標報告代理程式。
+ 修補之前將受管節點從 CRM 或 PCS 叢集分開，並在節點重新啟動之後重新連接。
+ 作業系統 (OS) 更新套用之後，但在受管節點重新開機之前，在 Windows Server 機器上更新第三方軟體 (例如，Java、Tomcat、Adobe 應用程式等)。

**更新應用程式相依性、修補受管節點，以及執行應用程式特定的運作狀態檢查**

1. 使用下列內容建立預先安裝指令碼的 SSM 文件，並命名為 `NodeJSAppPrePatch`。使用應用程式的名稱取代 *your\$1application*。

   此指令碼會立即封鎖新的傳入請求，並在開始修補操作之前提供五秒鐘，讓已處於作用中狀態的請求完成。對於 `sleep` 選項，指定的秒數要大於完成傳入請求通常所需的秒數。

   ```
   # exit on error
   set -e
   # set up rule to block incoming traffic
   iptables -I INPUT -j DROP -p tcp --syn --destination-port 443 || exit 1
   # wait for current connections to end. Set timeout appropriate to your application's latency
   sleep 5 
   # Stop your application
   pm2 stop your_application
   ```

   如需有關建立 SSM 文件的資訊，請參閱 [建立 SSM 文件內容](documents-creating-content.md)。

1. 為您的安裝後指令碼建立具有以下內容的另一個 SSM 文件，以更新應用程式相依性並將其命名為 `NodeJSAppPostPatch`。使用您應用程式的路徑取代 */your/application/path*。

   ```
   cd /your/application/path
   npm update 
   # you can use npm-check-updates if you want to upgrade major versions
   ```

1. 為您的 `onExit` 指令碼建立另一個 SSM 文件，其中包含下列內容，讓您的應用程式備份並執行運作狀態檢查。命名此 SSM 文件 `NodeJSAppOnExitPatch`。使用應用程式的名稱取代 *your\$1application*。

   ```
   # exit on error
   set -e
   # restart nodeJs application
   pm2 start your_application
   # sleep while your application starts and to allow for a crash
   sleep 10
   # check with pm2 to see if your application is running
   pm2 pid your_application
   # re-enable incoming connections
   iptables -D INPUT -j DROP -p tcp --syn --destination-port 
   # perform health check
   /usr/bin/curl -m 10 -vk -A "" http://localhost:443/health-check || exit 1
   ```

1. 在 State Manager ( AWS Systems Manager中的工具) 中建立關聯，以執行下列步驟來核發操作：

   1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

   1. 在導覽窗格中，選擇 **State Manager**，然後選擇 **Create association (建立關聯)**。

   1. 對於 **Name** (名稱)，請提供名稱以協助識別關聯的目的。

   1. 在 **Document** (文件) 清單中，請選擇 `AWS-RunPatchBaselineWithHooks`。

   1. 針對 **Operation** (操作)，選擇 **Install** (安裝)。

   1. (選用) 對於 **Snapshot Id** (快照 ID)，提供您產生的 GUID，以協助加速操作並確保一致性。GUID 值可以像 `00000000-0000-0000-0000-111122223333` 一樣簡單。

   1. 對於 **Pre Install Hook Doc Name** (安裝前掛鉤文件名稱)，請輸入 `NodeJSAppPrePatch`。

   1. 對於 **Post Install Hook Doc Name** (安裝後掛鉤文件名稱)，請輸入 `NodeJSAppPostPatch`。

   1. 對於 **On ExitHook Doc Name** (結束時掛鉤文件名稱)，請輸入 `NodeJSAppOnExitPatch`。

1. 對於 **Targets** (目標)，透過指定標籤、手動選擇節點、選擇資源群組或選擇所有受管節點來識別您的受管節點。

1. 對於 **Specify schedule** (指定排程)，請指定執行關聯的頻率。對於受管節點修補，每週一次是常見頻率。

1. 在 **Rate control** (速率控制) 區段中，選擇選項來控制關聯在多個受管節點上的執行方式。確保一次僅更新部分受管節點。否則，您的所有或大部分機群都可能立即離線。如需使用速率控制的詳細資訊，請參閱[了解 State Manager 關聯中的目標和速率控制](systems-manager-state-manager-targets-and-rate-controls.md)。

1. (選用) 針對**輸出選項**，若要將命令輸出儲存至檔案，請選取**啟用將輸出寫入 S3** 方塊。在方塊中輸入儲存貯體和字首 (資料夾) 名稱。
**注意**  
授予能力以將資料寫入至 S3 儲存貯體的 S3 許可，會是指派給受管節點之執行個體設定檔的許可，而不是執行此任務之 IAM 使用者的許可。如需詳細資訊，請參閱[設定 Systems Manager 所需的執行個體許可](setup-instance-permissions.md)或[建立混合環境的 IAM 服務角色](hybrid-multicloud-service-role.md)。此外，若指定的 S3 儲存貯體位於不同的 AWS 帳戶內，請驗證與受管節點相關聯的執行個體設定檔或 IAM 服務角色是否具有寫入該儲存貯體的必要許可。

1. 選擇 **Create Association (建立關聯)**。

# 教學課程：使用 修補伺服器環境 AWS CLI
<a name="patch-manager-patch-servers-using-the-aws-cli"></a>

以下程序說明如何使用自訂修補程式基線、修補程式群組及維護時段來修補伺服器環境。

**開始之前**
+ 在受管節點上安裝或更新 SSM Agent。若要修補 Linux 受管節點，您的節點必須執行 SSM Agent 2.0.834.0 版或更新的版本。如需詳細資訊，請參閱[使用 Run Command 更新 SSM Agent](run-command-tutorial-update-software.md#rc-console-agentexample)。
+ 設定 中Maintenance Windows工具 的角色和許可 AWS Systems Manager。如需詳細資訊，請參閱[設定 Maintenance Windows](setting-up-maintenance-windows.md)。
+ 如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI)，請安裝並設定 。

  如需相關資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

**設定 Patch Manager 並修補受管節點 (命令列)**

1. 執行下列命令以建立名為 `Production-Baseline` 的 Windows 修補基準。此修補基準會在修補程式發行或最後更新 7 天後核准生產環境的修補程式。也就是說，我們已標記修補基準，以表示其用於生產環境。
**注意**  
`OperatingSystem` 參數和 `PatchFilters` 取決於修補基準所套用之目標受管節點的作業系統。如需詳細資訊，請參閱 [OperatingSystem](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreatePatchBaseline.html#systemsmanager-CreatePatchBaseline-request-OperatingSystem) 和 [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html)。

------
#### [ Linux & macOS ]

   ```
   aws ssm create-patch-baseline \
       --name "Production-Baseline" \
       --operating-system "WINDOWS" \
       --tags "Key=Environment,Value=Production" \
       --approval-rules "PatchRules=[{PatchFilterGroup={PatchFilters=[{Key=MSRC_SEVERITY,Values=[Critical,Important]},{Key=CLASSIFICATION,Values=[SecurityUpdates,Updates,ServicePacks,UpdateRollups,CriticalUpdates]}]},ApproveAfterDays=7}]" \
       --description "Baseline containing all updates approved for production systems"
   ```

------
#### [ Windows Server ]

   ```
   aws ssm create-patch-baseline ^
       --name "Production-Baseline" ^
       --operating-system "WINDOWS" ^
       --tags "Key=Environment,Value=Production" ^
       --approval-rules "PatchRules=[{PatchFilterGroup={PatchFilters=[{Key=MSRC_SEVERITY,Values=[Critical,Important]},{Key=CLASSIFICATION,Values=[SecurityUpdates,Updates,ServicePacks,UpdateRollups,CriticalUpdates]}]},ApproveAfterDays=7}]" ^
       --description "Baseline containing all updates approved for production systems"
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "BaselineId":"pb-0c10e65780EXAMPLE"
   }
   ```

1. 執行下列命令，以註冊兩個修補程式群組的「Production-Baseline」修補基準。群組命名為「資料庫伺服器」和「前端伺服器」。

------
#### [ Linux & macOS ]

   ```
   aws ssm register-patch-baseline-for-patch-group \
       --baseline-id pb-0c10e65780EXAMPLE \
       --patch-group "Database Servers"
   ```

------
#### [ Windows Server ]

   ```
   aws ssm register-patch-baseline-for-patch-group ^
       --baseline-id pb-0c10e65780EXAMPLE ^
       --patch-group "Database Servers"
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "PatchGroup":"Database Servers",
      "BaselineId":"pb-0c10e65780EXAMPLE"
   }
   ```

------
#### [ Linux & macOS ]

   ```
   aws ssm register-patch-baseline-for-patch-group \
       --baseline-id pb-0c10e65780EXAMPLE \
       --patch-group "Front-End Servers"
   ```

------
#### [ Windows Server ]

   ```
   aws ssm register-patch-baseline-for-patch-group ^
       --baseline-id pb-0c10e65780EXAMPLE ^
       --patch-group "Front-End Servers"
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "PatchGroup":"Front-End Servers",
      "BaselineId":"pb-0c10e65780EXAMPLE"
   }
   ```

1. 執行以下命令來為生產伺服器建立兩個維護時段。第一個時段為每個星期二的晚上 10 點。第二個時段為每個星期六的晚上 10 點。此外，維護時段已加上標籤，表示其用於生產環境。

------
#### [ Linux & macOS ]

   ```
   aws ssm create-maintenance-window \
       --name "Production-Tuesdays" \
       --tags "Key=Environment,Value=Production" \
       --schedule "cron(0 0 22 ? * TUE *)" \
       --duration 1 \
       --cutoff 0 \
       --no-allow-unassociated-targets
   ```

------
#### [ Windows Server ]

   ```
   aws ssm create-maintenance-window ^
       --name "Production-Tuesdays" ^
       --tags "Key=Environment,Value=Production" ^
       --schedule "cron(0 0 22 ? * TUE *)" ^
       --duration 1 ^
       --cutoff 0 ^
       --no-allow-unassociated-targets
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "WindowId":"mw-0c50858d01EXAMPLE"
   }
   ```

------
#### [ Linux & macOS ]

   ```
   aws ssm create-maintenance-window \
       --name "Production-Saturdays" \
       --tags "Key=Environment,Value=Production" \
       --schedule "cron(0 0 22 ? * SAT *)" \
       --duration 2 \
       --cutoff 0 \
       --no-allow-unassociated-targets
   ```

------
#### [ Windows Server ]

   ```
   aws ssm create-maintenance-window ^
       --name "Production-Saturdays" ^
       --tags "Key=Environment,Value=Production" ^
       --schedule "cron(0 0 22 ? * SAT *)" ^
       --duration 2 ^
       --cutoff 0 ^
       --no-allow-unassociated-targets
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "WindowId":"mw-9a8b7c6d5eEXAMPLE"
   }
   ```

1. 執行下列命令，將 `Database` 和 `Front-End` 伺服器修補程式群組註冊到各自的維護時段。

------
#### [ Linux & macOS ]

   ```
   aws ssm register-target-with-maintenance-window \
       --window-id mw-0c50858d01EXAMPLE \
       --targets "Key=tag:PatchGroup,Values=Database Servers" \
       --owner-information "Database Servers" \
       --resource-type "INSTANCE"
   ```

------
#### [ Windows Server ]

   ```
   aws ssm register-target-with-maintenance-window ^
       --window-id mw-0c50858d01EXAMPLE ^
       --targets "Key=tag:PatchGroup,Values=Database Servers" ^
       --owner-information "Database Servers" ^
       --resource-type "INSTANCE"
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "WindowTargetId":"e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
   }
   ```

------
#### [ Linux & macOS ]

   ```
   aws ssm register-target-with-maintenance-window \
   --window-id mw-9a8b7c6d5eEXAMPLE \
   --targets "Key=tag:PatchGroup,Values=Front-End Servers" \
   --owner-information "Front-End Servers" \
   --resource-type "INSTANCE"
   ```

------
#### [ Windows Server ]

   ```
   aws ssm register-target-with-maintenance-window ^
       --window-id mw-9a8b7c6d5eEXAMPLE ^
       --targets "Key=tag:PatchGroup,Values=Front-End Servers" ^
       --owner-information "Front-End Servers" ^
       --resource-type "INSTANCE"
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "WindowTargetId":"faa01c41-1d57-496c-ba77-ff9caEXAMPLE"
   }
   ```

1. 執行下列命令以註冊修補程式任務，該任務會在 `Database` 和 `Front-End` 伺服器各自的維護時段上安裝伺服器缺少的更新。

------
#### [ Linux & macOS ]

   ```
   aws ssm register-task-with-maintenance-window \
       --window-id mw-0c50858d01EXAMPLE \
       --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
       --task-arn "AWS-RunPatchBaseline" \
       --service-role-arn "arn:aws:iam::123456789012:role/MW-Role" \
       --task-type "RUN_COMMAND" \
       --max-concurrency 2 \
       --max-errors 1 \
       --priority 1 \
       --task-invocation-parameters "RunCommand={Parameters={Operation=Install}}"
   ```

------
#### [ Windows Server ]

   ```
   aws ssm register-task-with-maintenance-window ^
       --window-id mw-0c50858d01EXAMPLE ^
       --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ^
       --task-arn "AWS-RunPatchBaseline" ^
       --service-role-arn "arn:aws:iam::123456789012:role/MW-Role" ^
       --task-type "RUN_COMMAND" ^
       --max-concurrency 2 ^
       --max-errors 1 ^
       --priority 1 ^
       --task-invocation-parameters "RunCommand={Parameters={Operation=Install}}"
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "WindowTaskId":"4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
   }
   ```

------
#### [ Linux & macOS ]

   ```
   aws ssm register-task-with-maintenance-window \
       --window-id mw-9a8b7c6d5eEXAMPLE \
       --targets "Key=WindowTargetIds,Values=faa01c41-1d57-496c-ba77-ff9caEXAMPLE" \
       --task-arn "AWS-RunPatchBaseline" \
       --service-role-arn "arn:aws:iam::123456789012:role/MW-Role" \
       --task-type "RUN_COMMAND" \
       --max-concurrency 2 \
       --max-errors 1 \
       --priority 1 \
       --task-invocation-parameters "RunCommand={Parameters={Operation=Install}}"
   ```

------
#### [ Windows Server ]

   ```
   aws ssm register-task-with-maintenance-window ^
       --window-id mw-9a8b7c6d5eEXAMPLE ^
       --targets "Key=WindowTargetIds,Values=faa01c41-1d57-496c-ba77-ff9caEXAMPLE" ^
       --task-arn "AWS-RunPatchBaseline" ^
       --service-role-arn "arn:aws:iam::123456789012:role/MW-Role" ^
       --task-type "RUN_COMMAND" ^
       --max-concurrency 2 ^
       --max-errors 1 ^
       --priority 1 ^
       --task-invocation-parameters "RunCommand={Parameters={Operation=Install}}"
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "WindowTaskId":"8a5c4629-31b0-4edd-8aea-33698EXAMPLE"
   }
   ```

1. 執行以下命令以取得修補程式群組的高階修補程式合規摘要。高階修補程式合規摘要包括處於各別修補程式狀態之修補程式的受管節點數目。
**注意**  
在第一個維護時段期間執行修補程式任務之前，摘要中的受管節點數目預計為零。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-patch-group-state \
       --patch-group "Database Servers"
   ```

------
#### [ Windows Server ]

   ```
   aws ssm describe-patch-group-state ^
       --patch-group "Database Servers"
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "Instances": number,
      "InstancesWithFailedPatches": number,
      "InstancesWithInstalledOtherPatches": number,
      "InstancesWithInstalledPatches": number,
      "InstancesWithInstalledPendingRebootPatches": number,
      "InstancesWithInstalledRejectedPatches": number,
      "InstancesWithMissingPatches": number,
      "InstancesWithNotApplicablePatches": number,
      "InstancesWithUnreportedNotApplicablePatches": number
   }
   ```

1. 執行以下命令以取得修補程式群組中各受管節點的修補程式摘要狀態。每個受管節點摘要包括修補群組之每個受管節點中，處於個別修補程式狀態的多個修補程式。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-instance-patch-states-for-patch-group \
       --patch-group "Database Servers"
   ```

------
#### [ Windows Server ]

   ```
   aws ssm describe-instance-patch-states-for-patch-group ^
       --patch-group "Database Servers"
   ```

------

   系統會傳回如下資訊。

   ```
   {
      "InstancePatchStates": [ 
         { 
            "BaselineId": "string",
            "FailedCount": number,
            "InstalledCount": number,
            "InstalledOtherCount": number,
            "InstalledPendingRebootCount": number,
            "InstalledRejectedCount": number,
            "InstallOverrideList": "string",
            "InstanceId": "string",
            "LastNoRebootInstallOperationTime": number,
            "MissingCount": number,
            "NotApplicableCount": number,
            "Operation": "string",
            "OperationEndTime": number,
            "OperationStartTime": number,
            "OwnerInformation": "string",
            "PatchGroup": "string",
            "RebootOption": "string",
            "SnapshotId": "string",
            "UnreportedNotApplicableCount": number
         }
      ]
   }
   ```

如需可用於Patch Manager組態任務的其他 AWS CLI 命令範例，請參閱 [透過AWS CLI使用 Patch Manager 資源](patch-manager-cli-commands.md)。