ऐतिहासिक रूप से, WindowsUpdate.log विंडोज अपडेट एजेंट और सेवा के संचालन का विश्लेषण करने के लिए सादे पाठ फ़ाइल का उपयोग किया गया है। हालाँकि, Windows 10 (Windows Server 2016/2019) में Windows अद्यतन लॉग Windows के लिए ईवेंट ट्रेसिंग में सहेजे जाते हैं फ़ाइल प्रारूप (ETW ), सामान्य पाठ फ़ाइल के बजाय। इस तरह की कार्रवाई के साथ, विंडोज डेवलपर्स ने लॉगिंग सबसिस्टम के प्रदर्शन को बढ़ाने और डिस्क पर टेक्स्ट फ़ाइलों के कब्जे वाले स्थान को कम करने की योजना बनाई।
इस प्रकार, Windows अद्यतन ईवेंट अब %windir%\WindowsUpdate.log पर रीयल टाइम में नहीं लिखे जाते हैं फ़ाइल। भले ही फाइल अभी भी विंडोज फोल्डर के रूट में मौजूद है, लेकिन यह केवल यह कहता है कि ETW फॉर्मेट का उपयोग अब WU लॉग्स को इकट्ठा करने के लिए किया जाता है।
विंडोज अपडेट लॉग अब ईटीडब्ल्यू (विंडोज के लिए इवेंट ट्रेसिंग) का उपयोग करके जेनरेट किए जाते हैं।कृपया ETW ट्रैस को पढ़ने योग्य WindowsUpdate.log में बदलने के लिए Get-WindowsUpdateLog PowerShell कमांड चलाएँ।
अधिक जानकारी के लिए, कृपया देखें https://go.microsoft.com/fwlink/?LinkId=518345
व्यवस्थापकों के लिए नई लॉगिंग पद्धति का नुकसान - अब आप Windows अद्यतन एजेंट सेवा का त्वरित विश्लेषण नहीं कर सकते, WindowsUpdate.log पाठ फ़ाइल में त्रुटि कोड ढूँढ़ सकते हैं (Windows अद्यतन त्रुटि कोड की पूरी सूची देखें), WSUS एजेंट सेटिंग्स की जाँच करें और अद्यतन स्थापना इतिहास का विश्लेषण करें।
अद्यतन सेवा ईवेंट के अधिक सुविधाजनक विश्लेषण के लिए आप ETW ईवेंट को सादे पाठ WindowsUpdate.log फ़ाइल में कनवर्ट कर सकते हैं। ऐसा करने के लिए, PowerShell cmdlet का उपयोग करें - Get-WindowsUpdateLog . यह cmdlet आपको सभी .etl . से जानकारी एकत्र करने की अनुमति देता है फ़ाइलें (वे C:\WINDOWS\Logs\WindowsUpdate . में संग्रहीत हैं ) और एक एकल WindowsUpdate.log टेक्स्ट फ़ाइल बनाएँ।
WindowsUpdate.log फ़ाइल जनरेट करने और इसे C:\PS\Logs में सहेजने के लिए, PowerShell कंसोल में निम्न कमांड चलाएँ:
Get-WindowsUpdateLog -logpath C:\PS\Logs\WindowsUpdate.log
Windows Server 2016 में, जब आप Get-WindowsUpdateLog cmdlet चलाते हैं, तो आपको "SymSrv.dll अनुपलब्ध है" त्रुटि प्राप्त हो सकती है:
Copy-Item : Cannot find path 'C:\Program Files\Windows Defender\SymSrv.dll' because it does not exist. At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\WindowsUpdate\WindowsUpdateLog.psm1:56 char:5पर
फ़ाइल "C:\Program Files\Windows Defender\SymSrv.dll" आमतौर पर गायब होती है यदि सर्वर पर विंडोज डिफेंडर स्थापित नहीं है।
त्रुटि को ठीक करने के लिए, आप विंडोज डिफेंडर स्थापित कर सकते हैं, किसी अन्य विंडोज सर्वर 2016/विंडोज 10 से SymSrv.dll फ़ाइल की प्रतिलिपि बना सकते हैं, या स्थानीय WinSxS फ़ोल्डर में SymSrv.dll फ़ाइल की खोज कर सकते हैं (मेरे मामले में, निर्देशिका को C:\Windows\WinSxS\amd64_windows-defender-service-cloudclean_… ) और इसे "C:\Program Files\Windows Defender" फ़ोल्डर में कॉपी करें।
पुराने विंडोज 10 बिल्ड में, जब आप पहली बार Get-WindowsUpdateLog cmdlet चलाते हैं, तो यह Microsoft इंटरनेट सिंबल स्टोर को डाउनलोड और इंस्टॉल करता है। Windows 10 के नवीनतम संस्करण Microsoft कैरेक्टर सर्वर को Azure में ऑनलाइन एक्सेस करते हैं। फिर cmdlet:
- सभी .etl फ़ाइलों का डेटा पढ़ता है;
- डेटा को CSV (डिफ़ॉल्ट रूप से) या XML प्रारूप में रूपांतरित किया जाता है;
- फ़ाइल से एक मध्यवर्ती प्रारूप में डेटा को परिवर्तित किया जाएगा और लॉगपाथ पैरामीटर में निर्दिष्ट लॉग टेक्स्ट फ़ाइल में जोड़ा जाएगा (यदि लॉगपाथ में पैरामीटर निर्दिष्ट नहीं है, तो WindowsUpdate.log को चलाने वाले उपयोगकर्ता के डेस्कटॉप पर बनाया जाता है। कमांड)
इस PowerShell कमांड का उपयोग करके लॉग फ़ाइल खोलें:
Invoke-Item -Path C:\PS\Logs\WindowsUpdate.log
कुछ मामलों में, WindowsUpdate.log फ़ाइल में आप ऐसे तार देख सकते हैं:
Unknown(140): GUID=53212e4cc-4321-f43a-2123-9ada0090bc12b (No Format Information found).
इसका मतलब है कि आपके पास विंडोज सिंबल सर्वर स्थापित नहीं है (आज आप एक अलग विंडोज सिंबल इंस्टॉलर डाउनलोड नहीं कर सकते, क्योंकि यह Azure में सिंबल स्टोर से स्वचालित रूप से डाउनलोड हो जाता है)। पृथक परिवेशों के लिए, आप Windows अद्यतन के लिए ऑफ़लाइन प्रतीक लेख के अनुसार प्रतीक सर्वर के ऑफ़लाइन संस्करण का उपयोग कर सकते हैं।
युक्ति। कृपया ध्यान दें कि बनाई गई WindowsUpdate.log फ़ाइल स्थिर है और पिछले Windows संस्करणों की तरह वास्तविक समय में अपडेट नहीं होती है। फ़ाइल को अद्यतन करने के लिए, आपको एक बार फिर Get-WindowsUpdateLog cmdlet चलाने की आवश्यकता है या एक स्क्रिप्ट बनाने की आवश्यकता है जो फ़ाइल को कुछ आवृत्ति पर स्वचालित रूप से अपडेट करती है (फ़ाइल अधिलेखित है)।परिणामी WindowsUpdate.log फ़ाइल का विश्लेषण करना काफी कठिन है, क्योंकि यह कई ईवेंट स्रोतों से डेटा एकत्र करती है:
- एजेंट - विंडोज अपडेट एजेंट इवेंट;
- AU - स्वचालित अपडेट;
- AUCLNT - उपयोगकर्ता सहभागिता;
- हैंडलर - इंस्टॉलर प्रबंधन अपडेट करें;
- MISC - WU की सामान्य जानकारी;
- पीटी - स्थानीय डेटास्टोर के साथ अपडेट का सिंक्रनाइज़ेशन;
- रिपोर्ट - रिपोर्ट संग्रह;
- सेवा - वूसर्व सेवा इवेंट शुरू/बंद करती है;
- सेटअप - विंडोज अपडेट क्लाइंट के नए संस्करण स्थापित करना;
- डाउनलोड प्रबंधक - बिट्स का उपयोग करके स्थानीय कैश में अपडेट डाउनलोड करना;
- हैंडलर, सेटअप - इंस्टॉलर हेडर (सीबीएस, आदि);
- और कई अन्य।
आप एक साधारण रेगुलर एक्सप्रेशन के साथ विंडोज अपडेट एजेंट (एजेंट) से पिछले 30 इवेंट का चयन कर सकते हैं:
Select-String -Pattern '\sagent\s' -Path C:\PS\Logs\WindowsUpdate.log | Select-Object -Last 30
आप कई स्रोतों से WindowsUpdate.log में ईवेंट फ़िल्टर कर सकते हैं:
Select-String -Pattern '\sagent\s|\smisc\s' -Path c:\PS\Logs\WindowsUpdate.log | Select-Object -Last 50
इसी तरह, आप KB संख्या, त्रुटियों (FAILED, Exit Code, FATAL) द्वारा ईवेंट के लिए टेक्स्ट फ़ाइल को पार्स कर सकते हैं।
आप दूरस्थ कंप्यूटर या सर्वर के लिए WindowsUpdate.log फ़ाइल भी जेनरेट कर सकते हैं:
Get-WindowsUpdateLog -ETLPath \\ny-srf-1\C$\windows\Logs\WindowsUpdate -LogPath C:\PS\Logs\windowsupdate-ny-srf-1.log
आप विंडोज अपडेट सेवा के संचालन का विश्लेषण करने के लिए इवेंट व्यूअर लॉग का भी उपयोग कर सकते हैं। निम्नलिखित ईवेंट दृश्य अनुभाग का विस्तार करें:अनुप्रयोग और सेवा लॉग -> Microsoft -> Windows -> WindowsUpdateClient -> संचालनपरक ।
आप PowerShell cli से अपडेट प्रबंधित करने के लिए PSWindowsUpdate मॉड्यूल का उपयोग कर सकते हैं।