Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何使用Write EventLog在事件日志中显示任务类别的字符串名称?_Windows_Events_Powershell_Logging - Fatal编程技术网

Windows 如何使用Write EventLog在事件日志中显示任务类别的字符串名称?

Windows 如何使用Write EventLog在事件日志中显示任务类别的字符串名称?,windows,events,powershell,logging,Windows,Events,Powershell,Logging,因此,我试图使用write EventLog写入Windows事件日志。我已经编译了CategoryMessageFile.dll并在注册表中注册了它 我的脚本大部分写入事件日志,但问题是事件没有显示类别名称;它显示dll中枚举的类别消息id New-EventLog -LogName Application -Source 'test1' -CategoryResourceFile 'C:\Windows\Microsoft.NET\Framework64\v2.0.50727\test.dl

因此,我试图使用
write EventLog
写入Windows事件日志。我已经编译了CategoryMessageFile.dll并在注册表中注册了它

我的脚本大部分写入事件日志,但问题是事件没有显示类别名称;它显示dll中枚举的类别消息id

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
那么,如何获得要显示的名称而不是事件日志中的数字呢?

您可能正在应用程序或系统日志事件中查找它,并且您运行的第一个命令创建了一个名为TEST1的日志

描述 此cmdlet在本地或远程计算机上创建新的经典事件日志。它还可以注册写入新日志或日志的事件源
现有日志。

尝试将计算机的
已验证用户
用户
组添加到邮件文件夹的安全级别。保留默认权限。然后重新启动或尝试重新启动EventLog服务

在管理员命令提示下:
net stop eventlog


可能会提示您关闭其他服务。您必须输入
Y
才能继续。正在关闭的服务通常会自行重新启动,因此您只需等待几秒钟。事件日志服务可能无法关闭,因为另一个服务已重新启动,可能需要几次尝试才能关闭所有内容。仔细观察结果文本的状态。

两年后在此处理积压工作:p您解决了吗?该类别在PowerShell中可见,但在事件查看器(GUI)中不可见?如果是,您是否在注册类别消息文件后尝试重新启动事件查看器(或计算机)?“请注意,注册类别消息文件后,必须重新启动事件日志查看器以获取更改。”(来源:) 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
.