Patch Manager で PowerShell 7 系の更新プログラムがインストールされないときの原因の例と対処方法

Patch Manager で PowerShell 7 系の更新プログラムがインストールされないときの原因の例と対処方法

Patch Manager で EC2 インスタンス(Windows Server)にパッチを適用したとき、PowerShell 7 系の更新プログラムがインストールされない原因の例と対処方法をまとめました。
2026.11.12

困っていた内容

EC2 インスタンス(Windows Server)に AWS Systems Manager Patch Manager でパッチを適用する運用を行っています。

対象インスタンスのパッチコンプライアンスを確認したところ「非準拠」となっており、PowerShell 7 系の更新プログラムが AVAILABLE_SECURITY_UPDATE として報告されていました。
そのため、[今すぐパッチ適用] を実行しましたが、当該更新プログラムはインストールされませんでした。

更新プログラムがインストールされない原因と、パッチコンプライアンスを「準拠」にする方法を知りたいです。

どう対応すればいいの?

Patch Manager では、PowerShell 7 系の更新プログラムは Windows OS の更新プログラムではなく、Microsoft のアプリケーション([製品ファミリー] が PowerShell)の更新プログラムとして扱われます。
そのため、パッチベースラインに [オペレーティングシステムの承認ルール] しか設定していない場合、PowerShell 7 系の更新プログラムは承認されず、[今すぐパッチ適用] を実行してもインストールされません。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/patch-manager-patching-windows-applications.html

対処方法 1:パッチベースラインに [アプリケーションの承認ルール] を追加する(推奨)

[アプリケーションの承認ルール] に、[製品ファミリー] が PowerShell のルールを含むカスタムパッチベースラインを作成してパッチを適用します。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/patch-manager-create-a-patch-baseline-for-windows.html

  1. (オプション) [Approval rules for applications (アプリケーションの承認ルール)] セクションで、フィールドを使用して 1 つ以上の自動承認ルールを作成します。
    (中略)
    ・[Product family (製品ファミリー)]: ルールを指定する Microsoft 製品ファミリー全般 (Office や Exchange Server など)。

1. カスタムパッチベースラインを作成する

Systems Manager コンソールで [Patch Manager] > [パッチベースライン] タブを開き、カスタムパッチベースラインを作成します。
すでにパッチの適用にカスタムパッチベースラインを使っている場合は、そのパッチベースラインを編集します。
新しく作成した場合は、対象インスタンスで使われるように、デフォルトのパッチベースラインに設定するか、パッチグループに関連付けます。

2. アプリケーションの承認ルールを追加する

[アプリケーションの承認ルール] で [製品ファミリー] に PowerShell を指定し、[製品]、[分類]、[重要度] などを設定してルールを追加します。

3. パッチを適用する

保存したら、[今すぐパッチ適用] などでパッチを適用します。
対象の更新プログラムが INSTALLED として報告され、パッチコンプライアンスが「準拠」になっていることを確認します。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/patch-manager-compliance-states.html#patch-compliance-values

パッチ状態:INSTALLED
説明:パッチはパッチベースラインにリストされ、マネージドノードにインストールされます。
コンプライアンスの値:準拠

対処方法 2:パッチベースラインは変更せずに手動で更新する

運用上の理由でパッチベースラインの承認ルールを変更できない場合は、PowerShell 7 系を手動で更新することも可能です。

1. 更新プログラムの KB 番号とタイトルを確認する

Patch Manager のパッチコンプライアンスで、AVAILABLE_SECURITY_UPDATE と報告されている PowerShell 7 系の更新プログラムの KB 番号とタイトルを確認します。(タイトルの例:「PowerShell LTS v7.x.x (x64)」)

2. 更新プログラムを入手してインストールする

Microsoft Update カタログで KB 番号を検索し、手順 1 で確認したタイトルと一致する更新プログラムを入手して、インスタンスにインストールします。
1 つの KB 番号で、複数バージョンの更新プログラムが表示される場合があるのでご注意ください。
https://www.catalog.update.microsoft.com/Search.aspx

3. スキャンを実行して状態を確認する

AWS-RunPatchBaseline を Operation=Scan で実行します。
対象の更新プログラムが INSTALLED_OTHER として報告され、パッチコンプライアンスが「準拠」になっていることを確認します。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/patch-manager-compliance-states.html#patch-compliance-values

パッチ状態:INSTALLED_OTHER
説明:パッチはベースラインに含まれていませんが、マネージドノードにインストールされています。これには、次の 2 つの理由が考えられます。

  1. パッチが手動でインストールされた可能性がある。(中略)
    コンプライアンスの値:準拠

一連の作業実施時の注意点

作業の前にバックアップとして AMI を取得し、問題が起きたときに AMI から復元できるように準備をしてください。
更新後の PowerShell 7 系のバージョンの新機能(変更点)を確認し、PowerShell 7 系で実行しているスクリプトがある場合は、更新後も問題なく動作することを確認してください。
https://learn.microsoft.com/ja-jp/powershell/scripting/whats-new/overview?view=powershell-7.6

まとめ

  • Patch Manager では、PowerShell 7 系の更新プログラムは Windows OS の更新プログラムではなく、Microsoft のアプリケーション([製品ファミリー] が PowerShell)の更新プログラムとして扱われます。
  • そのため、パッチベースラインに [オペレーティングシステムの承認ルール] しか設定していない場合、PowerShell 7 系の更新プログラムは承認されず、[今すぐパッチ適用] を実行してもインストールされません。
  • パッチコンプライアンスを「準拠」にするには、パッチベースラインの [アプリケーションの承認ルール] に [製品ファミリー] が PowerShell のルールを追加してパッチを適用するか、PowerShell 7 系を手動で更新します。

参考情報

クラスメソッドオペレーションズ株式会社について

クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました。


AWSテクニカルサポートノートについて

過去にクラスメソッドのAWS総合支援サービスで頂いたお問合せの中から、通常のAWS利用時でも有益になりうる情報をテクニカルサポートチームがTIPSとしてご紹介しています。技術サポートは、無料でご提供しております。詳細は下記ボタンからご覧ください。

クラスメソッドのAWSサポートの詳細を見る

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事