Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต

หากบริการ Windows Update ทำงานไม่ถูกต้อง จะไม่มีการดาวน์โหลดหรือติดตั้งการอัปเดต ดังนั้นวิธีที่ง่ายที่สุดและมีประสิทธิภาพมากที่สุดในการแก้ปัญหาด้วยบริการ Windows Update คือการคืนค่าการตั้งค่าดั้งเดิม ในบทความนี้ เราจะแสดงวิธีรีเซ็ตตัวแทน Windows Update และการกำหนดค่าบริการ

โดยปกติ ในการแก้ไขข้อผิดพลาดของ Windows Update ผู้ดูแลระบบจำเป็นต้องวิเคราะห์รหัสข้อผิดพลาดใน %windir%\WindowsUpdate.log ไฟล์ (ใน Windows 10 คุณสามารถรับ WindowsUpdate.log ด้วยวิธีนี้) จำนวนข้อผิดพลาดที่เป็นไปได้ที่ผู้ดูแลระบบอาจพบเมื่อวิเคราะห์บันทึกการอัพเดทของ Windows มีมากมาย (รายการข้อผิดพลาดของ Windows Update ทั้งหมด) และกระบวนการแก้ไขนั้นไม่ใช่เรื่องเล็กน้อย เพื่อหลีกเลี่ยงความพยายามเกินควรและไม่เสียเวลา ง่ายกว่ามากในการรีเซ็ตบริการ Windows Update และเอเจนต์ให้เป็นสถานะเริ่มต้นโดยสมบูรณ์

วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต

การใช้ตัวแก้ไขปัญหา Windows Update เพื่อแก้ไขปัญหาการอัปเดต

ก่อนที่จะดำเนินการรีเซ็ตการกำหนดค่าของ Windows Update เราขอแนะนำให้คุณลองใช้เครื่องมือที่ง่ายกว่าและมีประสิทธิภาพมากก่อนเพื่อแก้ไขปัญหาในบริการ Windows Update โดยอัตโนมัติโดยใช้ตัวแก้ไขปัญหา Windows Update ในตัว .

ตัวแก้ไขปัญหา Windows Update มีอยู่แล้วในแผงการตั้งค่าที่ทันสมัยใน Windows 10 และ 11 สำหรับ Windows เวอร์ชันก่อนหน้า คุณจะต้องดาวน์โหลดด้วยตนเอง:

  • Windows 11 — การตั้งค่า -> ระบบ -> ตัวแก้ไขปัญหา -> ตัวแก้ไขปัญหาอื่น -> Windows Update; วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต
  • Windows 10 – wu10.diagcab (https://aka.ms/wudiag ) หรือเรียกใช้เครื่องมือเวอร์ชันท้องถิ่น:เริ่ม -> การตั้งค่า -> การอัปเดตและความปลอดภัย -> แก้ไขปัญหา -> ตัวแก้ไขปัญหาเพิ่มเติม -> การอัปเดต Windows (แก้ไขปัญหาที่ป้องกันไม่ให้คุณ จากการอัปเดต Windows); วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต
    สำหรับการเข้าถึงเครื่องมือแก้ไขปัญหา Windows อย่างรวดเร็ว คุณสามารถใช้คำสั่ง ms-settings URI:ms-settings:troubleshoot
  • Windows 7 และ Windows 8.1 — WindowsUpdate.diagcab (https://aka.ms/diag_wu)

รอให้ Windows Update Troubleshooter สแกนระบบของคุณและพยายามแก้ไขข้อผิดพลาดใน Windows Update และส่วนประกอบที่เกี่ยวข้องโดยอัตโนมัติ

วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต

ในกรณีของฉัน พบและแก้ไขการทุจริตในฐานข้อมูล Windows Update หลังจากนั้นยังคงต้องรีสตาร์ทคอมพิวเตอร์และพยายามสแกนหาการอัปเดต หากไม่ได้ดาวน์โหลดหรือติดตั้งการอัปเดต ให้ไปยังขั้นตอนถัดไป

การรีเซ็ตไคลเอ็นต์ Windows Update โดยใช้ PowerShell

คุณสามารถใช้โมดูล PSWindowsUpdate PowerShell เพื่อรีเซ็ตตัวแทนและบริการของ Windows Update

ติดตั้งโมดูลบนคอมพิวเตอร์ของคุณจากแกลเลอรีสคริปต์ PSGallery:

Install-Module -Name PSWindowsUpdate

เปิดใช้งานการเรียกใช้สคริปต์ PowerShell:

Set-ExecutionPolicy –ExecutionPolicy RemoteSigned -force

รันคำสั่ง:

Reset-WUComponents –verbose

วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต

คำสั่ง Reset-WUComponents จะหยุดบริการ ลงทะเบียน DLL ใหม่ และล้างข้อมูลในโฟลเดอร์ C:\Windows\SoftwareDistribution ฯลฯ บันทึกการดำเนินการทั้งหมดจะพร้อมใช้งาน

VERBOSE: Background Intelligent Transfer Service (BITS)
VERBOSE: Windows Update (wuauserv)
VERBOSE: Application Identity (appidsvc)
VERBOSE: Cryptographic Services (cryptsvc)
Step 2: Delete the qmgr*.dat files
Step 3: Backup software distribution folders
VERBOSE: Renaming Software Distribution folder to C:\Windows\SoftwareDistribution.bak
VERBOSE: Renaming CatRoot  folder to C:\Windows\System32\Catroot2.bak
Step 4: Remove old Windows Update logs
VERBOSE: Deleting the C:\Windows\WindowsUpdate.log files.  
Step 5: Reset Windows Update services
VERBOSE: Reset BITS service
VERBOSE: Reset Windows Update service
Step 6: Reregister dll's
VERBOSE: regsvr32.exe / s atl.dll
VERBOSE: regsvr32.exe / s urlmon.dll
VERBOSE: regsvr32.exe / s mshtml.dll
VERBOSE: regsvr32.exe / s shdocvw.dll
VERBOSE: regsvr32.exe / s browseui.dll
VERBOSE: regsvr32.exe / s jscript.dll
VERBOSE: regsvr32.exe / s vbscript.dll
VERBOSE: regsvr32.exe / s scrrun.dll
VERBOSE: regsvr32.exe / s msxml.dll
VERBOSE: regsvr32.exe / s msxml3.dll
VERBOSE: regsvr32.exe / s msxml6.dll
VERBOSE: regsvr32.exe / s actxprxy.dll
VERBOSE: regsvr32.exe / s softpub.dll
VERBOSE: regsvr32.exe / s wintrust.dll
VERBOSE: regsvr32.exe / s dssenh.dll
VERBOSE: regsvr32.exe / s rsaenh.dll
VERBOSE: regsvr32.exe / s gpkcsp.dll
VERBOSE: regsvr32.exe / s sccbase.dll
VERBOSE: regsvr32.exe / s slbcsp.dll
VERBOSE: regsvr32.exe / s cryptdlg.dll
VERBOSE: regsvr32.exe / s oleaut32.dll
VERBOSE: regsvr32.exe / s ole32.dll
VERBOSE: regsvr32.exe / s shell32.dll
VERBOSE: regsvr32.exe / s initpki.dll
VERBOSE: regsvr32.exe / s wuapi.dll
VERBOSE: regsvr32.exe / s wuaueng.dll
VERBOSE: regsvr32.exe / s wuaueng1.dll
VERBOSE: regsvr32.exe / s wucltui.dll
VERBOSE: regsvr32.exe / s wups.dll
VERBOSE: regsvr32.exe / s wups2.dll
VERBOSE: regsvr32.exe / s wuweb.dll
VERBOSE: regsvr32.exe / s qmgr.dll
VERBOSE: regsvr32.exe / s qmgrprxy.dll
VERBOSE: regsvr32.exe / s wucltux.dll
VERBOSE: regsvr32.exe / s muweb.dll
VERBOSE: regsvr32.exe / s wuwebv.dll
Step 7: Reset WinSock
VERBOSE: netsh winsock reset
Step 8: Reset Proxy
VERBOSE: netsh winhttp reset proxy
Step 9: Start Windows Update services
VERBOSE: Cryptographic Services (cryptsvc)
VERBOSE: Application Identity (appidsvc)
VERBOSE: Windows Update (wuauserv)
VERBOSE: Background Intelligent Transfer Service (BITS)
Step 10: Start Windows Update services
VERBOSE: wuauclt /resetauthorization /detectnow

ค้นหาการอัปเดตในแผงการตั้งค่า หรือค้นหาการอัปเดต Windows ที่พร้อมใช้งานโดยใช้ PowerShell:

Get-WUList

วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต

การใช้รีเซ็ตเครื่องมือ Windows Update

รีเซ็ตเครื่องมือ Windows Update เป็นอีกเครื่องมือที่มีประโยชน์และใช้งานง่ายสำหรับการรีเซ็ตการตั้งค่า Windows Update สคริปต์นี้เคยมีอยู่ใน TechNet ปัจจุบันผู้เขียนดูแลพื้นที่เก็บข้อมูลบน GitHub (https://github.com/ManuelGil/Script-Reset-Windows-Update-Tool) มาดูวิธีการใช้กัน

ไฟล์ wureset.exe ที่คอมไพล์แล้ว (C++) หรือแบตช์สคริปต์ปกติมีให้ดาวน์โหลด ฉันชอบใช้สคริปต์ cmd

  1. ดาวน์โหลด ResetWUEng.zip และดึงออกมา;
  2. เรียกใช้ ResetWUEng.cmd ในฐานะผู้ดูแลระบบ
  3. สคริปต์จะตรวจจับเวอร์ชันระบบปฏิบัติการของคุณ (ในตัวอย่างของฉัน คือ Windows 10) และจะเสนอตัวเลือกที่แตกต่างกัน 18 แบบ บางส่วนไม่เกี่ยวข้องโดยตรงกับการรีเซ็ตการตั้งค่าตัวแทน WU แต่อาจมีประโยชน์สำหรับการแก้ไขปัญหา Windows ต่างๆ (ตรวจสอบดิสก์ด้วย chkdsk ซ่อมแซมอิมเมจ Windows ด้วย DISM รีเซ็ต Winsock ล้างไฟล์ชั่วคราว ฯลฯ ); วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต
  4. ในการรีเซ็ต Windows Update โดยทั่วไปก็เพียงพอแล้วที่จะใช้ตัวเลือก 2 – รีเซ็ตคอมโพเนนต์ของ Windows Update กด 2 และ ป้อน; วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต
  5. สคริปต์จะดำเนินการตามที่เราอธิบายด้านล่างโดยอัตโนมัติเมื่อทำการรีเซ็ต Windows Update Agent ด้วยตนเองจากบรรทัดคำสั่ง คุณสามารถดูการดำเนินการของสคริปต์ได้โดยเปิดไฟล์ ResetWUEng.cmd ในโปรแกรมแก้ไขข้อความใดๆ และตรวจสอบเนื้อหา ตัวอย่างเช่น ตัวเลือกที่ 2 จะส่งคุณไปยัง :ส่วนประกอบ การทำงาน. วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต
  6. หลังจากเสร็จสิ้นสคริปต์ Reset Windows Update Tool แล้ว ให้รีสตาร์ทคอมพิวเตอร์และตรวจสอบการอัปเดตใหม่

สคริปต์ ResetWUEng.cmd เป็นสคริปต์สากลและเหมาะสำหรับ Windows ทุกรุ่นตั้งแต่ Windows XP จนถึง Windows 11

รีเซ็ตการตั้งค่า Windows Update โดยใช้พรอมต์คำสั่ง

กระบวนการรีเซ็ตเอเจนต์ Windows Update และการกำหนดค่าบริการประกอบด้วยหลายขั้นตอน การดำเนินการที่อธิบายไว้ทั้งหมดจะดำเนินการในพร้อมท์คำสั่งที่ยกระดับ ฉันเพิ่มคำสั่งทั้งหมดในไฟล์ bat ไฟล์เดียว

เมื่อใช้สคริปต์นี้ คุณสามารถรีเซ็ตการกำหนดค่า Windows Update ได้อย่างสมบูรณ์และล้างแคชการอัปเดตในเครื่อง สคริปต์นี้ใช้ได้กับทั้งเวิร์กสเตชันที่ใช้ Windows 11/10/8.1/7 และ Windows Server 2022/2019/2016/2012 R2/2008 R2 สคริปต์นี้ช่วยขจัดข้อผิดพลาดทั่วไปของ Windows Update เมื่อ Windows หยุดดาวน์โหลดการอัปเดตใหม่ หรือข้อผิดพลาดปรากฏขึ้นระหว่างการติดตั้งการอัปเดต

ตรวจสอบให้แน่ใจว่าการตั้งค่า Windows Update บนคอมพิวเตอร์ของคุณไม่ได้กำหนดค่าโดยใช้โดเมนหรือนโยบายกลุ่มในเครื่อง คุณสามารถใช้ gpresult เครื่องมือหรือ rsop.msc เพื่อแสดงการตั้งค่า GPO ที่ได้ หรือคุณสามารถรีเซ็ตการตั้งค่า GPO ในพื้นที่ตามคู่มือนี้

ลองพิจารณาว่าสคริปต์นี้ทำอะไรทีละขั้นตอน:

  1. หยุด Windows Update, BITS และบริการเข้ารหัส:
    net stop bits
    net stop wuauserv
    net stop appidsvc
    net stop cryptsvc
    taskkill /im wuauclt.exe /f
  2. ลบไฟล์บริการ qmgr*.dat จากโฟลเดอร์ %ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\:
    Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
  3. เปลี่ยนชื่อโฟลเดอร์ระบบ ซึ่งเก็บไฟล์การกำหนดค่าและอัปเดตแคชไว้ (หากจำเป็น สามารถใช้เป็นข้อมูลสำรองได้) หลังจากเริ่มบริการอัปเดตใหม่ (wuauserv ) ไดเร็กทอรีเหล่านี้จะถูกสร้างขึ้นใหม่โดยอัตโนมัติ:
    Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
    Ren %systemroot%\system32\catroot2 catroot2.bak
  4. ลบไฟล์ windowsupdate.log เก่า:
    del /f /s /q %windir%\windowsupdate.log
  5. รีเซ็ตการอนุญาตสำหรับบริการ BITS และ Windows Update (หากสิทธิ์ของบริการมีการเปลี่ยนแปลง):
    sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
    sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
    sc.exe sdset cryptsvc D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)
    sc.exe sdset trustedinstaller D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)
  6. ลงทะเบียนไฟล์ของไลบรารีไดนามิกของระบบ (DLL) ที่เกี่ยวข้องกับ BITS และ Windows Update อีกครั้ง:
    cd /d %windir%\system32
    regsvr32.exe /s atl.dll
    regsvr32.exe /s urlmon.dll
    regsvr32.exe /s mshtml.dll
    regsvr32.exe /s shdocvw.dll
    regsvr32.exe /s browseui.dll
    regsvr32.exe /s jscript.dll
    regsvr32.exe /s vbscript.dll
    regsvr32.exe /s scrrun.dll
    regsvr32.exe /s msxml.dll
    regsvr32.exe /s msxml3.dll
    regsvr32.exe /s msxml6.dll
    regsvr32.exe /s actxprxy.dll
    regsvr32.exe /s softpub.dll
    regsvr32.exe /s wintrust.dll
    regsvr32.exe /s dssenh.dll
    regsvr32.exe /s rsaenh.dll
    regsvr32.exe /s gpkcsp.dll
    regsvr32.exe /s sccbase.dll
    regsvr32.exe /s slbcsp.dll
    regsvr32.exe /s cryptdlg.dll
    regsvr32.exe /s oleaut32.dll
    regsvr32.exe /s ole32.dll
    regsvr32.exe /s shell32.dll
    regsvr32.exe /s initpki.dll
    regsvr32.exe /s wuapi.dll
    regsvr32.exe /s wuaueng.dll
    regsvr32.exe /s wuaueng1.dll
    regsvr32.exe /s wucltui.dll
    regsvr32.exe /s wups.dll
    regsvr32.exe /s wups2.dll
    regsvr32.exe /s wuweb.dll
    regsvr32.exe /s qmgr.dll
    regsvr32.exe /s qmgrprxy.dll
    regsvr32.exe /s wucltux.dll
    regsvr32.exe /s muweb.dll
    regsvr32.exe /s wuwebv.dll
  7. รีเซ็ตการตั้งค่า Winsock:
    netsh winsock reset
  8. รีเซ็ตการตั้งค่าพร็อกซีของระบบ:
    netsh winhttp reset proxy
  9. ไม่บังคับ . เมื่อใช้เซิร์ฟเวอร์ WSUS ภายในเครื่อง คุณยังสามารถรีเซ็ตการเชื่อมโยงปัจจุบันของไคลเอ็นต์กับเซิร์ฟเวอร์ WSUS ได้โดยการลบพารามิเตอร์ต่อไปนี้ในคีย์รีจิสทรี HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate:
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v AccountDomainSid /f
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v PingID /f
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v SusClientId /f
    REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v TargetGroup /f
    REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v WUServer /f
    REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v WUStatusServer /f
  10. เริ่มบริการที่หยุดไปก่อนหน้านี้:

    sc.exe config wuauserv start= auto
    sc.exe config bits start= delayed-auto
    sc.exe config cryptsvc start= auto
    sc.exe config TrustedInstaller start= demand
    sc.exe config DcomLaunch start= auto
    net start bits
    net start wuauserv
    net start appidsvc
    net start cryptsvc
  11. ไม่บังคับ . ในบางกรณี คุณจะต้องติดตั้ง/ติดตั้งเวอร์ชันของ Windows Update Agent (WUA) อีกครั้ง คุณสามารถตรวจสอบเวอร์ชันไฟล์ Windows Update Agent Wuaueng.dll ปัจจุบันบนคอมพิวเตอร์ของคุณด้วย PowerShell:
    ((Get-Item $Env:windir\system32\Wuaueng.dll).VersionInfo).ProductVersion
    คุณสามารถดาวน์โหลดเอเจนต์ Windows Update เวอร์ชันล่าสุดได้ที่นี่:https://support.microsoft.com/en-us/kb/949104.
    Windows 8.1 – 7.9.9600
    Windows 8 – 7.8.9200.16693
    Windows 7 – 7.6.7600.256
    วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต ใช้คำสั่งต่อไปนี้เพื่อบังคับติดตั้ง Windows Update Agent ใหม่:Windows 7 x86:WindowsUpdateAgent-7.6-x86.exe /quiet /norestart /wuforce
    Windows 7 x64:WindowsUpdateAgent-7.6-x64.exe /quiet /norestart /wuforce

ตอนนี้ คุณต้องรีสตาร์ทคอมพิวเตอร์และเรียกใช้การซิงโครไนซ์กับ Windows Update หรือ WSUS เท่านั้น

wuauclt /resetauthorization /detectnow

จากนั้นไปที่ Windows Update และตรวจสอบให้แน่ใจว่าไม่มีข้อผิดพลาดขณะตรวจสอบ ดาวน์โหลด และติดตั้งการอัปเดต

reset_windows_update_agent.bat สามารถดาวน์โหลดสคริปต์ได้ตามลิงค์นี้ reset_windows_update_agent.zip (ตัวเลือก 9 และ 11 ไม่รวมอยู่ในสคริปต์เนื่องจากเป็นตัวเลือก) ดาวน์โหลดสคริปต์ แตกไฟล์ และเรียกใช้ในฐานะผู้ดูแลระบบ

วิธีรีเซ็ตส่วนประกอบ Windows Update เพื่อแก้ไขข้อผิดพลาดในการอัปเดต

หากดาวน์โหลดและติดตั้งการอัปเดต Windows อย่างถูกต้อง คุณสามารถลบโฟลเดอร์สำรองได้:

Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
Ren %systemroot%\system32\catroot2 catroot2.bak

หากทุกอย่างล้มเหลว ให้ลองดาวน์โหลดและติดตั้งการอัปเดตที่สะสมล่าสุดสำหรับเวอร์ชัน Windows ของคุณจาก Microsoft Update Catalog ด้วยตนเอง