トップページコラム > > Windows Updateのエラー(コード:80244022)







Windows Updateのエラー(コード:80244022)

作成日: 2014年2月8日
更新日: (なし)

エラー・コード:80244022の原因

あるサーバーでWindows Updateがどうしても上手く行かないということで調べることになりました。 サーバーはWindows Server 2008 R2です。 確かに「更新プログラムの確認」を200回くらいクリックしても上手く行きません。 「エラー・コード:80244022」でWindows Updateが失敗してしまいます。 でも、どうした訳かWindows Updateの画面にある「Windows Updateからの更新プログラムをオンラインで確認する」をクリックすると上手く行きます。

そう、原因はWSUSの設定でした。 MicrosoftのWindows Update エラー 8024402というヘルプ・ページには「更新プログラムの取得にWindows Server Update Services(WSUS)を使用している可能性があります。」と書いてありました。 ですが、私はWSUSを使ったことがなかったのでピンと来ませんでした。

  いつからエラーをブっこいでるのか?
  最初からブっこぎまくりだ。
  (おいおい。)

  じゃあ、何でこのサーバーにはパッチがブっこまれているのか?
  最初からブっこまれていた。
  (おいおい。)

  誰がブっこんだんだ?
  サーバーをブったてたAさんだろう。
  (おいおい。)

  ちょっとAさん、このへぼサーバーにどうやってパッチをブっこんだのか?
  WSUSを使ったで。楽勝やで。
  (おいおい。)

という感じの会話からWSUSに辿り着いたのでした。 サーバーの構築担当者(Aさん)が自分のパソコンとへぼサーバーをネットワーク・ケーブルで直結し、パソコンにセットアップしたWSUSサーバーを使ってへぼサーバーにパッチを適用したそうですが、へぼサーバーの設定を元に戻さないままサーバー管理者へ送り届けていたのでした。

WSUSサーバーからパッチを取得するように設定されていると、Windows Updateの画面には「Windows Updateからの更新プログラムをオンラインで確認する」が表示されるのでした。 これを知っているか知らないかが勝敗の分かれ目でした。 へぼサーバーは健気にもどこかへ行ってしまった愛しのWSUSサーバーに接続しようと頑張っていたのでした。 それを知らないサーバー管理者と私は「へぼい。へぼ過ぎる。」と愚痴りながら「更新プログラムの確認」を無慈悲に連打して「エラー・コード:80244022」が生じていたという訳です。

WSUSからパッチを取得する設定の解除

ファイル名を指定して実行の入力画面の画像

へぼサーバーはインターネットからパッチを取得するよう元の設定に戻すと、しっかりWindows Updateしてくれるようになりました。 その元へ戻す手順、則ちWSUSからパッチを取得する設定を解除する手順です。

動作を決める設定はグループ・ポリシーで行われているので、まずはグループ・ポリシー・エディターを起動します。 「ファイル名を指定して実行」に「gpedit.msc」を入力し、OKをクリックするとグループ・ポリシー・エディターが起動します。

グループ・ポリシー・エディター画面の画像

グループ・ポリシー・エディターで「コンピューターの構成」の下にある「管理用テンプレート」を展開すると、「Windowsコンポーネント」という項目があります。

その「Windows Update」の中にある「イントラネットのMicrosoft更新サービスの場所を指定する」という設定がWSUSを使うかどうかを決めるものになります。

「状態」の値が「有効」になっていると、WSUSサーバーからパッチを取得する動作になります。 今回のケースではデフォルト(=WSUSからパッチを取得しない)に戻したいので、この値を「未構成」に変更します。

ントラネットのMicrosoft更新サービスの場所を指定するの設定画面の画像

前の画面で「イントラネットのMicrosoft更新サービスの場所を指定する」をダブル・クリックすると、詳細設定画面が開きます。 左上の箇所で設定値を「未構成」にすると、WSUSサーバーを使う設定を解除できます。

「有効」としてWSUSサーバーからパッチを取得する設定の場合、左下の箇所でWSUSサーバーのIPアドレスを指定します。 へぼサーバーではここにサーバー構築担当者(Aさん)のパソコンのIPアドレスが入っていました。

WSUSをセットアップしたことがある人なら「あっそ」ですが、私は経験がなかったので「へぇ〜」でした。 やはりこの業界、知っているか知らないかで初動に大きな差が出てしまいます。 私の専門はWindowsサーバーではないのですが、Windowsサーバーを触る機会がある以上はそうも言ってられないと身に染みて感じました。 大村益次郎先生曰く、「常識を発達させよ。見聞を広くしなければならぬ。」です。

Windows Updateのログ

Windows Updateは詳細な動作ログを出力しています。 デフォルトでは「C:\Windows\WindowsUpdate.log」に出力されます。 Windows Updateのエラーは原因が分かり難いことが多いですが、このログを見れば何か取っ掛かりを掴めるかも知れません(ログ自体も分かり難いですが)。 Windows Updateが使ったHTTPプロキシーの情報なども出力されます。

WindowsUpdate.logの出力
*************
** START ** Agent: Finding updates [CallerId = AutomaticUpdates]
*********
* Online = Yes; Ignore download priority = No
* Criteria = "IsInstalled=0 and DeploymentAction='Installation' or IsPresent=1 and DeploymentAction='Uninstallation' or IsInstalled=1 and DeploymentAction='Installation' and RebootRequired=1 or IsInstalled=0 and DeploymentAction='Uninstallation' and RebootRequired=1"
* ServiceID = {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} Managed
* Search Scope = {Machine}
Checking for agent SelfUpdate
Client version: Core: 7.6.7600.256 Aux: 7.6.7600.256
Validating signature for C:\Windows\SoftwareDistribution\SelfUpdate\wuident.cab:
Microsoft signed: Yes
WARNING: WinHttp: SendRequestToServerForFileInformation failed with 0x801901f7
WARNING: WinHttp: ShouldFileBeDownloaded failed with 0x801901f7
WARNING: WinHttp: SendRequestToServerForFileInformation failed with 0x801901f7
WARNING: WinHttp: ShouldFileBeDownloaded failed with 0x801901f7
WARNING: WinHttp: SendRequestToServerForFileInformation failed with 0x801901f7
WARNING: WinHttp: ShouldFileBeDownloaded failed with 0x801901f7
WARNING: WinHttp: SendRequestToServerForFileInformation failed with 0x801901f7
WARNING: WinHttp: ShouldFileBeDownloaded failed with 0x801901f7
WARNING: DownloadFileInternal failed for http://YY.YY.YY.YY/selfupdate/wuident.cab: error 0x801901f7
WARNING: SelfUpdate check failed to download package information, error = 0x80244022
FATAL: SelfUpdate check failed, err = 0x80244022
* WARNING: Skipping scan, self-update check returned 0x80244022
* WARNING: Exit code = 0x80244022
*********
** END ** Agent: Finding updates [CallerId = AutomaticUpdates]
*************
WARNING: WU client failed Searching for update with error 0x80244022
## RESUMED ## AU: Search for updates [CallId = {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}]
# WARNING: Search callback failed, result = 0x80244022
# WARNING: Failed to find updates with error code 80244022
#########
## END ## AU: Search for updates [CallId = {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}]
#############
Need to show Unable to Detect notification
Successfully wrote event for AU health state:1
AU setting next detection timeout to yyyy-mm-dd hh:mm:ss
Successfully wrote event for AU health state:1
Successfully wrote event for AU health state:1
REPORT EVENT: {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} yyyy-mm-dd hh:mm:ss:312+0900 1 148 101 {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} 1 80244022 SelfUpdate Failure Software Synchronization indows Update Client failed to detect with error 0x80244022.
CWERReporter::HandleEvents - WER report upload completed with status 0x8
WER Report sent: 7.6.7600.256 0x80244022 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX Scan 101 Managed
CWERReporter finishing event handling. (00000000)
WARNING: GetConfig failure, error = 0x80244022, soap client error = 10, soap error code = 0, HTTP status code = 503
WARNING: PTError: 0x80244022
WARNING: GetConfig_WithRecovery failed: 0x80244022
WARNING: RefreshConfig failed: 0x80244022
WARNING: RefreshPTState failed: 0x80244022
WARNING: PTError: 0x80244022

上記はへぼサーバーで「エラー・コード:80244022」が生じていた際の出力です。 「* ServiceID」の後に「Managed」とありますが、WSUSからパッチを取得する設定になっているとそう出力されるそうです。 「http://YY.YY.YY.YY」と出力されているのが接続しに行こうとしていたWSUSサーバーのIPアドレスです。

更新履歴

更新日 更新内容
2014年2月8日 新規作成