我的服务器上的事件日志存在很大问题。是的,首先让我解释一下设置。
当我从工作站访问IIS页面时,我收到以下消息之一(有时我会得到第一个有时是第二个)
1) The handle is invalid
2) Cannot open log for source 'MySource'. You may not have write access.
所以为了尝试解决这个问题,我尝试了以下所有方法:
将Everyone用户FullControl授予C:\ windows \ system32 \ config \ MyApp.evt文件
将每个用户FullControl授予HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog
在密钥HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog \ MyApp \ CustomSD中,我附加了以下字符串(A ;; 0x0002 ;;; AU),(原因可在此处阅读http://fgheysels.blogspot.com/2008/01/cannot-open-log-for-source-0-on-windows.html)
我现在完全不知道如何解决这个问题。有没有其他人遇到这个,你有没有尝试过其他任何事情。
答案 0 :(得分:0)
您似乎已经发现的错误与写入事件源或创建它们有关。我建议你试试以下内容。
您没有说明事件源是否存在于注册表中,或者是否存在由系统创建的.evt文件,或者您是否将它们放在计算机上,因此很难确定您被卡住的位置。
您也没有提及这是否适用于某些开发人员的计算机,在这种情况下,您可以比较注册表,甚至可以手动创建密钥。
如果这些条目不存在,则错误是您的用户无权创建自定义日志和来源。
在错误消息中,它应指示一个ThreadIdentity参数,该参数应指示它尝试使用哪个用户帐户来执行此操作。您还可以打开HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog的权限,并查询此特定用户的“有效权限”,以确保它实际上具有完全控制权。
尝试授予对整个目录C:\ windows \ system32 \ config \的完全控制权,而不仅仅是.evt文件,因为系统还需要在此处创建一些其他文件。
最后,您可以尝试启用对网站的匿名访问,并将其作为计算机/域管理员用户运行一次,以便在将其设置回您喜欢的方式之前创建所有密钥。您还可以尝试在web.config文件中启用模拟,以确保它在没有Windows标识的情况下不运行。一旦创建了正确的密钥和文件,您应该能够撤消这些文件。
告诉我们您在此之后发现的内容,我们可以进一步了解。
答案 1 :(得分:0)
经过多次试图解决这个问题之后,我似乎找到了一个有效的解决方案。
首先,我必须允许Authenticated Users组对事件日志进行写访问。我建议你在继续之前备份你的注册表。
这意味着Authenticated Users可以写入Application事件日志。我需要再申请一次。
这是我允许网站用户写入事件日志的唯一方法。
我在第1部分第6步中提到过,我会解释我们添加的字符串。有关详细信息,请参阅此页面http://support.microsoft.com/kb/323076