停電復旧後にWindows Updateができなくなった。

台風の影響で、夕方停電がありました。UPSのおかげでサーバーのダウンを免れましたが、PCのほうは間に合わず、電源断となりました。

翌朝ツレのPCを起動すると、Windowsのセキュリティの警告が出ます。ESET Smart Securityは、アップデートできていないと赤くなって怒っています。HTTPSのサイトにはアクセスできなくなっています。例の証明書の問題かと一瞬思いましたが、他のPCではアクセスできていますので違うようです。

原因は、何と

「時間の設定が間違えていたこと。」

でした。たったこれだけ。停電したときに時計が狂ってしまったようです。正しい時間を調整して、インターネット時刻との同期をしておきます。インターネット時刻(いわゆるntp)は、あれかじめ近い時間に手で調整しないと同期してくれません。

しかし、 Updateができなくなっています。

「現在サービスが実行されてないため、windows updateで更新プログラムを確認できません。

このコンピューターの再起動画必要な可能性があります。」

と表示されてしまいます。Windows Updateサービスは動いています。Google先生に

windows update サービス 実行されていない

で聞いてみます。すると、

ThinkPad X200のWindows7化で涙目:現在サービスが実行されていないため、Windows Updateで更新プログラムを確認できません。エラーコード 0xC8000247

というページがひっかりました。指示通りWindowsUpdate.logを確認したところ、

2011-09-2210:22:50:7281196aa4DtaStorFATAL: Failed to initialize datastore, error = 0xC8000222</div>
<div>2011-09-2210:22:50:7281196aa4AgentWARNING: GetServiceList failed with error 0xc8000222.</div>
<div>2011-09-2210:22:50:7281196aa4AUWARNING: QueryRegisteredProvider failed with error 0xc8000222</div>
<div>2011-09-2210:22:50:7281196aa4AU  # Approval type: Scheduled (User preference)</div>
<div>2011-09-2210:22:50:7281196aa4AU  # Scheduled install day/time: Every day at 3:00</div>
<div>2011-09-2210:22:50:7281196aa4AU  # Auto-install minor updates: Yes (User preference)</div>
<div>2011-09-2210:22:50:7281196aa4AU  # Accelerated install is required</div>
<div>2011-09-2210:22:50:7281196aa4AU  # Power management is turned off through policy</div>
<div>2011-09-2210:22:50:7281196aa4DtaStorFATAL: Failed to initialize datastore, error = 0xC8000222</div>
<div>2011-09-2210:22:50:7281196aa4AUFATAL: Failed to get session from datastore, error = 0xC8000222</div>
<div>2011-09-2210:22:50:7281196aa4AUFATAL: Failed to Unserialize from data store, error = 0xC8000222</div>
<div>2011-09-2210:22:50:7281196aa4AU  # WARNING: Exit code = 0xC8000222</div>
<div>2011-09-2210:22:50:7281196aa4AU###########  AU: Uninitializing Automatic Updates  ###########</div>
<div>2011-09-2210:22:50:7281196aa4AUWARNING: InitAUComponents Failed, will restart AU in 30 mins, error = 0xC8000222</div>
<div>2011-09-2210:22:50:7281196aa4AUAU Restart required....

となっていました。

エラーコード0xC8000222で、またまたGoogle先生に聞いてみると、

質問 Windows Update エラー 0xC8000222 リカバリ直後から Update できない

というそのものズバリの回答がありました。この回答の中にあるスクリプトを動かして解決できました。