因此,我正在尝试使用Write-EventLog
. 我已经编译了一个 CategoryMessageFile .dll 并在注册表中注册了它。
我的脚本大部分都写入事件日志,但问题是事件不显示类别名称;它显示在 dll 中枚举的类别消息 ID。
新事件日志 -LogName 应用程序 -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 应用程序-最新 3 | 格式列表
对于我刚刚写入日志的事件,正确的类别名称显示在类别下。
这是我的 mc 文件的样子。
;// Header
;// Categories
MessageIdTypedef=WORD
MessageId=0x1
Language=English
ETLUncategorizedError
.
MessageId=0x2
Language=English
ETLThresholdExceeded
.
MessageId=0x3
Language=English
ETLMalformattedFile
.
MessageId=0x4
Language=English
ETLWebInvocationFailure
.
那么,如何在事件日志中显示名称而不是数字?