2013-07-29 5 views
6

तो, मैं Write-EventLog का उपयोग कर विंडोज इवेंट लॉग में लिखने का प्रयास कर रहा हूं। मैंने एक categoryMessageFile .dll संकलित किया है और इसे रजिस्ट्री में पंजीकृत किया है।लिखें-EventLog का उपयोग कर इवेंट लॉग में कार्य श्रेणी का स्ट्रिंग नाम कैसे प्रदर्शित करें?

मेरी स्क्रिप्ट अधिकांश भाग के लिए ईवेंट लॉग को लिखती है, लेकिन समस्या यह है कि यह ईवेंट श्रेणी का नाम प्रदर्शित नहीं करता है; यह डीएल में उल्लिखित श्रेणी संदेश आईडी प्रदर्शित करता है।

 
New-EventLog -LogName Application -Source 'test1' -CategoryResourceFile 'C:\Windows\Microsoft.NET\Framework64\v2.0.50727\test.dll' 

Write-EventLog -LogName Application -Source 'test1' -EntryType Information -EventId 1 -Message "$($DataSet.Tables[0].Rows[$i][6])" -Category 1 

मुझे पता है क्योंकि जब मैं

 
Get-EventLog -LogName Application -Newest 3 | Format-List 

चलाने सही श्रेणी का नाम घटनाओं मैं सिर्फ लॉग में लिखा था के लिए श्रेणी के तहत चलता मानचित्रण सही है।

यहां मेरी एमसी फ़ाइल कैसी दिख रही है।

;// Header 


;// Categories 
MessageIdTypedef=WORD 

MessageId=0x1 
Language=English 
ETLUncategorizedError 
. 

MessageId=0x2 
Language=English 
ETLThresholdExceeded 
. 

MessageId=0x3 
Language=English 
ETLMalformattedFile 
. 

MessageId=0x4 
Language=English 
ETLWebInvocationFailure 
. 

तो, मैं इवेंट लॉग में संख्या के बजाय प्रदर्शित करने के लिए नाम कैसे प्राप्त करूं?

+0

2 साल बाद बैकलॉग पर काम करना: पी क्या आपने इसे हल किया? श्रेणी PowerShell में दिखाई दे रही थी लेकिन इवेंट व्यूअर (जीयूआई) में नहीं? यदि हां, तो क्या आपने श्रेणी संदेश फ़ाइल पंजीकृत करने के बाद इवेंट व्यूअर (या उस मामले के लिए कंप्यूटर) को पुनरारंभ करने का प्रयास किया था? "ध्यान दें कि जब आपने एक श्रेणी संदेश फ़ाइल पंजीकृत की है, तो आपको परिवर्तन लेने के लिए ईवेंट लॉग व्यूअर को पुनरारंभ करना होगा।" (स्रोत: http://www.drdobbs.com/customizing-event-log-categories/184405714) –

उत्तर

0

आप शायद इसे एप्लिकेशन या सिस्टम लॉग इवेंट में ढूंढ रहे हैं और आपके द्वारा चलाए गए पहले कमांड को टेस्ट 1 नामक एक लॉग बनाया गया है।

विवरण यह cmdlet स्थानीय या दूरस्थ कंप्यूटर पर एक नया क्लासिक इवेंट लॉग बनाता है। यह एक ऐसे ईवेंट स्रोत को भी पंजीकृत कर सकता है जो नए लॉग को लिखता है या मौजूदा लॉग पर लिखता है।

0

संदेश फ़ोल्डर के सुरक्षा स्तर पर मशीन के Authenticated Users या Users समूह को जोड़ने का प्रयास करें। डिफ़ॉल्ट अनुमतियां रखें। फिर या तो रीबूट करें या EventLog सेवा को पुनरारंभ करने का प्रयास करें।

एक व्यवस्थापक कमांड प्रॉम्प्ट पर: net stop eventlog

आप की संभावना अन्य सेवाओं बंद करने के लिए प्रेरित किया जाएगा। जारी रखने के लिए आपको Y दर्ज करना होगा। शट डाउन होने वाली सेवाएं सामान्य रूप से अपने आप फिर से शुरू हो जाएंगी, इसलिए आपको केवल कुछ सेकंड प्रतीक्षा करने की आवश्यकता है। इवेंटलॉग सेवा बंद होने में असफल हो सकती है क्योंकि एक और सेवा पुनरारंभ हो गई है, यह सबकुछ कम करने के लिए कुछ प्रयास कर सकती है। परिणामी पाठ को स्थिति के लिए बारीकी से देखें।

संबंधित मुद्दे

 संबंधित मुद्दे