Windows Update のしくみ
Windows Update ワークフローには、次の 4 つの主要な機能領域があります。
- スキャン
- オーケストレーターはスキャンをスケジュールします。
- Orchestrator は、管理者の承認とダウンロードのポリシーを確認します。
- ダウンロード
- Orchestrator はダウンロードを開始します。
- Windows Updateマニフェスト ファイルをダウンロードし、アービターに提供します。
- アービターはマニフェストを評価し、Windows Update クライアントにファイルをダウンロードするように指示します。
- Windows Updateクライアントは、一時フォルダー内のファイルをダウンロードします。
- アービターは、ダウンロードしたファイルをステージします。
- Install
- Orchestrator によってインストールが開始されます。
- アービターはインストーラーを呼び出してパッケージをインストールします。
- コミット
- オーケストレーターは再起動を開始します。
- アービターは再起動前に終了します。
更新のしくみ
更新プロセス中、Windows Update Orchestrator はバックグラウンドで動作し、更新プログラムのスキャン、ダウンロード、インストールを行います。 これらのアクションは、設定に従って自動的に実行され、コンピューターの使用状況が中断されないようにサイレントモードで実行されます。
更新プログラムのスキャン
PC の Windows Update Orchestrator によって、Microsoft Update サーバーまたは WSUS エンドポイントで、ランダムな間隔で新しい更新プログラムがチェックされます。 ランダム化により、Windows Update サーバーが要求で同時に過負荷にならないようにします。 Update Orchestrator は、前回の更新プログラムの検索以降に追加された更新プログラムのみを検索し、更新プログラムを迅速かつ効率的に検索できるようにします。
デバイスが更新プログラムをチェックすると、Windows Update Orchestrator は更新プログラムがデバイスに適しているかどうかを評価します。 更新プログラムの発行元によって定義されたガイドライン (エンタープライズ グループ ポリシーを含む Microsoft Office など) が使用されます。
Windows Update スキャンに関連する次の用語を理解していることを確認してください。
用語 | 定義 |
---|---|
Update | この用語は、いくつかの異なる意味を持ちますが、このコンテキストでは実際に更新されたコードまたは変更です。 |
バンドルの更新 | 1 から N の子更新プログラムを含む更新プログラム。にはペイロード自体が含まれません。 |
子更新プログラム | 別の更新プログラムによってバンドルされているリーフ更新プログラム。にはペイロードが含まれています。 |
ディテクタの更新 | 適用規則のみを含み、 IsInstalled ペイロードを含む特別な更新。 前提条件の評価に使用されます。 |
カテゴリの更新 | 常に true のルールをIsInstalled 持つ特殊detectoid な。 更新プログラムをグループ化し、デバイスが更新プログラムをフィルター処理できるようにするために使用されます。 |
フル スキャン | 空のデータストアでスキャンします。 |
差分スキャン | データストアに既にキャッシュされている以前のスキャンの更新プログラムを使用してスキャンします。 |
オンライン スキャン | ネットワークを使用し、更新サーバーをチェックするスキャン。 |
オフライン スキャン | ネットワークを使用せず、代わりにローカル データストアをチェックするスキャン。 オンライン スキャンが以前に実行されている場合にのみ便利です。 |
CatScan | 呼び出し元が categoryId を 指定して、その categoryId で発行された更新プログラムを取得できるカテゴリ スキャン。 |
AppCatScan | 呼び出し元が AppCategoryId を 指定して、その appCategoryId で公開されたアプリを取得できるカテゴリ スキャン。 |
ソフトウェア同期 | ソフトウェア更新プログラム (アプリとオペレーティング システムの両方) のみをチェックするスキャンの一部。 |
ドライバーの同期 | ドライバーの更新プログラムのみをチェックするスキャンの一部。 この同期は省略可能であり、ソフトウェアの同期後に実行されます。 |
ProductSync | クライアントがデバイス、製品、および呼び出し元の属性の一覧を事前に提供して、サービスがクラウドで適用可能チェックできるようにする属性に基づく同期。 |
Windows Updateスキャンのしくみ
Windows Updateは、スキャンの実行時に次のアクションを実行します。
更新プログラムのスキャンを開始します
ユーザーが [設定] パネルからWindows Updateでスキャンを開始すると、次の処理が行われます。
- スキャンによって最初にメッセージが
ComApi
生成されます。 呼び出し元 (Microsoft Defender ウイルス対策) は、更新プログラムをスキャンするようにWindows Update エンジンに指示します。 - "エージェント" メッセージ: スキャンをキューに入れます。その後、実際に作業を開始します。
更新は、異なる ID ("ID = 10"、"ID = 11") と異なるスレッド ID 番号によって識別されます。
Windows Updateは、スレッド ID フィルター処理を使用して、特定のタスクに集中します。
プロキシの動作
Windows Update (WU) では、更新プログラムの検出に使用される URL (MS-WUSP: SimpleAuth Web Service、MS-WUSP: クライアント Web サービス) がスキャンされます。
システム プロキシが試行されます (コマンドを
netsh
使用して設定)。特定のプロキシ、サービス、または認証エラー コードが原因で WUA がサービスに到達できない場合、ユーザー プロキシが試行されます (通常はログイン ユーザーです)。
注
イントラネット WSUS 更新サービス URL の場合は、Windows Update ポリシーを使用してプロキシの動作を選択するオプションを提供します。
ダウンロードやレポートなど、更新プログラムの検出に使用されないWindows Update URL の場合:
- ユーザー プロキシが試行されます。
- 特定のプロキシ、サービス、または認証エラー コードが原因で WUA がサービスに到達できない場合、システム プロキシが試行されます。
サービス ID を識別します
サービス ID は、どの更新ソースがスキャンされているかを示します。
Windows Update エンジンは、複数のサービスに同じ更新プログラムが含まれている場合でも、すべてのサービスを個別のエンティティとして扱います。
一般的なサービス ID
重要
ServiceId は、クラウド内の特定のサービスではなく、クライアントの抽象化を識別します。 serviceId が指しているサーバーを想定しないでください。 これは、サービス ロケーター サービスからの応答によって完全に制御されます。
サービス | ServiceId |
---|---|
未指定/既定値 | Windows Update、Microsoft Update、または WSUS 00000000-0000-0000-0000-000000000000 |
Windows Update | 9482F4B4-E343-43B6-B170-9A65BC822C77 |
Microsoft Update | 7971f918-a847-4430-9279-4a52d1efe18d |
ストア | 855E8A7C-ECB4-4CA3-B045-1DFA50104289 |
OS フライティング | 8B24B027-1DEE-BABB-9A95-3517DFB9C552 |
WSUS またはConfiguration Manager | Via ServerSelection::ssManagedServer 3DA21691-E39D-4da6-8A4B-B43877BCB1B7 |
オフライン スキャン サービス | IUpdateServiceManager::AddScanPackageService 経由 |
ネットワーク 障害を検出します
一般的な更新エラーは、ネットワークの問題が原因で発生します。 問題の根本を見つけるには:
"ProtocolTalker" メッセージを探して、クライアントとサーバーの同期ネットワーク トラフィックを確認します。
"SOAP エラー" には、クライアント側またはサーバー側の問題があります。メッセージを読み取ります。
Windows Update クライアントは、サービス ロケーター サービスを使用して、Microsoft ネットワーク更新プログラム ソースの構成とエンドポイント (Windows Update、Microsoft Update、または Flighting) を検出します。
注
検索が WSUS またはConfiguration Managerに対する場合は、サービス ロケーター サービスの警告メッセージを無視できます。
WSUS またはConfiguration Managerのみを使用するサイトでは、ファイアウォールでサービス ロケーター サービスがブロックされる可能性があります。 この場合、要求は失敗し、サービスはWindows Updateまたは Microsoft Update に対してスキャンできませんが、ローカルに構成されているため、WSUS またはConfiguration Managerに対してスキャンできます。
更新プログラムのダウンロード
Windows Update Orchestrator によってコンピューターに適用される更新プログラムが決定されると、更新プログラムを自動的にダウンロードするオプションを選択した場合、更新プログラムのダウンロードが開始されます。 これは、デバイスの通常の使用を中断することなく、バックグラウンドで動作します。
更新プログラムがダウンロードされているため、他のダウンロードが影響を受けたり遅くなったりしないようにするために、Windows Updateは配信の最適化を使用します。これにより、更新プログラムがダウンロードされ、帯域幅の消費量が削減されます。
詳細については、「Windows 10更新プログラムの配信の最適化を構成する」を参照してください。
更新プログラムのインストール
更新プログラムが適用されると、"アービター" とメタデータがダウンロードされます。 Windows Update設定に応じて、ダウンロードが完了すると、アービターはデバイスから詳細を収集し、ダウンロードしたメタデータと比較して "アクション リスト" を作成します。
アクション リストには、Windows Updateから必要なすべてのファイルと、インストール エージェント (CBS やセットアップなど) で実行する必要がある内容が記載されています。 アクションリストは、インストールを開始するためのペイロードと共にインストール エージェントに提供されます。
更新のコミット
更新プログラムを自動的にインストールするオプションが構成されている場合、ほとんどの場合、Windows Update Orchestrator は、更新プログラムをインストールした後にデバイスを自動的に再起動します。 再起動するまで、デバイスが安全でないか、完全に更新されていない可能性があるため、デバイスを再起動する必要があります。 グループ ポリシー設定、モバイル デバイス管理 (MDM)、またはレジストリ (推奨されません) を使用して、Windows 10更新プログラムのインストール後にデバイスを再起動するタイミングを構成できます。
詳細については、「 更新後のデバイスの再起動の管理」を参照してください。