Windows Update クライアントの情報をクリアにする手順

Last Update: feedback 共有

※本記事はマイクロソフト社員によって公開されております。
※この記事は過去に作成され、公開された記事を再編したものです。


こんにちは。WSUS サポートチームです。

今回は、WSUS においてよくある「更新プログラムの検出処理ができない」「更新プログラムのダウンロード処理ができない」「更新プログラムが期待通りにインストール出来ない」場合に、まず実施いただきたい対処方法をご案内します。

ご案内する手順については、エラーや発生事象別に原因を特定して対応するということを目的としたものではなく、とりあえずうまく動かない状況に直面したらまずはこれをやってみよう、ということを目的としたものになります。
WSUS による更新プログラムの配信を行っている場合、まずはエラーが発生した原因の追究より、更新プログラムのインストールをいち早く完了させたい、という状況に直面することもあるのではないでしょうか。
またユーザーが使用する PC のため、何度も対処策を実施するのが難しいという状況もあるかと思います。そのような場合、まず回避優先の対処が求められます。

今回の一連の手順では、Windows Update クライアント側の情報をクリアにすることで、クライアント側に残存しているダウンロード ジョブなどに起因した問題かや Windows Update 情報の不整合があるかどうかを切り分けるために有効な手順となります。当サポート部門に寄せられた多くのお問い合わせでご案内した実績のある手順であり、クライアント側に起因した問題であるかどうかの有効な切り分け方法となります。

但し、注意事項としましては、以下のような影響がございますので、十分ご理解いただいた上で本手順の実施をお願いいたします。

【注意事項】

・[更新履歴の表示] の情報がクリアされます。(作業履歴の情報ですので 現時点の適用状態や今後の適用動作には全く影響ありません)
・過去クライアント側の操作によって「非表示」設定(処理対象から除外)していた更新プログラムが存在する場合は、その設定が解除されます。
・次回 WSUS にアクセスした際にキャッシュされていた情報を再ダウンロードします。そのため、同時に多数の端末が実施した場合にはネットワークの負荷が発生する場合があります。

~ 参考情報 ~
Windows Update の “更新履歴の表示” が示す内容について
http://blogs.technet.com/b/jpwsus/archive/2013/08/22/windows-update-quot-quot.aspx

SoftwareDistribution フォルダーのリセットと BITS ジョブのクリア

以下ステップを順にご実施ください。

**a) 自動更新サービスと BITS サービスの停止** **b) SoftwareDistribution フォルダーのリネーム** **c) BITS のジョブを削除** **d) 自動更新サービスと BITS サービスの開始** **e) 更新プログラム検出の確認**

各手順の詳細は以下の通りです。

a) 自動更新サービスと BITS サービスの停止
コマンド プロンプトから以下のコマンドを実行します。
または、サービス マネージャから [自動更新] または [Automatic Updates] または [Windows Update] サービスと [Background Intelligent Transfer Services] サービスを停止します。

※ Windows 10 の場合:先に「net stop usosvc」で [Update Orchestrator] サービスを、「net stop dosvc」で [Delivery Optimization] サービスを停止してください。
※ Windows Server 2016 の場合:先に「net stop usosvc」で [Update Orchestrator] サービスを停止してください。

1
2
3
4
(net stop usosvc)
(net stop dosvc)
net stop wuauserv
net stop bits

b) SoftwareDistribution フォルダーのリネーム
SoftwareDistribution フォルダーは、Windows Update に使用されます。例えば Software Distribution フォルダー配下の Download フォルダーにはダウンロードされた更新プログラムが一時的に保管されます。SoftwareDistribution フォルダーをリネームすることで、これまでダウンロードされた更新プログラムやデータベースの情報がクリアされます。
コマンド プロンプトより、以下のコマンドを実行して、更新プログラムが保存されている SoftwareDistribution フォルダーをリネームします。

1
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old

c) BITS のジョブを削除
Windows Update は BITS という Windows の機能を利用して、アイドル中のネットワーク回線の帯域幅を使用して、バックグラウンドで更新プログラムをダウンロードします。
ダウンロードに失敗した更新プログラムが BITS キューに滞留している場合、以下のコマンドを順番に実行してキューから削除することで、新しくダウンロード ジョブが作成され、ダウンロードに成功する可能性があります。

1
2
del %ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr0.dat
del %ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr1.dat

更新プログラムがダウンロード中の場合、ダウンロードを中止するために実施します。
この作業はダウンロード中ではない場合でも実施することを推奨いたします。
※ Windows 10 バージョン 1703 以降では qmgr0.dat, qmgr1.dat ファイルが存在しないため下記のコマンドにて削除を実施します。

1
del /Q %ALLUSERSPROFILE%\Microsoft\Network\Downloader\*

d) 自動更新サービスとBITS サービスの開始
コマンド プロンプトから以下のコマンドを実行します。
または、サービス マネージャから [自動更新] または [Automatic Updates] または [Windows Update] サービスと [Background Intelligent Transfer Services] サービスを開始します。

※ Windows 10 の場合: 最後に「net start dosvc」で [Delivery Optimization] サービスを、「net start usosvc」で [Update Orchestrator] のサービスを起動します。
※ Windows Server 2016 の場合: 最後に「net start usosvc」で [Update Orchestrator] のサービスを起動します。

1
2
3
4
net start bits
net start wuauserv
(net start dosvc)
(net start usosvc)

e) 更新プログラム検出の確認
上記の手順を実施後、以下のコマンドを実行して、更新プログラムの検出を実施します。
または、コントロール パネルの Windows Update の UI から [更新プログラムの確認] をクリックします。

1
wuauclt /detectnow

約 5 ~ 10 分ほど待ち、更新プログラムのダウンロードおよびインストールが実施できるかどうかを確認します。

手順は以上となります。

Windows 10 / Windows Server 2016 の場合は、次のコマンドを実行してください。(Windows 10 / Windows Server 2016 では上記コマンドはお使いいただけません)

1
2
3
4
5
6
・Powershell
$AutoUpdates = New-Object -ComObject "Microsoft.Update.AutoUpdate"
$AutoUpdates.DetectNow()
・VBScript
Set automaticUpdates = CreateObject("Microsoft.Update.AutoUpdate")
automaticUpdates.DetectNow()

※ 上記コマンドによる検出処理の実行につきましては Windows 10 version 1709 以降のバージョンでは
下記ポリシーにて設定いただいている検出頻度 (既定では 22 時間) 以内で実行した場合に、ブロックされる
処理が組み込まれておりますため、ご留意いただけますようお願いします。

  • ポリシー
1
2
[コンピューターの構成] - [管理用テンプレート] - [Windows コンポーネント] - [Windows Update]
"自動更新の検出頻度"