Windows事件日志中没有分类

Windows事件日志中没有分类

问题描述:

我已经为事件记录器创建了一个类别文件,但类别名称并未显示在事件记录器中。Windows事件日志中没有分类

但是,如果我从C:\ Windows \ System32 \ winevt \ Logs打开日志,则会显示类别名称。如果我使用以下PowerShell,类别名称也会显示出来。

$eventlog = New-Object System.Diagnostics.EventLog("MyLog") 
Write-Host $eventlog.Entries[0].Category 

的.mc文件看起来是这样的:

MessageIdTypedef = WORD 

LanguageNames=(
    English=0x0409:MSG00409 
    Swedish=0x041D:MSG0041D 
) 

MessageId=1 
SymbolicName=CAT_1 
Language=English 
Category 1 
. 
Language=Swedish 
Kategori 1 
. 

MessageId=2 
SymbolicName=CAT_2 
Language=English 
Category 2 
. 
Language=Swedish 
Kattegori 2 
. 

; // Up to 22 categorys 

在注册表中,我有以下几点:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\MyLog\MySource] 
"CategoryCount"=dword:00000016 
"TypesSupported"=dword:00000007 
"CategoryMessageFile"="C:\\path\\Messages.dll" 

我发现https://social.msdn.microsoft.com/forums/windowsdesktop/en-us/3fed3069-ce0f-4168-8132-4d19d66fdd7e/windows-7eventlog-creating-custom-categories同样的问题,但没有答案问题。

我已经在这两个Windows 7,8和Windows Server 2008 R2

编辑

我创建了一个测试项目,以显示我做了什么尝试这样做。下载here

+0

请不要混淆“C:\\ path \\ Messages.dll”,显示实际路径。 – 2015-03-17 11:55:01

+0

现在Messages.dll位于解决方案的调试文件夹中。但我也尝试将其移到C:\ Messages.dll。 它与文件位于文件系统中的功能相关吗? – magol 2015-03-17 12:01:48

+0

我已经创建了一个测试项目。在我的问题中,我最后一个编辑。 – magol 2015-03-18 08:34:59

尝试增加机器的Authenticated UsersUsers组邮件文件夹的安全级别。保持默认权限。然后重新启动或尝试重新启动EventLog服务。

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

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

我遇到了同样的问题,同时将源注册表信息指向我的VS项目中的消息文件夹。我发现它在管理员用户创建C:\Test文件夹后开始工作,并引用该文件夹。这和项目文件夹唯一的区别是两个组。添加这两个组中的任何一个都可以起作用。将它们从两个文件夹中取出使它停止。

我还发现如果我在我的CategoryMessageFile和我的EventMessageFile中匹配了MessageId,它忽略了CategoryMessageFile