共用方式為


針對 Configuration Manager 中的軟體更新管理進行疑難解答

本文可協助您針對 Configuration Manager 中的軟體更新管理程式進行疑難解答。 其中包含用戶端軟體更新掃描、同步處理問題,以及特定更新的偵測問題。

原始產品版本: Configuration Manager(最新分支)、System Center 2012 R2 Configuration Manager、System Center 2012 Configuration Manager
原始 KB 編號: 4505440

界定您的問題範圍

本指南假設已安裝並設定軟體更新點。 如需在 Configuration Manager 中設定軟體更新的詳細資訊,請參閱 準備軟體更新管理

開始進行疑難解答之前,請務必強調,您越瞭解您遇到的問題,越快又容易修正問題。 無論您是負責修正您遇到的問題,還是貴組織中的某人回報的問題,請花點時間回答下列問題:

  1. 具體來說,哪些工作不正常,/或您的目標為何?
  2. 問題的頻率或模式為何? 問題是否仍在發生?
  3. 您如何意識到問題存在?
  4. 它曾經工作過嗎? 如果是這樣,何時停止? 在停止運作之前,環境中有任何變更嗎?
  5. 哪些用戶端百分比受到影響?
  6. 已經做了什麼(如果有的話)試圖修復它?
  7. 瞭解客戶端的確切版本和伺服器版本。 這些系統是否為最新狀態?
  8. 受影響的用戶端有哪些共同點? 例如,相同的子網、AD 月臺、網域、實體位置、月臺、月臺系統。

瞭解並了解這些問題的解答,可讓您快速且輕鬆地解決您遇到的任何問題。

如果您知道您想要疑難解答的軟體更新管理程式內的特定區域,請選取下方。 從用戶端軟體更新掃描開始,如果不確定,我們將從頭到尾逐步執行整個程式。

用戶端軟體更新掃描

下列步驟概述客戶端掃描程式。 確認每個步驟,以正確建立問題所在位置。

步驟 1:用戶端會將 WSUS 位置要求傳送至管理點

用戶端做的第一件事是設定WSUS伺服器,做為其軟體更新掃描的更新來源。 該程序詳述如下。

  1. 當 Configuration Manager 用戶端需要處理軟體更新掃描時,掃描代理程式會根據可用原則建立掃描要求,如ScanAgent.log所述:

    CScanAgent::ScanByUpdates- Policy available for UpdateSourceID={SourceID}  
    ContentVersion=38  
    CScanAgent::ScanByUpdates- Added Policy to final ScanRequest List UpdateSourceID={SourceID}, Policy-ContentVersion=38, Required-ContentVersion=38
    
  2. 掃描代理程式現在會將 WSUS 位置要求傳送至位置服務,如ScanAgent.log所述:

    Inside CScanAgent::ProcessScanRequest()  
    CScanJobManager::Scan- entered  
    ScanJob({JobID}): CScanJob::Initialize- entered  
    ScanJob({JobID}): CScanJob::Scan- entered  
    ScanJob({JobID}): CScanJob::RequestLocations- entered  
    - - - - - -Requesting WSUS Server Locations from LS for {WSUSLocationID} version 38  
    - - - - - -Location Request ID = {LocationRequestID}  
    CScanAgentCache::PersistInstanceInCache- Persisted Instance CCM_ScanJobInstance  
    ScanJob({JobID}): - - - - - -Locations requested for ScanJobID={JobID} (LocationRequestID={LocationRequestID}), will process the scan request once locations are available.
    

    提示

    每個掃描作業都會儲存在 類別的 CCM_ScanJobInstance WMI 中:

    命名空間:類別: root\CCM\ScanAgentCCM_ScanJobInstance

  3. 位置服務會建立位置要求,並將它傳送至管理點。 WSUS 位置要求的套件識別碼是更新來源唯一標識碼。 在 LocationServices.log:

    CCCMWSUSLocation::GetLocationsAsyncEx  
    Attempting to persist WSUS location request for ContentID='{ContentID}' and ContentVersion='38'  
    Persisted WSUS location request LocationServices  
    Attempting to send WSUS Location Request for ContentID='{ContentID}'
    WSUSLocationRequest : <WSUSLocationRequest SchemaVersion="1.00"><Content ID="{ContentID}" Version="38"/><AssignedSite SiteCode="PS1"/><ClientLocationInfo OnInternet="0"><ADSite Name="CM12-R2PS1"/><Forest Name="CONTOSO.COM"/><Domain Name="CONTOSO.COM"/><IPAddresses><IPAddress SubnetAddress="192.168.2.0" Address="192.168.2.62"/></IPAddresses></ClientLocationInfo></WSUSLocationRequest>  
    Created and Sent Location Request '{LocationRequestID}' for package {ContentID}
    
  4. CCM 傳訊會將位置要求訊息傳送至管理點。 在 CcmMessaging.log:

    Sending async message '{Message}' to outgoing queue 'mp:[http]mp_locationmanager'  
    Sending outgoing message '{Message}'. Flags 0x200, sender account empty
    
  5. 管理點會剖析此要求,並呼叫 MP_GetWSUSServerLocations 預存程式,以從資料庫取得WSUS位置。 在 MP_Location.log:

    MP LM: Message Body : \<WSUSLocationRequest SchemaVersion="1.00"><Content ID="{ContentID}" Version="38"/><AssignedSite SiteCode="PS1"/><ClientLocationInfo OnInternet="0"><ADSite Name="CM12-R2PS1"/><Forest Name="CONTOSO.COM"/><Domain Name="CONTOSO.COM"/><IPAddresses><IPAddress SubnetAddress="192.168.2.0" Address="192.168.2.62"/></IPAddresses></ClientLocationInfo></WSUSLocationRequest> MP_LocationManager  
    MP LM: calling MP_GetWSUSServerLocations
    

    在 SQL Server Profiler 中:

    exec MP_GetMPSitesFromAssignedSite N'PS1'  
    exec MP_GetSiteInfoUnified N'<ClientLocationInfo OnInternet="0"><ADSite Name="CM12-R2-PS1"/><Forest Name="CONTOSO.COM"/><Domain Name="CONTOSO.COM"/><IPAddresses><IPAddress SubnetAddress="192.168.2.0" Address="192.168.2.62"/></IPAddresses></ClientLocationInfo>'  
    exec MP_GetWSUSServerLocations N'{WSUSServerLocationsID}',N'38',N'PS1',N'PS1',N'0',N'CONTOSO.COM'
    
  6. 從預存程式取得結果之後,管理點會傳送回應給用戶端。 在 MP_Location.log:

    MP LM: Reply message body: <WSUSLocationReply SchemaVersion="1.00"><Sites><Site><MPSite SiteCode="PS1"/><LocationRecords><LocationRecord WSUSURL="http://PS1SITE.CONTOSO.COM:8530" ServerName="PS1SITE.CONTOSO.COM" Version="38"/><LocationRecord WSUSURL="https://PS1SYS.CONTOSO.COM:8531" ServerName="PS1SYS.CONTOSO.COM" Version="38"/></LocationRecords></Site></Sites></WSUSLocationReply>
    
  7. CCM 傳訊會接收回應,並將其傳回位置服務。 在 CcmMessaging.log:

    Message '{Message1}' got reply '{Message2}' to local endpoint queue 'LS_ReplyLocations'  
    OutgoingMessage(Queue='mp_[http]mp_locationmanager', ID={*Message1*}):  
    Delivered successfully to host 'PS1SYS.CONTOSO.COM'.  
    Message '{Message2}' delivered to endpoint 'LS_ReplyLocations'
    
  8. 位置服務會剖析回應,並將位置傳回掃描代理程式。 在 LocationServices.log:

    Processing Location reply message LocationServices  
    WSUSLocationReply : <WSUSLocationReply SchemaVersion="1.00"><Sites><Site><MPSite SiteCode="PS1"/><LocationRecords><LocationRecord WSUSURL="http://PS1SITE.CONTOSO.COM:8530" ServerName="PS1SITE.CONTOSO.COM" Version="38"/><LocationRecord WSUSURL="https://PS1SYS.CONTOSO.COM:8531" ServerName="PS1SYS.CONTOSO.COM" Version="38"/></LocationRecords></Site></Sites></WSUSLocationReply>  
    Calling back with the following WSUS locations  
    WSUS Path='http://PS1SITE.CONTOSO.COM:8530', Server='PS1SITE.CONTOSO.COM', Version='38'  
    WSUS Path='https://PS1SYS.CONTOSO.COM:8531', Server='PS1SYS.CONTOSO.COM', Version='38'  
    Calling back with locations for WSUS request {WSUSLocationID}
    
  9. 掃描代理程式現在具有具有適當內容版本的原則和更新來源位置。 在 ScanAgent.log:

    *****WSUSLocationUpdate received for location request guid={LocationGUID}  
    ScanJob({JobID}): CScanJob::OnLocationUpdate- Received  
    Location=<http://PS1SITE.CONTOSO.COM:8530>, Version=38  
    ScanJob({JobID}): CScanJob::Execute- Adding UpdateSource={SourceID}, ContentType=2, ContentLocation=<http://PS1SITE.CONTOSO.COM:8530>, ContentVersion=38
    
  10. 掃描代理程式會通知 WUAHandler 新增更新來源。 WUAHandler 會將更新來源新增至登錄。 如果客戶端位於網域中,則會起始組策略重新整理,以查看組策略是否覆寫新增的更新伺服器。 下列項目會記錄在 WUAHandler.log,其中顯示正在新增的更新來源:

    Its a WSUS Update Source type ({WSUSUpdateSource}), adding it  
    Its a completely new WSUS Update Source  
    Enabling WUA Managed server policy to use server: <http://PS1SITE.CONTOSO.COM:8530>
    Policy refresh forced  
    Waiting for 2 mins for Group Policy to notify of WUA policy change  
    Waiting for 30 secs for policy to take effect on WU Agent.  
    Added Update Source ({UpdateSource}) of content type: 2
    

    在此期間,Windows Update 代理程式會看到 WSUS 設定變更。 在 WindowsUpdate.log:

    * WSUS server: <http://PS1SITE.CONTOSO.COM:8530> (Changed)  
    * WSUS status server: <http://PS1SITE.CONTOSO.COM:8530> (Changed)  
    Sus server changed through policy.
    

    檢查並設定下列登入機碼:

    登錄子機碼 值名稱 類型 資料
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate WUServer REG_SZ 包含埠的完整 WSUS 伺服器 URL。 例如,<http://PS1Site.Contoso.com:8530>
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate WUStatusServer REG_SZ 包含埠的完整 WSUS 伺服器 URL。 例如,<http://PS1Site.Contoso.com:8530>
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate\AU UseWUServer REG_DWORD 0x1

    對於現有的客戶端,我們預期會在內容版本遞增時看到下列訊息,WUAHandler.log表示:

    Its a WSUS Update Source type ({WSUSUpdateSource}), adding it.  
    WSUS update source already exists, it has increased version to 38.
    
  11. 成功新增更新來源之後,掃描代理程式會引發狀態消息並啟動掃描。 在 ScanAgent.log:

    ScanJob({JobID}): Raised UpdateSource ({UpdateSource}) state message successfully. StateId = 2  
    ScanJob({JobID}): CScanJob::Execute - successfully requested Scan, ScanType=1
    

針對步驟 1 中的問題進行疑難解答

問題 檢查内容
ScanAgent.log顯示沒有適用於更新來源的原則,且沒有WUAHandler.log存在或WUAHandler.log內沒有目前活動 檢查 [ 在用戶端 上啟用軟體更新] 設定。
掃描代理程式或位置服務未收到 WSUS 伺服器位置
  • 是否為月臺安裝軟體更新點 (SUP) 角色?

    如果沒有,請安裝和設定軟體更新點,並監視SUPSetup.log進行。 如需詳細資訊,請參閱 安裝和設定軟體更新點

  • 如果已安裝 SUP 角色,是否已設定並同步處理?

    檢查WCM.log、WSUSCtrl.log和WSyncMgr.log是否有錯誤。

    • select * from WSUSServerLocations
    • select * from Update_SyncStatus
用戶端會收到 WSUS 位置,但無法設定 WSUS 登錄機碼

組策略重新整理是否在每個WUAHandler.log的 2 分鐘逾時內回應? 如果是,WUAHandler 是否表示 較高授權單位 (域控制器)覆寫組策略設定?

如需詳細資訊,請參閱 組策略會覆寫正確的 WSUS 組態資訊

如需軟體更新掃描失敗疑難解答的詳細資訊,請參閱 針對軟體更新掃描失敗進行疑難解答。

步驟 2:掃描代理程式會要求掃描,且 WUAHandler 會啟動掃描

在客戶端識別並設定其軟體更新掃描更新來源的 WSUS 伺服器之後,掃描代理程式會向使用 Windows Update 代理程式 API 的 WUAHandler 要求掃描,以向 Windows Update 代理程式要求軟體更新掃描。 掃描可能是因為:

  • 排程或手動軟體更新掃描
  • 已排程或手動軟體更新的部署重新評估
  • 變成作用中的部署

掃描會觸發評估。 在 ScanAgent.log:

ScanJob({JobID}): CScanJob::Execute - successfully requested Scan, ScanType=1

只有在 Service Pack 和定義更新取代更新時,掃描結果才會包含已取代的更新。 在 WUAHandler.log:

Search Criteria is (DeploymentAction=* AND Type='Software') OR (DeploymentAction=* AND Type='Driver')  
Running single-call scan of updates.  
Async searching of updates using WUAgent started.

提示

在軟體更新掃描之後檢閱WUAHandler.log,以查看是否有任何新項目發生。 如果沒有新項目發生,表示管理點不會傳回任何 SUP。

針對步驟 2 中的問題進行疑難解答

軟體更新掃描的許多問題可能是下列其中一個原因所造成:

  • 遺失或損毀的檔案或登錄機碼。
  • 組件註冊問題。

若要修正這類問題,請參閱 掃描失敗,因為元件遺失或損毀。

已知有一個問題,即要求更新掃描的 32 位 Windows 7 ConfigMgr 2012 R2 用戶端無法將掃描結果傳回 Configuration Manager。 它會導致客戶端回報不正確的合規性狀態,且 Configuration Manager 要求更新週期時無法安裝更新。 不過,如果您使用 Windows Update 控制面板小程式,更新通常會正常安裝。 當您遇到此問題時,您會收到類似下列WindowsUpdate.log訊息:

WARNING: ISusInternal::GetUpdateMetadata2 failed, hr=8007000E

這是記憶體配置問題,64 位 Windows 7 計算機不會看到此錯誤,因為其位址空間實際上不受限制。 不過,它們會顯示高記憶體和高 CPU 使用量,可能會影響效能。 X86 用戶端也會表現出高記憶體使用量(通常約 1.2 GB 至 1.4 GB)。

若要修正此問題,請套用 Windows 7 的 Windows Update 用戶端:2015 年 6 月。

針對掃描失敗進行疑難解答時,請檢查WUAHandler.log和WindowsUpdate.log檔案。 WUAHandler 只會報告 Windows Update 代理程式所報告的內容。 因此,WUAHandler 中的錯誤會是 Windows Update 代理程式本身所報告的相同錯誤。 如需有關錯誤的詳細資訊,請參閱 WindowsUpdate.log。 若要瞭解如何讀取WindowsUpdate.log,請參閱 Windows Update 記錄檔

您最好的資訊來源會來自記錄檔及其包含的錯誤碼。 如需錯誤碼的詳細資訊,請參閱 Windows Update 常見錯誤和緩和措施

步驟 3:Windows Update 代理程式 (WUA) 會針對 WSUS 計算機啟動掃描

Windows Update 代理程式從 Configuration Manager 用戶端 (CcmExec) 收到要求之後,會啟動掃描。 如果這些登錄值已正確設定為 WSUS 計算機,而 WSUS 計算機是透過本機原則為月臺的有效 SUP,您應該會看到來自 Configuration Manager 用戶端的 COM API 搜尋要求(ClientId = CcmExec)。 在 WindowsUpdate.log:

COMAPI -- START -- COMAPI: Search [ClientId = CcmExec]  
COMAPI <<-- SUBMITTED -- COMAPI: Search [ClientId = CcmExec] PT + ServiceId = {ServiceID}, Server URL = <http://PS1.CONTOSO.COM:8530/ClientWebService/client.asmx>  
Agent ** START ** Agent: Finding updates [CallerId = CcmExec]  
Agent * Include potentially superseded updates  
Agent * Online = Yes; Ignore download priority = Yes  
Agent * Criteria = "(DeploymentAction=* AND Type='Software') OR (DeploymentAction=* AND Type='Driver')"  
Agent * ServiceID = {ServiceID} Managed  
Agent * Search Scope = {Machine}

PT + ServiceId = {ServiceID}, Server URL = <http://PS1.CONTOSO.COM:8530/ClientWebService/client.asmx>  
Agent * Added update {4AE85C00-0EAA-4BE0-B81B-DBD7053D5FAE}.104 to search result  
Agent * Added update {57260DFE-227C-45E3-9FFC-2FC77A67F95A}.104 to search result  
Agent * Found 163 updates and 70 categories in search; evaluated appl. rules of 622 out of 1150 deployed entities  
Agent ** END ** Agent: Finding updates [CallerId = CcmExec]  
COMAPI >>-- RESUMED -- COMAPI: Search [ClientId = CcmExec]  
COMAPI - Updates found = 163  
COMAPI -- END -- COMAPI: Search [ClientId = CcmExec]

針對步驟 3 中的問題進行疑難解答

在掃描期間,Windows Update 代理程式必須與 ClientWebService WSUS 計算機上的 和 SimpleAuthWebService 虛擬目錄通訊,才能執行掃描。 如果客戶端無法與 WSUS 計算機通訊,掃描將會失敗。 此問題可能會因為許多原因而發生,包括:

  • Proxy 相關問題

    若要修正這些問題,請參閱 因 Proxy 相關問題而掃描失敗。

    如需 Proxy 伺服器的詳細資訊,請參閱下列文章:

  • HTTP 逾時錯誤

    若要針對 HTTP 逾時錯誤進行疑難解答,請先檢閱 WSUS 電腦上的 網際網路資訊服務 (IIS) 記錄,以確認錯誤實際上是從 WSUS 傳回。 如果 WSUS 電腦未傳回錯誤,則問題可能是中繼防火牆或 Proxy。

    如果 WSUS 電腦傳回錯誤,請確認與 WSUS 計算機的連線。 以下為其步驟:

    1. 若要確認用戶端連線到正確的 WSUS 伺服器,請尋找 Windows Update 代理程式用戶端所使用的 WSUS 計算機 URL。 您可以藉由檢查 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate 登錄子機碼或檢視WindowsUpdate.log檔案來找到此 URL。

      WSUS 指派可能不正確的常見原因包括:

      • 組策略衝突
      • 初始用戶端安裝之後,將 SUP 新增至次要月臺

      注意

      Active Directory 組策略可能會覆寫本機 WSUS 原則。

      軟體更新功能會自動設定 Configuration Manager 用戶端的本機組策略設定,使其使用軟體更新點來源位置和埠號碼進行設定。 用戶端需要伺服器名稱和埠號碼,才能尋找軟體更新點。

      如果 Active Directory 組策略設定套用至電腦進行軟體更新點用戶端安裝,則會覆寫本機組策略設定。 如果 Active Directory 組策略中定義的設定值與 Configuration Manager 所設定的值不同,則用戶端上的掃描將會失敗,因為它找不到正確的 WSUS 計算機。 在此情況下,WUAHandler.log會顯示下列訊息:

      組策略設定已由較高授權單位 (域控制器) 覆寫為:伺服器 <http://server> 和原則 ENABLED

      用戶端安裝和軟體更新的軟體更新點必須是相同的伺服器。 而且必須以正確的名稱格式和埠資訊,在 Active Directory 組策略設定中指定它。 例如,如果軟體更新點使用預設網站,則為 <http://server1.contoso.com:80>

    2. 如果伺服器 URL 正確,請使用類似下列 URL 的伺服器存取伺服器,以確認用戶端與 WSUS 計算機之間的連線:

      <http://SUPSERVER.CONTOSO.COM:8530/Selfupdate/wuident.cab>

      若要檢查用戶端是否可以存取 ClientWebService 虛擬目錄,請嘗試存取類似下列 URL 的 URL:

      <http://SUPSERVER.CONTOSO.COM:8530/ClientWebService/wusserverversion.xml>

      若要檢查用戶端是否可以存取 ,請嘗試存取 SimpleAuthWebService類似下列 URL 的網址:

      <http://SUPSERVER.CONTOSO.COM:8530/SimpleAuthWebService/SimpleAuth.asmx>

      如果其中任何一個 URL 失敗,其中一些可能的原因包括:

      • 用戶端上的名稱解析問題。 確認您可以解析 WSUS 計算機的 FQDN。

      • Proxy 設定問題

      • 其他網路相關的連線問題。

      • 埠設定問題,因此最好確認埠設定是否正確。 WSUS 可以設定為使用下列任一埠:80、443 或 8530、8531。

        若要讓用戶端與 WSUS 計算機通訊,必須在 WSUS 電腦上的防火牆上允許適當的埠。 建立軟體更新點站台系統角色時,會設定埠設定。 這些埠設定必須與 WSUS 網站所使用的埠設定相同。 否則,WSUS 同步處理管理員將無法連線到軟體更新點上執行的 WSUS,以要求同步處理。 下列程式提供如何驗證 WSUS 和軟體更新點所使用的埠設定的相關信息。

        1. 判斷 IIS 7.0 和更新版本中所使用的 WSUS 埠設定。

        2. 判斷 IIS 6.0 中的 WSUS 埠設定。

        3. 設定軟體更新點的埠。

        4. 確認埠連線能力

          若要檢查來自用戶端的埠連線,請執行下列命令:

          telnet SUPSERVER.CONTOSO.COM <portnumber>
          

          例如,如果埠為 8530,請執行下列命令:

          telnet SUPSERVER.CONTOSO.COM 8530
          

          如果無法存取埠,telnet 會傳回類似下列的錯誤:

          無法在埠 <PortNumber 上開啟與主機的連線>

          此錯誤表示防火牆規則未設定為允許 WSUS 計算機的通訊。 此錯誤也可以建議中繼網路裝置封鎖該埠。 若要驗證,請從相同本機子網上的用戶端嘗試相同的測試。 如果運作正常,計算機會正確設定。 不過,區段之間的路由器或防火牆會封鎖埠並導致失敗。

      • IIS 可用性問題。

        1. 在 WSUS 計算機上,開啟 網際網路資訊服務 (IIS) 管理員
        2. 展開 [月臺],以滑鼠右鍵按兩下 WSUS 電腦的網站,然後按兩下 [ 編輯系結]。
        3. 在 [網站系結] 對話框中,HTTP 和 HTTPS 連接埠值會顯示在 [埠] 資料行中
        4. 在 WSUS 伺服器上,開啟 網際網路資訊服務 (IIS) 管理員
        5. 展開 [網站],以滑鼠右鍵按兩下 WSUS 電腦的網站,然後按兩下 [ 內容]。
        6. 按兩下 [網站] 索引標籤。HTTP 連接埠設定會顯示在 TCP 連接埠中,而 HTTPS 連接埠設定會顯示在 SSL 埠
        7. 在 Configuration Manager 控制台中,移至 [系統管理>站台設定伺服器和月>台系統角色],然後按兩下< [SiteSystemName>] 右側窗格。
        8. 在底部窗格中,以滑鼠右鍵按兩下 [軟體更新點 ],然後按兩下 [ 內容]。
        9. 移至 [ 一般] 索引標籤,指定或驗證 WSUS 設定埠號碼。
  • 驗證錯誤

    掃描失敗時通常會指出掃描失敗,並出現驗證錯誤0x80244017 (HTTP 狀態 401) 或 0x80244018 (HTTP 狀態 403)。

    首先,使用下列命令確認正確的 WinHTTP Proxy 設定:

    • 在 Windows Vista 或更新版本上: netsh winhttp show proxy
    • 在 Windows XP 上: proxycfg.exe

    如果 Proxy 設定正確,請完成 HTTP 逾時錯誤中的步驟,確認與 WSUS 計算機的連線。 另請檢閱 WSUS 電腦上的 IIS 記錄,以確認 HTTP 錯誤是從 WSUS 傳回。 如果 WSUS 電腦未傳回錯誤,則問題可能是中繼防火牆或 Proxy。

  • 憑證問題

    憑證問題會以錯誤碼0x80072F0C表示「需要憑證才能完成客戶端驗證」。 若要修正此問題,請參閱 掃描失敗,並出現錯誤0x80072f0c

步驟 4:WUAHandler 會從 Windows Update 代理程式接收結果,並將掃描標示為完成

下列記錄WUAHandler.log:

Async searching completed.  
Finished searching for everything in single call.

針對步驟 4 中的問題進行疑難解答

此處的問題應該與步驟 3 中的掃描失敗相同。

如本指南稍早所述,針對掃描失敗進行疑難解答時,請檢查WUAHandler.log和WindowsUpdate.log檔案。 WUAHandler 只會報告 Windows Update 代理程式所報告的內容。 因此,WUAHandler 中的錯誤會是 Windows Update 代理程式本身所報告的相同錯誤。 如需有關錯誤的詳細資訊,請參閱 WindowsUpdate.log。 若要瞭解如何讀取WindowsUpdate.log,請參閱 Windows Update 記錄檔

軟體更新掃描可能會失敗的原因有很多。 這可能是由先前提及的其中一個問題所造成,或用戶端與軟體更新點計算機之間的通訊或防火牆問題所造成。 您最好的資訊來源會來自記錄檔及其包含的錯誤碼。 如需錯誤碼的詳細資訊,請參閱 Windows Update 常見錯誤和緩和措施

步驟 5:WUAHandler 剖析掃描結果

WUAHandler 接著會剖析結果,其中包含每個更新的適用性狀態。 在此程式中,已取代的更新會剪除。針對符合 CCMExec 提交給 Windows Update 代理程式之準則的所有更新,會檢查適用性狀態。 這裡要瞭解的重要事項是,您應該會看到這些更新是否在部署中,更新的適用性結果。

下列項目會記錄WUAHandler.log:

> Pruning: update id (70f4f236-0248-4e84-b472-292913576fa1) is superseded by (726b7201-862a-4fde-9b12-f36b38323a6f).  
> ...  
> Update (Installed): Security Update for Windows 7 for x64-based Systems (KB2584146) (4ae85c00-0eaa-4be0-b81b-dbd7053d5fae, 104)  
> Update (Missing): Security Update for Windows 7 for x64-based Systems (KB2862152) (505fda07-b4f3-45fb-83d9-8642554e2773, 200)  
> ...  
> Successfully completed scan.

針對步驟 5 中的問題進行疑難解答

問題可以與步驟 3 中的掃描失敗相同的方式來解決。

如本指南稍早所述,針對掃描失敗進行疑難解答時,請檢查WUAHandler.log和WindowsUpdate.log檔案。 WUAHandler 只會報告 Windows Update 代理程式所報告的內容。 因此,WUAHandler 中的錯誤會是 Windows Update 代理程式本身所報告的相同錯誤。 如需有關錯誤的詳細資訊,請參閱 WindowsUpdate.log。 若要瞭解如何讀取WindowsUpdate.log,請參閱 Windows Update 記錄檔

一般而言,軟體更新掃描可能會失敗的原因有很多。 這可能是由先前所述的其中一個問題所造成,或客戶端與軟體更新點計算機之間的通訊或防火牆問題所造成。 您最好的資訊來源會來自記錄檔及其包含的錯誤碼。 如需參考,請參閱 Windows Update 常見錯誤和風險降低

步驟 6:更新存放區會記錄狀態,並針對 WMI 中的每個更新引發狀態消息

一旦掃描結果可供使用,這些結果就會儲存在更新存放區中。 更新存放區會記錄每個更新的目前狀態,併為每個更新建立狀態消息。 這些狀態消息會在狀態消息報告週期結束時大量轉送至月臺伺服器(預設為分鐘)。 我們只會在下列情況下傳送狀態消息:

  • 先前的狀態消息從未針對更新傳送(記錄專案: 之前尚未報告,建立新的實例)。
  • 自上次提交狀態消息之後,更新的適用性狀態已變更。

UpdatesStore.log顯示所記錄的遺漏更新狀態(KB2862152),以及正在引發的狀態消息:

Processing update status from update (505fda07-b4f3-45fb-83d9-8642554e2773) with ProductID = 0fa1201d-4330-4fa8-8ae9b877473b6441  
Update status from update (505fda07-b4f3-45fb-83d9-8642554e2773) hasn't been reported before, creating new instance.  
Successfully raised state message for update (505fda07-b4f3-45fb-83d9-8642554e2773) with state (Missing).  
Successfully added WMI instance of update status (505fda07-b4f3-45fb-83d9-8642554e2773).

StateMessage.log顯示狀態消息以狀態標識碼 2 記錄 (遺漏):

Adding message with TopicType 500 and TopicId 505fda07-b4f3-45fb-83d9-8642554e2773 to WMI  
State message(State ID : 2) with TopicType 500 and TopicId 505fda07-b4f3-45fb-83d9-8642554e2773 has been recorded for SYSTEM

提示

針對每個更新,會建立或更新 類別的 CCM_UpdateStatus 實例,並儲存更新的目前狀態。 CCM_UpdateStatus 類別位於 ROOT\CCM\SoftwareUpdates\UpdatesStore 命名空間中。

針對步驟 6 中的問題進行疑難解答

此處的問題應該與步驟 3 中的掃描失敗相同。

如本指南稍早所述,針對掃描失敗進行疑難解答時,請檢查WUAHandler.log和WindowsUpdate.log檔案。 WUAHandler 只會報告 Windows Update 代理程式所報告的內容。 因此,WUAHandler 中的錯誤會是 Windows Update 代理程式本身所報告的相同錯誤。 如需有關錯誤的詳細資訊,請參閱 WindowsUpdate.log。 若要瞭解如何讀取WindowsUpdate.log,請參閱 Windows Update 記錄檔

一般而言,軟體更新掃描可能會失敗的原因有很多。 這可能是由先前所述的其中一個問題所造成,或客戶端與軟體更新點計算機之間的通訊或防火牆問題所造成。 您最好的資訊來源會來自記錄檔及其包含的錯誤碼。 如需參考,請參閱 Windows Update 常見錯誤和風險降低

步驟 7:狀態訊息會傳送至管理點

當 WUAHandler 成功從 Windows Update 代理程式收到結果時,它會將掃描標示為完整,並在WUAHandler.log中記錄下列訊息:

Async searching completed. WUAHandler  
Finished searching for everything in single call

針對步驟 7 中的問題進行疑難解答

此處的問題應該與步驟 3 中的掃描失敗相同,不過此階段的失敗可能會特別出現在WindowsUpdate.log檔案中。 若要瞭解如何讀取WindowsUpdate.log,請參閱 Windows Update 記錄檔

一般而言,軟體更新掃描可能會失敗的原因有很多。 這可能是由先前所述的其中一個問題所造成,或客戶端與軟體更新點計算機之間的通訊或防火牆問題所造成。 您最好的資訊來源會來自記錄檔及其包含的錯誤碼。 如需參考,請參閱 Windows Update 常見錯誤和風險降低

要Microsoft更新同步處理的 WSUS

下列步驟概述與 Microsoft Update 同步的 WSUS。 確認每個步驟,以正確建立問題所在位置。

步驟 1:同步處理會透過排程或手動要求開始

觸發同步處理時,我們預期會在 WSUS 伺服器的SoftwareDistribution.log中看到下列訊息:

針對手動同步處理:

Changew3wp.6AdminDataAccess.StartSubscriptionManuallySynchronization manually started  
Info WsusService.27EventLogEventReporter.ReportEvent  
EventId=382,Type=Information,Category=Synchronization,Message=A manual synchronization was started.

針對排程同步處理:

InfoWsusService.10EventLogEventReporter.ReportEvent  
EventId=381,Type=Information,Category=Synchronization,Message=A scheduled synchronization was started.

針對步驟 1 中的手動同步處理進行疑難解答

  1. 確認 WSUS 服務正在執行。 如果手動同步處理已啟動,但維持在 0%,這是因為 WSUS 服務 (WSUS 3.x 上的更新服務 ; Windows Server 2012 和更新版本的 WSUSService 處於停止狀態。

  2. 依照下列步驟重設 WSUS 控制台 MMC 快取:

    1. 關閉 WSUS 控制台。
    2. 停止 WSUS 服務 (WSUS 3.x 上的更新服務 ; Windows Server 2012 和更新版本的 WSUS 服務
    3. 瀏覽至 %appdata%\Microsoft\mmc
    4. 將 wsus 重新命名wsus_bak
    5. 啟動 WSUS 服務。
    6. 開啟 WSUS 控制台,然後嘗試另一個手動同步處理。

針對步驟 1 中的排程同步進行疑難解答

  1. 嘗試從 WSUS 控制台手動同步處理。
  2. 如果手動同步處理正常運作,請檢查排程的同步處理設定。

步驟 2:WSUS 繁衍與 Microsoft Update 的連線 (MU)

同步處理啟動之後,WSUS 伺服器會嘗試透過 WinHTTP 建立 HTTP 連線。 針對連線進行疑難解答時,請考慮下列因素:

WSUS <=winHTTP=> 網络實體 <=> 因特網

  • WSUS 主計算機與因特網之間是否存在網路實體(Proxy、防火牆、安全性篩選器等等?
  • 如果 Proxy 存在,而且需要 WSUS 伺服器才能使用 Proxy,Proxy 是否在適當的 WSUS 設定內設定?

針對步驟 2 中的手動同步處理進行疑難解答

  1. 確認 WSUS 服務正在執行。 如果手動同步處理已啟動,但維持在 0%,這是因為 WSUS 服務 (WSUS 3.x 上的更新服務 ; Windows Server 2012 和更新版本的 WSUS 服務 處於停止狀態。

  2. 完成下列步驟來重設 WSUS 控制台 MMC 快取:

    1. 關閉 WSUS 控制台。
    2. 停止 WSUS 服務 (WSUS 3.x 上的更新服務 ; Windows Server 2012 和更新版本的 WSUS 服務
    3. 瀏覽至 %appdata%\Microsoft\mmc
    4. 將 wsus 重新命名wsus_bak
    5. 啟動 WSUS 服務。
    6. 開啟 WSUS 控制台,然後嘗試另一個手動同步處理。

針對步驟 2 中的排程同步進行疑難解答

  1. 嘗試從 WSUS 控制台手動同步處理。
  2. 如果手動同步處理正常運作,請檢查排程的同步處理設定。

步驟 3:WSUS 計算機會從 Microsoft Update 和任何已訂閱的元數據接收產品和分類資訊

WSUS 收到產品與分類資訊,以及來自 Microsoft Update 的任何訂閱元數據之後,WSUS 同步處理就會完成。

特定更新的安裝、取代或偵測問題

特定更新所發生的部署問題可能會分成下列區域。 當您開始進行疑難解答時,請考慮下列與這些區域相關聯的元件。

區域 安裝 取代 偵測
元件
  • WUA
  • 更新安裝程式 (以元件為基礎的服務 (CBS), MSI)
  • CCMExec
更新中繼資料
  • WUA
  • 更新中繼資料
  • 更新安裝程式 (CBS, MSI)

安裝問題

什麼是安裝程式(CBS、MSI、其他)?

CBS

針對適用於 Windows Vista 和更新版本的更新,CBS 會用來處理安裝。

  1. 收集 CBS 記錄 (%Windir%\Logs\Cbs\Cbs.log)並執行初始檢閱,以深入了解失敗的原因。 透過 CBS 記錄針對以安裝為基礎的問題進行疑難解答已超出本指南的範圍。 如需詳細資訊,請參閱 使用 DISM 或系統更新整備工具修正 Windows 損毀錯誤。
  2. 更新是否以登入的使用者身分成功安裝? 如果是,只有在系統內容下安裝時,才會失敗嗎? 在此情況下,請專注於針對系統內容下的手動安裝失敗進行疑難解答。

MSI (Windows Installer)

針對非 Windows 軟體更新,MSI 會用來處理安裝。

  1. 收集並檢閱更新的預設 MSI 記錄。 如需任何已知問題或常見問題,請查看相關聯的 KB 文章以取得更新。

  2. 啟用 Windows Installer 記錄 並重現失敗。

    檢閱產生的記錄時,請檢查記錄檔內的傳回值 3,以及該專案前面的行,以深入了解失敗。

  3. 檢查相同的更新是否無法在本機系統內容下手動安裝。 若要這樣做,請使用在軟體更新部署期間失敗的相同安裝參數。

    如果失敗,請使用相同的安裝參數,以登入的使用者身分測試安裝。 檢查是否在本機系統下安裝時發生問題。 如果運作正常,您可以接著將問題放在如何使用本機系統內容正確安裝更新上。 可能需要檢查 KB 內的系統管理部署指引,以進行更新或在線。

取代問題

嘗試使用下列問題來隔離與取代相關的問題:

  1. 如需如何控制 Configuration Manager 何時到期更新的問題,請參閱 取代規則
  2. 如果 Configuration Manager 已過期更新,Microsoft建議部署最新的取代更新。 如果您仍然需要部署過期的更新,則可以透過軟體發佈或應用程式管理,在軟體更新部署外部部署這些更新。
  3. 如需與更新取代邏輯特別相關的問題,請先檢閱 KB 文章以取得更新的進一步資訊。 您也可以在 Microsoft 更新目錄、WSUS 控制台或 Configuration Manager 控制台內檢閱取代。

偵測問題

判斷用戶端上每個更新的合規性狀態

  1. 如需更新的已知問題,請檢閱更新知識庫文章。
  2. Configuration Manager 用戶端上執行軟體更新掃描週期 動作。
  3. 檢閱UpdatesStore.log和WindowsUpdate.log。

針對更新適用性進行疑難解答

  1. 使用更新的 KB 文章,檢查是否有遺漏任何必要條件。 例如,更新是否需要將應用程式或OS修補至特定的ServicePack層級?
  2. 確認有問題的更新的唯一更新標識碼符合所部署的內容。 例如,有問題的更新是 32 位更新,但是以 64 位主機為目標嗎?

其他相關資訊

如需如何在 Configuration Manager 中設定軟體更新的詳細資訊,請參閱下列文章:

您也可以在此的 Configuration Manager 支援論壇中張貼問題,以取得安全性、更新和合規性

請流覽 我們的部落格 ,以取得 Configuration Manager 上的所有最新新聞、資訊和技術秘訣。