WSUS クライアント エージェントに関する問題のトラブルシューティング
この記事は、Windows Server Update Services (WSUS) クライアント エージェントに関する問題の診断と解決に役立ちます。
元の製品バージョン: Windows Server Update Services
元の KB 番号: 10132
WSUS クライアント エージェントで問題が発生すると、さまざまな方法で問題が発生する可能性があります。 一般的な問題をいくつか次に示します。
- グループ ポリシーのクライアント設定に問題がある可能性があります。
- BITS の問題である可能性があります。
- WSUS エージェント サービスに問題がある可能性があります。
- これは、クライアントがサーバーに到達できないネットワークの問題に関連している可能性があります。
- これは、自動更新エージェント ストアの問題である可能性があります。
- これは、ディスクの複製によってクライアントに WSUS クライアント ID が重複する問題である可能性があります。
クライアントが正しく構成されていることを確認する
WSUS クライアント エージェントに関する問題のトラブルシューティングを行う場合は、まずクライアントが正しく構成されていることを確認します。 クライアントが適切な Active Directory グループ ポリシーを受信しており、WSUS サーバーの詳細が存在することを確認します。 リソース グループを作成するには、次のコマンドを実行します。
GPRESULT /V > GPRESULT.TXT
メモ帳でテキスト ファイルを開き、WSUS ポリシーの名前を見つけます。 たとえば、WSUS ポリシーの名前が WSUS の場合は、 Computer 設定 セクションの [ 適用されたグループ ポリシー オブジェクト 見出しの下にあるGPRESULT.TXT ファイルで確認できます。 次に例を示します。
Applied Group Policy Objects
-----------------------------
Default Domain Policy
WSUS
Local Group Policy
WSUS の設定が存在しない場合、考えられる原因は次のとおりです。
- システムにドメインのグループ ポリシーがありません。
- グループ ポリシーは、クライアント システムを対象としていません。
この問題を解決するには、各クライアントでグループ ポリシーが正常に更新され、WSUS 設定が正しく構成されていることを確認します。
クライアントのグループ ポリシーを更新するには、コマンド プロンプトから GPUpdate /force
を実行します。
WSUS クライアントのグループ ポリシーの構成の詳細については、「 グループ ポリシーを使用して自動更新を構成するを参照してください。
BITS に関連する問題を確認する
バックグラウンド インテリジェント転送サービス (BITS) は、WSUS によって、Microsoft Update からメインの WSUS サーバー、および WSUS サーバーからクライアントに更新プログラムをダウンロードするために使用されるサービスです。 ダウンロードの問題の一部は、サーバーまたはクライアント コンピューターの BITS に関する問題によって発生する可能性があります。 ダウンロードの問題をトラブルシューティングする場合は、影響を受けるすべてのコンピューターで BITS が正しく実行されていることを確認する必要があります。
BITS サービスは、既定で LocalSystem アカウントで実行する必要があります。 正しいアカウントで実行するようにサービスを構成するには、次の手順に従います。
コマンド プロンプトを開いて、次のコマンドを実行します。
sc config bits obj= LocalSystem
obj= と LocalSystem の間にスペースが必要です。 成功した場合は、次の出力が表示されます。
[SC] ChangeServiceConfig SUCCESS
BITS を停止して再起動します。
BITS サービスの状態を表示するには、コマンド プロンプトを開き、次のコマンドを実行します。
sc query bits
BITS が実行されている場合は、次の出力が表示されます。
SERVICE_NAME: bits
TYPE: 20 WIN32_SHARE_PROCESS
STATE: 4 RUNNING
BITS が実行されていない場合は、次の出力が表示されます。
SERVICE_NAME: bits
TYPE: 20 WIN32_SHARE_PROCESS
STATE: 1 STOPPED
通常、サービスを停止して再起動することで、BITS の問題を解決できます。 BITS サービスを停止して再起動するには、コマンド プロンプトから次のコマンドを実行します。
sc stop bits
sc start bits
Note
BITS を停止して再起動するには、ローカル管理者としてログオンする必要があります。
BITS が開始に失敗する
BITS サービスの開始に失敗した場合は、イベント ログで BITS 関連のエラーを調べてください。 次の表を使用して、これらのエラーの原因を診断できます。
名前エラー | エラー コード | 説明 |
---|---|---|
ERROR_SERVICE_DOES_NOT_EXIST | 0x80070424 | BITS 構成の 説明に関するセクションを参照してください 以下を参照してください。 |
ERROR_SERVICE_NOT_IN_EXE | 0x8007043B | BITS が netsvcs svchost グループ内のサービスの 1 つとして表示されない |
ERROR_SERVICE_DISABLED | 0x80070422 | BITS が無効になっています。 BITS サービスを有効にします。 |
ERROR_SERVICE_DEPENDENCY_DELETED ERROR_SERVICE_DEPENDENCY_FAIL | 0x80070433、0x8007042c | BITS サービス依存関係リストに表示されるサービスを開始できません。 BITS サービスの依存関係リストが正しいことを確認します。 Windows Vista: RpcSs、EventSystem (ピア キャッシュが有効な場合は http.sys と LanManWorkstation も) Windows Server 2003: Rpcss、EventSystem Windows XP: Rpcs Windows 2000: Rpcss、SENS、Wmi |
ERROR_PATH_NOT_FOUND | 0x80070003 | Windows Vista より前: %ALLUSERSPROFILE%\Microsoft\Network が存在しません |
ERROR_FILE_NOT_FOUND | 0x80070002 | Parameters キーがありません。 次のキーと値が存在することを確認します。HKLM\SYSTEM\CurrentControlSet\Services\BITS\Parameters\ServiceDll = %SystemRoot%\System32\qmgr.dll |
REGDB_E_CLASSNOTREG、EVENT_E_INTERNALERROR | 0x80040154、0x80040206 | Windows 2000 の BITS は、SENS サービスと EventSystem サービスに依存します。 COM+ カタログが破損している場合、BITS はこのエラー コードで失敗する可能性があります。 |
BITS ジョブが失敗する
クライアントが更新プログラムを受信するように適切に構成されていて、BITS が正しく構成されていて、BITS が正常に起動して実行しているように見える場合は、BITS ジョブ自体が失敗する問題が発生している可能性があります。 これを確認するには、イベント ログで BITS 関連のエラーを調べます。 次の表を使用して、これらのエラーの原因を診断できます。
名前エラー | エラー コード | 説明 |
---|---|---|
E_INVALIDARG | 0x80070057 | ユーザーの Internet Explorer プロキシ設定で間違ったプロキシ サーバー名が指定されました。 このエラーは、NTLM/Negotiate ではない認証スキームに資格情報が指定されていても、ユーザー名またはパスワードが null の場合にも表示されます。 ユーザーの Internet Explorer プロキシ設定を有効なプロキシ サーバーに変更します。 または、NTLM/Negotiate 以外のスキームの資格情報を NULL ユーザー名/パスワードに変更します。 |
ERROR_WINHTTP_NAME_NOT_RESOLVED | 0x80072ee7 | サーバー/プロキシを BITS で解決できませんでした。 ジョブ所有者のコンテキストで同じコンピューター上の Internet Explorer で同じ問題が発生します。 ジョブ所有者のコンテキストを使用して、Web ブラウザーから同じファイルをダウンロードしてみてください。 |
ERROR_HTTP_INVALID_SERVER_RESPONSE | 0x80072f78 | これは一時的なエラーであり、ジョブのダウンロードは続行されます。 |
BG_E_INSUFFICIENT_RANGE_SUPPORT | 0x80200013 | BITS では、HTTP 要求で範囲ヘッダーを使用して、ファイルの一部を要求します。 サーバーまたはプロキシ サーバーが範囲要求を認識せず、要求された範囲ではなく完全なファイルを返す場合、BITS はジョブをこのエラーで ERROR 状態にします。 エラー中にネットワーク トラフィックをキャプチャし、 Range ヘッダーを含む HTTP GET 要求が有効な応答を取得しているかどうかを調べます。 プロキシ サーバーが Range 要求をサポートするように正しく構成されていることを確認します。 |
BG_E_MISSING_FILE_SIZE | 0x80200011 | BITS が HEAD 要求を送信し、サーバー/プロキシが応答で Content-Length ヘッダーを返さない場合、BITS はこのエラーでジョブを ERROR 状態にします。 プロキシ サーバーと WSUS サーバーが正しく構成されていることを確認します。 Apache 2.0 プロキシ サーバーの一部のバージョンでは、この動作を示すことがわかっています。 |
BG_E_HTTP_ERROR_403 | 0x80190193 | サーバーがいずれかの要求で HTTP 403 応答を返すと、BITS はジョブをこのエラー コードで ERROR 状態にします。 HTTP 403 は、 Forbidden: アクセスが拒否されましたに対応します。 ジョブを実行しているアカウントのアクセス許可を確認します。 |
ERROR_NOT_LOGGED_ON | 0x800704dd | SENS サービスがユーザー ログオン通知を受信していません。 BITS (バージョン 2.0 以降) は、Service Control Manager からのログオン通知に依存します。これは、SENS サービスに依存します。 SENS サービスが開始され、正常に実行されていることを確認します。 |
破損した BITS 構成を修復する
破損した BITS サービス構成を修復するには、BITS サービス構成を手動で入力します。
Note
このアクションは、他のすべてのトラブルシューティングの試行が失敗した場合にのみ実行する必要があります。 BITS 構成を変更するには、管理者である必要があります。
破損した BITS 構成を修復するには、次の手順に従います。
コマンド プロンプトを開きます。
次のコマンドを入力し、各コマンドを入力した後に Enter キーを押します。
sc config bits binpath= "%systemroot%\system32\svchost.exe –k netsvcs" sc config bits depend= RpcSs/EventSystem sc config bits start= delayed-auto sc config bits type= interact type=own sc config bits error= normal sc config bits obj= LocalSystem sc privs bits privileges= SeCreateGlobalPrivilege/SeImpersonatePrivilege/SeTcbPrivilege/SeAssignPrimaryTokenPrivilege/SeIncreateQuotaPrivilege sc sidtype bits unrestricted sc failure bits reset= 86400 actions=restart/60000/restart/120000
BITS を停止して再起動します。
WSUS エージェント サービスに関する問題
Windows Update サービスが正常に開始できることを確認します。
Windows Update サービスの現在の状態を表示するには、コマンド プロンプトを開き、次のコマンドを実行します。
sc query wuauserv
WUAUSERV が実行されている場合は、次の出力が表示されます。
SERVICE_NAME: wuauserv
TYPE: 20 WIN32_SHARE_PROCESS
STATE: 4 RUNNING
WUAUSERV が実行されていない場合は、次の出力が表示されます。
SERVICE_NAME: wuauserv
TYPE: 20 WIN32_SHARE_PROCESS
STATE: 1 STOPPED
WUAUSERV サービスを正常に開始できることを確認します。 WUAUSERV を停止して再起動するには、ローカル管理者としてログオンする必要があります。
WUAUSERV サービスを開始するには、コマンド プロンプトから次のコマンドを実行します。
sc start wuauserv
クライアント エージェントが正常に起動して実行できない場合は、Windows Update エージェントのバージョンを確認してください。 エージェントが最新でない場合は、Windows Update エージェントを最新バージョンに更新。
Windows Update コンポーネント 設定することもできます。
修正プログラムを実行するか、エージェントを更新した後、 wuauclt /detectnow
実行します。 windowsupdate.logチェックして、問題がないことを確認します。
WSUS サーバーにクライアントから到達できることを確認します
URL http://<WSUSSERVER:port>/iuident.cab
にアクセスし、エラーなしでファイルをダウンロードできることを確認します。
WSUS サーバーにクライアントから到達できない場合、最も可能性の高い原因は次のとおりです。
- クライアントに名前解決の問題があります。
- プロキシ構成の問題など、ネットワーク関連の問題があります。
標準のトラブルシューティング手順を使用して、名前解決がネットワークで動作していることを確認します。 名前解決が機能している場合、次の手順ではプロキシの問題を確認します。 windowsupdate.log (C:\windows) を確認して、プロキシ関連のエラーがあるかどうかを確認します。 proxycfg
コマンドを実行して、WinHTTP プロキシ設定を確認できます。
プロキシ エラーがある場合は、Internet Explorer >Tools>Connections>LAN 設定に移動し、正しいプロキシを構成して、指定された WSUS URL にアクセスできることを確認します。
完了したら、 proxycfg -u
コマンドを使用して、これらのユーザー プロキシ設定を WinHTTP プロキシ設定にコピーできます。 プロキシ設定を指定したら、コマンド プロンプトから wuauclt /detectnow
を実行し、windowsupdate.logエラーを確認します。
自動更新エージェント ストアを再構築する
更新プログラムのダウンロードに問題があり、ソフトウェア配布ストアに関連するエラーがある場合は、クライアントで次の手順を実行します。
- コマンド プロンプトから
sc stop wuauserv
を実行して、自動更新サービスを停止します。 - ソフトウェア配布フォルダーの名前を変更します (例: C:\Windows\SoftwareDistribution)。
- コマンド プロンプトから
sc start wuauserv
を実行して、自動更新サービスを再起動します。 - コマンド プロンプトから、
wuauclt /resetauthorization /detectnow
を実行します。 - コマンド プロンプトから、
wuauclt /reportnow
を実行します。
同じ SUSclient ID を持つクライアントを確認する
コンソールに WSUS クライアントが 1 つだけ表示されるという問題が発生する場合があります。 または、クライアントのグループのうち、一度に 1 つだけがコンソールに表示されますが、表示される正確なクライアントは時間の経過と同時に変化する可能性があります。 この問題は、システムがイメージ化され、クライアントが同じ SUSclientID
を持つ場合に発生する可能性があります。
同じ SUSclientID
が原因で正常に動作しないクライアントの場合は、次の手順を実行します。
コマンド プロンプトから
sc stop wuauserv
を実行して、自動更新サービスを停止します。SUSclientID
レジストリ キーを次の場所から削除します。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate
コマンド プロンプトから
sc start wuauserv
を実行して、自動更新サービスを再起動します。コマンド プロンプトから、
wuauclt /resetauthorization /detectnow
を実行します。コマンド プロンプトから、
wuauclt /reportnow
を実行します。