0

我编写了一个实用程序,允许我查看 EventLog 消息、过滤它们的类型、编写它们的时间等。

我发现在过去几个月/自从我购买笔记本电脑以来,我已经有无数次(给予或接受一些)以下条目:

Type: Error
Source: WinMgmt
Time Generated: 06/11/2012 20:55:00
Message: The description for Event ID '-1073741814' in Source 'WinMgmt' cannot be found.  The local computer may not have the necessary registry information or message DLL files to display the message, or you may not have permission to access them.  The following information is part of the event:'//./root/CIMV2', 'SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99', '0x80041003'
Machine Name: MuleheadedAsteroid

有谁知道我会如何回应这样一个错误的消息以查明问题的根源?

4

1 回答 1

1

你在这里问两个问题。首先,为什么事件日志条目的格式不正确?(您看到的是消息的参数,但不是完全格式化的消息。首先,我们将修复消息。

似乎注册表损坏,或缺少消息文件 dll。

检查以确保这些注册表项存在,并指向正确的位置:

1) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\WinMgmt

Name:  ProviderGuid
Type:  REG_EXPAND_SZ
Value: {1edeee53-0afe-4609-b846-d8c0b2075b1f}

2) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{1edeee53-0afe-4609-b846-d8c0b2075b1f}

存在的值:

Name:  MessageFileName
Type:  REG_EXPAND_SZ
Value: %SystemRoot%\system32\wbem\WinMgmtR.dll

Name:  ResourceFileName
Type:  REG_EXPAND_SZ
Value: %SystemRoot%\system32\wbem\WinMgmtR.dll

3) 最后,在 %SystemRoot%\system32\wbem\WinMgmtR.dll 验证 WinMgmtR.dll 的存在


其次,事件日志试图告诉我们什么。我用谷歌搜索了错误代码,0x80041003。这立即让我开始讨论如何尝试在权限不足的情况下查询 WMI,尤其是一篇知识库文章:

安装 Windows Vista Service Pack 1 或 Windows Server 2008 后,事件 ID 10 将记录在应用程序日志中

您会注意到 MS 的示例查询与您的几乎相同。因此,似乎有些东西正在运行并在没有足够权限的情况下查询 WMI。

MS 提供了一个脚本来阻止条目出现在知识库文章的解决部分中。

于 2012-06-12T13:28:07.347 回答