MENU

Win11 トラブルシューティング「Windows Update の診断を実行できませんでした」の原因

今回は、Windows 11 バージョン 24H2 で Windows Update のトラブルシューティングを実行すると、「Windows Update の診断を実行できませんでした…」と表示される問題の原因を調査してみましたので、紹介したいと思います。

Windows Update のトラブルシューティング
Windows Update のトラブルシューティング

Windows Update のトラブルシューティングを実行するには、「設定」>「システム」>「トラブルシューティング」>「その他のトラブルシューティングツール」を開き、「Windows Update」の右側の「実行する」をクリックします。

「設定」>「システム」>「トラブルシューティング」>「その他のトラブルシューティングツール」
「設定」>「システム」>「トラブルシューティング」>「その他のトラブルシューティングツール」

すると、問い合わせアプリが開きます。

「更新プログラムをダウンロード、インストール、またはアンインストールできない」を選択し、

Windows Update に関する問題のトラブルシューティング
Windows Update に関する問題のトラブルシューティング

「Windows Update の自動診断を実行できますか?」で「はい」をクリックします。

Windows Update の自動診断を実行するためのアクセス許可

しかし、問題のある環境では「Windows Update の診断を実行できませんでした」と表示され、診断が実行できません。

Windows Update の自動診断を実行した結果
Windows Update の自動診断を実行した結果

この問題は、複数のユーザー様から報告をいただいております。

目次

「Windows Update の診断を実行できませんでした」の原因

Windows Update のトラブルシューティングを実行した際には、「Diagnostic Execution Service」サービス(診断アクションを実行するトラブルシューティングサポート)が開始されます。

このサービスは、デフォルトで「手動」となっており、必要な場合に自動で実行されます。筆者の環境では実行されていましたので、問題はないと判断しました。

Windows Update の自動診断を実行できますか?>「はい」>をクリックした後、結果が出るタイミングでイベント ビューアーの「アプリケーションとサービス ログ\Microsoft\System\Diagnostics-DiagnosticInvoker\Operational」にイベントID 102 が記録されます。

イベントビューアー
イベントビューアー

ここでは「警告」となっていますので、何らかの問題が発生していることがわかります。

問題の発生する環境では「イベントID 102」、発生しない環境では「イベントID 101」が記録されていました。

イベントビューアー
イベントビューアー

どちらも同じように「説明が見つかりません」と表示されていましたので、エラーの内容は不明です。

※詳細を見ると「ErrorCode 2151416065」と表示されていました。

同時に「C:\WINDOWS\Logs\CBS\CBS.log」が更新されましたが、内容を確認しても原因となるようなものは見つかりませんでした。

同時に、イベント ビューアーの「アプリケーションとサービス ログ\Microsoft\Windows\Diagnosis-Scripted\Operational」にイベントが記録されていました。

問題のある環境では、イベントID 201「スクリプト化された診断エンジンでエラー 0x803C0101 が発生しました。」と表示されており、

イベントビューアー

問題のない環境では、イベントID 104「スクリプト化された診断エンジンが、診断パッケージ css.dcs.diagaction.windowsupdate.runwaasmedicandscan.gethelp の診断を完了しました。」と表示されていました。

イベントビューアー
イベントビューアー

先ほどの「ErrorCode 2151416065」を 16進数に変換した場合、「803C0101」となりますので、一致していますね。

原因は、イベントID 201「スクリプト化された診断エンジンでエラー 0x803C0101 が発生しました。」にあるようです。

Windows Update の自動診断を行うと、「C:\WINDOWS\system32\config\systemprofile\AppData\Local\DiagSvc」フォルダーに診断を行うためのスクリプトファイル(PowerShell)が一時的に保存されます。

これらのスクリプトの実行時に何らかのエラーが発生しているため、診断がそこでストップしてしまい、「Windows Update の診断を実行できませんでした…」と表示されるのだと思います。

エラーが発生する根本的な原因は、セキュリティの問題、ポリシーの問題、システムの設定等が考えられます。

この問題は、主にシステム関連の設定やレジストリ、アクセス許可等のカスタマイズを行っている環境で発生しているようです。

Windows 11 の上書きインストールや「Windows Update で問題を解決する」、初期化で「個人用ファイルとアプリを引き継ぐ」を選択した場合、問題は解決しませんでした。

今現在この問題を解決する方法は、Windows 11 のクリーンインストールのみとなります。(他に方法が見つかりません)

※今後の Windows Update で解決される可能性もあります。

2025/04/25 追記:問題を解決した方法

いろいろと試した結果、2つの問題が解決できました。

  • イベントID 201「スクリプト化された診断エンジンでエラー 0x803C0101 が発生しました。」
  • 「Windows Update の診断を実行できませんでした…」

イベントID 201 は 104 に変わり、「スクリプト化された診断エンジンが、診断パッケージ css.dcs.diagaction.windowsupdate.runwaasmedicandscan.gethelp の診断を完了しました。」と表示されています。

イベントビューアー
イベントビューアー

「Windows Update の診断を実行できませんでした…」の表示も「問題は検出されませんでした」に変わりました。

Windows Update の自動診断を実行した結果
Windows Update の自動診断を実行した結果

筆者の環境の場合、「Windows Update の診断を実行できませんでした…」と表示される原因は、スクリプト化された診断エンジンが、診断パッケージ css.dcs.diagaction.windowsupdate.runwaasmedicandscan.gethelp の診断を開始しようとした際に、エラーが発生していたためです。

イベントID 201 の説明に合ったエラーコード 0x803C0101 は、「PowerShell スクリプトの実行中にエラーが発生しました。」という意味ですので、何らかの原因で PowerShell スクリプトの実行が阻止されています。

筆者はメインで Windows 11 の Home エディションを使用していますので、問題の発生しない Pro エディションで「ローカルグループポリシーエディター」を開いて確認してみたところ、「スクリプト化された診断」に関する設定を見つけました。

スクリプト化された診断のセキュリティーポリシーを構成する
このポリシー設定は、スクリプト化された診断で、信頼されない発行元によって署名された診断パッケージを実行するかどうかを決定します。
このポリシー設定を有効にした場合、スクリプト化された診断の実行エンジンで、診断パッケージの署名者が検証され、信頼された発行元によって署名された診断パッケージのみが実行されます。
このポリシー設定を無効にした場合、または構成しなかった場合は、スクリプト化された診断の実行エンジンで、デジタル署名されたすべてのパッケージが実行されます。

この設定を有効化した状態で Windows Update の自動診断を行うと、イベントビューアーにイベントID 201「スクリプト化された診断エンジンでエラー 0x803C0101 が発生しました。」が記録され、診断結果では「Windows Update の診断を実行できませんでした…」と表示されるようになりました。

今回の問題と同じ状態を再現することができましたので、問題のある環境でレジストリ値を追加して問題を解決することができました。

レジストリの操作を間違えると、システムが起動できなくなるなどの不具合が起きる可能性があります。事前にシステムの復元などでバックアップを取り、自己責任で行うようお願いします。

1.Windowsキー + R を押して「ファイル名を指定して実行」を開き、「regedit」と入力して Enter を押します。

2.レジストリエディターが開きますので、次のキーを開きます。

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

3.「Windows」キーの上で右クリック>新規>「キー」をクリックします。

4.「新しいキー #1」の名前を「ScriptedDiagnostics」に変更します。

5.「ScriptedDiagnostics」キーの上で右クリック>新規>「DWORD(32ビット) 値」をクリックします。

6.「新しい値 #1」の名前を「ValidateTrust」に変更します。

値のデータはそのままで構いません。

値のデータ意味
0無効
1有効

これで設定は完了しましたので、PC を再起動してから、「設定」>「システム」>「トラブルシューティング」>「その他のトラブルシューティングツール」を開き、「Windows Update」の右側の「実行する」をクリックして Windows Update の自動診断を実行してみてください。

問題が解決した後は、追加したレジストリ値を削除しても問題ないことを確認しています。

筆者はスクリプト化された診断のセキュリティーポリシーの設定を変更した記憶はありませんし、本来「スクリプト化された診断のセキュリティーポリシーを構成する」は、設定を変更する必要はありません。

通常、自動診断のスクリプトの実行は阻止されることはないので、Windows のバグまたは個人でインストールしたアプリ等が原因である可能性もあります。

PowerShell のプレビュー版を使用している場合は、「設定」>「アプリ」>「インストールされているアプリ」から一度アンインストールしてから Windows Update の自動診断を実行し、問題が解決した後に再度インストールしてください。

Windows Update の自動診断を実行した結果は、環境により変わります。

例えば、問題が検出された場合は(Windows 11 Home 24H2 (26100.3775))

朗報です。 問題を検出し、解決を試みました。  Windows Update は、不足している更新プログラムをスキャンしてインストールを試みます。 正常にインストールされたかどうか確認してお知らせください。

検出されなかった場合は

問題は検出されませんでした

Windows Update の診断で問題を検出できませんでした。   

Windows Update で問題が発生している場合は、その問題についてさらに詳しくご理解ください。フィードバック Hub を使用すると、製品の使用中に発生した問題についてマイクロソフトに報告し、 エクスペリエンス の向上に役立つ提案を送信することができます。 また、Windows Update エクスペリエンスのログをアップロードすることもできます。また、Windows Update エクスペリエンスのログをアップロードして、エンジニアが問題を特定するのに役立てることもできます。

というように表示されます。

上記の対処法で改善しない場合

「設定」と「問い合わせアプリ」を閉じてから次の手順をお試しください。

1.ターミナルの設定

1.スタートボタンを右クリックし、「ターミナル(管理者)」を開きます。

2.タブの右側の「ⅴ」をクリックし、「設定」をクリックします。

Windows PowerShell
Windows PowerShell

3.「既定のプロファイル」を「コマンドプロンプト」に変更して右下の「保存」をクリックします。

Windows PowerShell
Windows PowerShell

4.「既定のプロファイル」を元の「Windows PowerShell」に戻して右下の「保存」をクリックします。

5.Windows Update の自動診断を実行してください。

まだ改善しない場合はレジストリ値の編集をお試しください。

2.レジストリ値の編集

レジストリの操作を間違えると、システムが起動できなくなるなどの不具合が起きる可能性があります。事前にシステムの復元などでバックアップを取り、自己責任で行うようお願いします。

「設定」と「問い合わせアプリ」を閉じてから次の手順をお試しください。

1.「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell」キーを開き、右側の値「Path」の値のデータの最後に「_(アンダーライン)」を追加して OK をクリックします。

元の値C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
変更後の値C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe_

2.Windows Update の自動診断を実行してください。

問題が解決したらレジストリ値は元に戻してください。

3.サービスとタスクスケジューラ

1.サービスを開き、「WaaSMedicSvc」サービスが「手動」になっていることを確認してください。

このサービスは、Windows Update コンポーネントの修復と保護を有効にします。

2.タスクスケジューラを開き、タスク スケジューラ ライブラリ>Microsoft>Windows>「WaaSMedic」にあるタスク「PerformRemediation」の状態を確認してください。

「無効」になっている場合は、タスクの上で右クリック>「有効」をクリックします。

タスクスケジューラ
タスクスケジューラ

3.「有効」になったことを確認したら、タスクの上で右クリック>「実行」をクリックします。

4.Windows Update の自動診断を実行してください。

4.セキュリティ対策ソフト

インストールしているセキュリティ対策ソフトがスクリプトの実行を阻止してしまう場合もあるようです。

あわせて読みたい
Win11 WaaSMedicSvc <説明を読み取れませんでした。エラー コード: 2 > の原因と解決法 今回は、Windows 11 バージョン 23H2 および 24H2 のサービスをチェックしていたときに気付いた、「WaaSMedicSvc」サービスの説明欄に「<説明を読み取れませんでした...
この記事が役立ったと感じたら、ぜひシェアをお願いします
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ニックネーム: wenbang
趣味: 格闘技関連の動画鑑賞
座右の銘: 「為せば成り、為さねば成らぬものなるを、成らぬは、おのが為さぬためなり」

Windows 技!では、Windows 10/11 の問題解決をメインに、PC をもっと便利にするカスタマイズ方法なども紹介しています。少しでもみなさまのお役に立てれば幸いです。

コメント

コメント一覧 (6件)

  • セキュリティソフトといってもWindows Defenderですしね。今のところは解決してません。

    • siden様、コメントありがとうございます。
      一部の環境では記事の方法で解決しているので、根本的な原因は他にあるのかもしれませんね。また何かわかれば追記したいと思います。

  • 私も、トラブルシューティングツール動作中に
    C:\WINDOWS\system32\config\systemprofile\AppData\Local\DiagSvc
    に自動生成されるファイル一式を急いで別の場所にコピーし、そこから手動単独で
    diagcabファイルを実行したところ、アプリケーションとサービス ログ\Microsoft\Windows\Diagnosis-Scripted\OperationalにイベントID 201「スクリプト化された診断エンジンでエラー 0x803C0101 が発生しました。」が記録されることを確認しました。
    msdt.exe /id WindowsUpdateDiagnostic でトラブルシューティングツールを実行した場合は情報ログのみで警告ログは記録されません。

    イベントID 201「スクリプト化された診断エンジンでエラー 0x803C0101 が発生しました。」
    を消すことに成功したということは、解決は近いかもしれませんね。

    • アロム様、
      問題を解決した方法を追記しましたので、確認してみてください。

  • 正常に動くPCとエラーが出るPCをお持ちなのでしたら、
    DISM /Online /Get-Packages | findstr /i diag
    (↑ChatGPTが提案したコマンドなので、間違っている可能性もあります)
    等の結果の相違がないか確認したり、
    Microsoftアカウントでのログイン or ローカルアカウントでのログインなどの相違の有無や、
    ファイアウォール設定の相違
    グループポリシー設定の相違
    診断とフィードバック設定の相違
    などを確認することで、見つけられないものでしょうか…?

    • アロム様、コメントありがとうございます。
      ChatGPTが提案したコマンドでは何も取得できません。

      いろいろと試した結果、現在問題のある環境ではイベントID 201「スクリプト化された診断エンジンでエラー 0x803C0101 が発生しました。」は解決しました。
      「Windows Update の診断を実行できませんでした…」の表示も「問題は検出されませんでした」に変わっています。
      もう少し検証してから記事を更新したいと思います。

コメントする


目次