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