お疲れ様です。satimoです。
仕事の一つで情報システム部?的なことも行っているのですが、
時々WindowsUpdateに失敗する端末に出くわすことがあります。
PC(クライアント)はプロキシを設定しないとインターネットに出ることができない為、WSUSからでないとWindowsUpdateができないわけです。
そんな時に対応する方法についてつらつら書いていきます。
今回書いている内容についてはクライアントにWSUSの設定を行い正常にアップデートができている端末もある中で失敗する端末があるといった場合を想定しています。
↑の構成図は『Cacoo』という作画ツールで書いています。
ブラウザ上で書くことができて無料で使えるので興味がある方は是非~!
\\ 5分で登録可能!ブラウザ上で構成図がかける無料の作画ツール『Cacoo』の登録方法はコチラ //
<<Cacoo 公式サイト:https://cacoo.com/ja/home>>
クライアントの再起動
何はともあれなのですが、一旦再起動して更新できるか確認してみましょう
サーバーOSだと再起動できないとか言ってくる利用者もいるかと思いますが、
WindowsUpdate後に再起動が必要になりますしね。
そのサーバーでなにかセキュリティ事故があったとき責任取ってくださいね!と
笑顔でおどしていきましょうw
クライアントとWSUSサーバーが接続できることの確認
次はWSUSサーバーとクライアントがネットワーク的につながっているかの確認を行いましょう。
- pingコマンドを使ってWSUSサーバーへ接続できることの確認
- telnetコマンドで8530(Windows Server 2012以前は80)に接続できることの確認
ping <WSUSサーバーIPアドレス>
telnet <WSUSサーバーIPアドレス> 8530
※8530は初期値になりますので環境によって変わります。
ここでつまずく場合はファイアーウォールやセキュリティソフト、
ネットワーク周りの確認が必要になります。
ざっくりWindowsファイアーウォールやセキュリティソフトを無効にする
ネットワーク周りであれば、tracertコマンドでどこまでたどり着けるかの確認
を行って切り分けを行います。
あとは、環境にもよりますがWSUSサーバーへ名前解決できるかどうかといったところでしょうか?
名前解決できるかどうかは
ping <wususのコンピュータ名>
で確認していきます。
Windows Update Agentのバージョン確認
Windows10より前のバージョンの場合PCにインストールされている
Windows Update Agentのバージョン確認を行うことをお勧めします。
Windows Update Agentのバージョン確認方法
WSUSから更新する場合Windows Update エージェントが古いと
WSUSとクライアントが上手におしゃべりができず失敗することがあります。
Windows Update エージェントを最新バージョンに更新する方法
Microsoftの記事になります。
古いバージョンの場合は最新のバージョンにアップデート後に
Windows Updateができるか確認します。
それでも解決できないときは
ここからが本題になってきます。
ローカルに更新プログラムをダウンロードして適用する
原因の調査が不要な場合や対象台数が少ない場合は、
アップデートできない更新プログラムをローカルに保存して適用を行う方法が一番早いです。
ローカルにダウンロードする場合は、
Windows Update Catalogからダウンロードします。
https://www.catalog.update.microsoft.com/Home.aspx
検索の開始の項目に対象の更新プログラムの情報を入力しダウンロードを行います。
対象クライアントをインターネットに接続しWindows Updateを行う
次に行うことは対象のクライアントをインターネットに接続しWindows Updateを行うことでしょうか。
ただ、色々問題がでてきます。
そもそもインターネットに出ることができない
これは、まぁどうしようもないですね。。。
一番大きな問題は余計な更新プログラムも適用してしまう場合がある。
社内ポリシーにそぐわない更新プログラムを適用してしまう。
ということです。
わかりやすいところだと、古い話になりますが
クライアントにインストールされているアプリケーションが
特定のIEのバージョンでしか動かない場合などです。
もちろん更新プログラムをダウンロードのみで適用しないことはできますが、
誤って適用した場合はアンインストールを行うなど余計な手間が出てきます。
それでも解決できないとき その2
ここらへんでログを見るとかの話しをしたいのですが、
正直ログを見て解決できたこと少ないんですよね。。。
なので、過去のWindows Update時の不要なファイルなどを削除する方法をお勧めします。
思考停止でコマンドプロンプトを管理者として実行より起動し、下記コマンドを実行してください。
net stop usosvc
net stop dosvc
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
ren %systemroot%\System32\catroot2 catroot2.old
del "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr0.dat"
del "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr1.dat"
net start msiserver
net start bits
net start cryptSvc
net start wuauserv
net start dosvc
net start usosvc
ざっくりとした説明ですが、Windows Update関連のサービスを停止し不要なファイルを削除
削除後にサービスの起動を行っています。
コマンド実行後再度Windows Updateの実行を行っていきましょう。
それでも解決できないとき その3 Windows Updateログの確認
Windows 10からWindows Updateのログを確認するときは
PowerShellのコマンドから出力してあげる必要があります。
PowerShellを起動し下記コマンドを実行します。
> Get-WindowsUpdateLog
デスクトップ上に『WindowsUpdate.log』ファイルが出力されますのでファイルを眺めていきます。
まず見るところはWSUSサーバーから更新プログラムを取得しようとしているか?です。
ログ上に下のように記述されている項目があります。
Got WSUS Client/Server URL: http://192.168.1.1:8530/ClientWebService/client.asmx""
この場合はWSUSサーバー(192.168.1.1)から更新プログラムを取得しようとしています。
違うIPアドレスから取得しようとしている場合は設定の見直しが必要です。
余談ですが、たま~にあります。
昔のWSUSサーバーの設定が残ったままになっているときや、
異なる環境からPCを持ってきた場合なんかです。
違うアドレスが入っているのを見つけたときは安心半分とセットアップくらいちゃんとやれやと内心思っています。😥
次に、直近のWindows Updateで失敗した時にログを確認したほうが良いです。
見つけ方は『error』や「fail」といった文字が出ているところを確認し
出力されているエラーコードを確認していきます。
エラーコードが明確に出ている場合はラッキーです。
エラーコードからGoogle先生に問い合わせを行い先人の教えを請いにいきます。
コメント