共用方式為


針對 WSUS 用戶端代理程式的問題進行疑難解答

本文可協助您診斷和解決 Windows Server Update Services (WSUS) 用戶端代理程序的問題。

原始產品版本: Windows Server Update Services
原始 KB 編號: 10132

當您遇到 WSUS 用戶端代理程式的問題時,這些代理程式可以透過許多方式自行顯示。 此處列出一些常見問題:

  • 這可能是組策略客戶端設定的問題。
  • 這可能是 BITS 的問題。
  • 這可能是 WSUS 代理程式服務的問題。
  • 這可能與網路問題有關,導致客戶端無法連線到伺服器。
  • 這可能是自動更新代理程式存放區的問題。
  • 可能是用戶端在磁碟複製所造成的 WSUS 用戶端識別子重複的問題。

確認客戶端已正確設定

當您針對 WSUS 用戶端代理程式的問題進行疑難解答時,請先確定用戶端已正確設定。 請確定用戶端正在收到適當的 Active Directory 組策略,以及 WSUS 伺服器的詳細數據。 您可以執行下列命令來這麼做:

GPRESULT /V > GPRESULT.TXT

在 [記事本] 中開啟文本檔,並尋找 WSUS 原則的名稱。 例如,如果您的 WSUS 原則命名為 WSUS,您可以在 [套用的組策略物件] 標題下的 [計算機設定] 區段內的 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 帳戶下執行。 若要將服務設定為以正確的帳戶執行,請遵循下列步驟:

  1. 開啟命令提示字元並執行下列命令:

    sc config bits obj= LocalSystem
    

    obj=LocalSystem 之間必須有空格。 如果成功,您應該會收到下列輸出:

    [SC] ChangeServiceConfig SUCCESS
    
  2. 停止並重新啟動 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

注意

您必須以本機系統管理員身分登入,才能停止並重新啟動 BITS。

BITS 無法啟動

如果 BITS 服務無法啟動,請查看事件記錄檔中是否有任何 BITS 相關錯誤。 您可以使用下表來診斷這些錯誤的原因。

錯誤名稱 錯誤碼 描述
ERROR_SERVICE_DOES_NOT_EXIST 0x80070424 請參閱以下有關 修復 BITS 組態 的一節。
ERROR_SERVICE_NOT_IN_EXE 0x8007043B BITS 未列為 netsvcs svchost 群組中的其中一個服務
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: Rpcss
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 Proxy 設定中指定了不正確的 Proxy 伺服器名稱。 當認證提供給不是NTLM/Negotiate的驗證配置,但使用者名稱或密碼為 Null 時,也會看到此錯誤。 將使用者的 Internet Explorer Proxy 設定變更為有效的 Proxy 伺服器。 或者,針對 NTLM/Negotiate 以外的配置,將認證變更為非 NULL 使用者名稱/密碼。
ERROR_WINHTTP_NAME_NOT_RESOLVED 0x80072ee7 BITS 無法解析伺服器/Proxy。 作業擁有者內容中相同電腦上的 Internet Explorer 會看到相同的問題。 請嘗試使用作業擁有者的內容,透過網頁瀏覽器下載相同的檔案。
ERROR_HTTP_INVALID_SERVER_RESPONSE 0x80072f78 這是暫時性錯誤,作業將會繼續下載。
BG_E_INSUFFICIENT_RANGE_SUPPORT 0x80200013 BITS 會使用 HTTP 要求中的範圍標頭來要求檔案的部分。 如果伺服器或 Proxy 伺服器不瞭解範圍要求,並傳回完整檔案,而不是要求的範圍,BITS 會將作業放入 ERROR 狀態,並出現此錯誤。 在錯誤期間擷取網路流量,並檢查具有 Range 標頭的 HTTP GET 要求是否獲得有效的回應。 檢查 Proxy 伺服器,以確保它們已正確設定以支援 Range 要求。
BG_E_MISSING_FILE_SIZE 0x80200011 當 BITS 傳送 HEAD 要求,且伺服器/Proxy 不會在回應中傳回 Content-Length 標頭時,BITS 會將作業置於 ERROR 狀態,並出現此錯誤。 檢查 Proxy 伺服器和 WSUS 伺服器,以確保它們已正確設定。 已知某些版本的 Apache 2.0 Proxy 伺服器會展示此行為。
BG_E_HTTP_ERROR_403 0x80190193 當伺服器在任何要求中傳回 HTTP 403 回應時,BITS 會以此錯誤碼將作業置於 ERROR 狀態。 HTTP 403 對應至 禁止:拒絕存取。 檢查執行作業之帳戶的訪問許可權。
ERROR_NOT_LOGGED_ON 0x800704dd SENS 服務未收到使用者登入通知。 BITS(2.0 版和更新版本)取決於服務控制管理員的登入通知,而此通知又取決於 SENS 服務。 請確定 SENS 服務已正確啟動並執行。

修復損毀的 BITS 組態

若要修復損毀的 BITS 服務組態,您可以手動輸入 BITS 服務設定。

注意

只有在所有其他疑難解答嘗試都失敗的情況下,才應該採取此動作。 您必須是系統管理員,才能修改 BITS 組態。

若要修復損毀的 BITS 組態,請遵循下列步驟:

  1. 開啟命令提示字元。

  2. 輸入下列命令,在輸入每個命令之後按 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
    
  3. 停止並重新啟動 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 伺服器,最可能的原因包括:

  • 用戶端上發生名稱解析問題。
  • 有網路相關問題,例如 Proxy 設定問題。

使用標準疑難解答程序來確認名稱解析正在網路上運作。 如果名稱解析正常運作,下一個步驟是檢查 Proxy 問題。 檢查 windowsupdate.log (C:\windows) 以查看是否有任何 Proxy 相關錯誤。 您可以執行 proxycfg 命令來檢查 WinHTTP Proxy 設定。

如果有 Proxy 錯誤,請移至 Internet Explorer >工具>連線>LAN 設定、設定正確的 Proxy,然後確定您可以存取指定的 WSUS URL。

完成後,您可以使用 命令,將這些使用者 Proxy 設定複製到 WinHTTP Proxy 設定 proxycfg -u 。 指定 Proxy 設定之後,請從命令提示字元執行 wuauclt /detectnow ,並檢查windowsupdate.log是否有錯誤。

重建自動更新代理程式存放區

下載更新時發生問題,且軟體發佈存放區發生錯誤時,請在用戶端上完成下列步驟:

  • 從命令提示字元執行 sc stop wuauserv 來停止自動更新服務。
  • 重新命名軟體散發資料夾(例如 C:\Windows\SoftwareDistribution)。
  • 從命令提示字元執行 sc start wuauserv ,以重新啟動自動更新服務。
  • 從命令提示字元執行 wuauclt /resetauthorization /detectnow
  • 從命令提示字元執行 wuauclt /reportnow

檢查具有相同 SUSclient 識別符的用戶端

您可能會遇到控制台中只有一個 WSUS 用戶端出現的問題。 或者您可能會注意到,在一組用戶端中,一次只會顯示一個用戶端,但出現的確切用戶端可能會隨著時間而變更。 當系統映像化且客戶端最終具有相同 SUSclientID時,就會發生此問題。

針對因相同 SUSclientID而無法正常運作的用戶端,請完成下列步驟:

  • 從命令提示字元執行 sc stop wuauserv 來停止自動更新服務。

  • SUSclientID從下列位置移除登入機碼:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate

  • 從命令提示字元執行 sc start wuauserv ,以重新啟動自動更新服務。

  • 從命令提示字元執行 wuauclt /resetauthorization /detectnow

  • 從命令提示字元執行 wuauclt /reportnow