कुछ मामलों में कंप्यूटर या सर्वर पर विंडोज इवेंट लॉग से सभी प्रविष्टियों को हटाना आवश्यक है। बेशक, आप इवेंट व्यूअर कंसोल GUI से सिस्टम लॉग साफ़ कर सकते हैं— Eventvwr.msc (उस लॉग पर राइट-क्लिक करें जिसे आप साफ़ करना चाहते हैं और लॉग साफ़ करें select चुनें ) हालाँकि, विस्टा से शुरू होकर, विंडोज विभिन्न सिस्टम घटकों के लिए कई दर्जनों लॉग का उपयोग कर रहा है, और इवेंट व्यूअर में उन सभी को मैन्युअल रूप से साफ़ करने में समय लगता है। कमांड प्रॉम्प्ट से लॉग साफ़ करना बहुत आसान है:पॉवरशेल . का उपयोग करना या बिल्ट-इन कंसोल टूल wevtutil .
पावरशेल के साथ इवेंट लॉग साफ़ करना
यदि आपके पास PowerShell 3 स्थापित है (डिफ़ॉल्ट रूप से, यह Windows 8 / Windows सर्वर और उच्चतर में स्थापित है), तो आप Get-EventLog का उपयोग कर सकते हैं और क्लियर-इवेंट लॉग ईवेंट लॉग की सूची प्राप्त करने और उन्हें साफ़ करने के लिए cmdlets।
PowerShell कंसोल को व्यवस्थापक विशेषाधिकारों के साथ प्रारंभ करें और निम्न आदेश का उपयोग करके सिस्टम में सभी मानक ईवेंट लॉग की सूची को अधिकतम आकार और ईवेंट की संख्या के साथ प्रदर्शित करें।
Get-EventLog –LogName *
विशिष्ट ईवेंट लॉग (उदाहरण के लिए, सिस्टम लॉग) से सभी प्रविष्टियों को साफ़ करने के लिए, इस कमांड का उपयोग करें:
Clear-EventLog –LogName System
परिणामस्वरूप, इस लॉग के सभी ईवेंट हटा दिए जाएंगे, और EventId 104 के साथ केवल एक ईवेंट होगा और संदेश "सिस्टम लॉग फ़ाइल साफ़ कर दी गई “ ।
सभी ईवेंट लॉग को साफ़ करने के लिए, आपको लॉग नामों को पाइपलाइन पर पुनर्निर्देशित करना होगा, लेकिन दुर्भाग्य से, यह निषिद्ध है। इसलिए, हमें ForEach चक्र का उपयोग करना होगा:
Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }
इस प्रकार, सभी मानक ईवेंट लॉग साफ़ कर दिए जाएंगे।
कंसोल टूल WevtUtil.exe का उपयोग करके लॉग साफ़ करना
घटनाओं के साथ काम करने के लिए, विंडोज़ में लंबे समय तक एक शक्तिशाली कमांड प्रॉम्प्ट उपयोगिता रही है WevtUtil.exe . इसका सिंटैक्स पहली नजर में थोड़ा जटिल है। यहां, उदाहरण के लिए, जो उपयोगिताओं की सहायता देता है:
सिस्टम में पंजीकृत लॉग की सूची प्रदर्शित करने के लिए, यह कमांड चलाएँ:
WevtUtil enum-logs
या इसका छोटा संस्करण:
WevtUtil el
लॉग की काफी प्रभावशाली सूची स्क्रीन पर प्रदर्शित होगी।
नोट . आप निम्न कमांड का उपयोग करके गिन सकते हैं कि कितने लॉग हैं:WevtUtil el |Measure-Object। मेरे मामले में विंडोज 10 में 1,053 अलग-अलग लॉग थे।
आप विशिष्ट लॉग पर विस्तृत जानकारी प्राप्त कर सकते हैं:
WevtUtil gl Setup
यहां बताया गया है कि आप विशिष्ट लॉग में ईवेंट कैसे साफ़ करते हैं:
WevtUtil cl Setup
इससे पहले कि आप ईवेंट साफ़ करें, आप किसी फ़ाइल में सहेज कर उनका बैकअप ले सकते हैं:
WevtUtil cl Setup /bu:SetupLog_Bak.evtx
एक बार में सभी लॉग साफ़ करने के लिए, आप Get-WinEvent . का उपयोग कर सकते हैं सभी लॉग ऑब्जेक्ट प्राप्त करने के लिए PowerShell cmdlet और उन्हें साफ़ करने के लिए Wevtutil.exe:
Get-WinEvent -ListLog * -Force | % { Wevtutil.exe cl $_.LogName }
या
Wevtutil el | ForEach { wevtutil cl “$_”}
आप मानक कमांड प्रॉम्प्ट का उपयोग करके भी लॉग साफ़ कर सकते हैं:
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"