2010-03-19 103 views
0

我的服务器上的事件日志存在严重问题。首先让我先解释一下设置。无法在Windows 2003服务器上打开源{0}的日志

  • 我有个域设置有2台计算机
  • 一计算机运行的IIS另一个是工作站。 IIS运行Win2k3的工作站Win XP。
  • 的IIS电脑承载一个网站,使用Windows模拟和尝试登录到事件日志名为MyApp的自定义日志文件和一个自定义事件源MYSOURCE
  • 我有一个域用户名为MYUSER条目谁只是域用户的成员。
  • 单一登录正在工作100%,因为我可以写出登录的用户到页面罚款。

当我访问IIS页面从工作站我收到以下消息之一(有时我得到的第一个,有时第二)

1) The handle is invalid 
2) Cannot open log for source 'MySource'. You may not have write access. 

所以,试图解决这个问题我已经尝试了所有的以下内容:

授予了Everyone用户FullControl到C:\ WINDOWS \ system32 \设置\ MyApp.evt文件

授予Everyone用户FullControl到HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\事件日志

在键HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\事件日志\ MyApp的\ CustomSD我追加以下字符串(A ;; 0×0002 ;;; AU),(这样做的原因可以在这里找到http://fgheysels.blogspot.com/2008/01/cannot-open-log-for-source-0-on-windows.html

我现在完全不知道如何解决这个问题。有没有其他人遇到过这种情况,你有没有尝试过其他的东西

回答

0

好多小时后,试图解决这个问题,我似乎有一个解决方案的工作。

首先我必须让事件日志Authenticated Users组写访问的。我建议你在继续之前备份你的注册表。

  1. 运行regedit
  2. 浏览到HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\事件日志
  3. 打开你正在写的事件日志匹配的子项(所以我会选择应用
  4. 在右侧你会看到注册表字符串,找到一个叫CustomSD
  5. 右键单击并对其进行修改。
  6. 追加到尾部(A ;; 0X2 ;;; AU)(我会解释这个版本)
  7. 保存更改(我不知道你是否需要重新启动或没有)

所以这将意味着认证用户可以写入应用程序事件日志。我需要再应用一次更改。

  1. 打开域GPO或本地计算机GPO
  2. 浏览到计算机配置> Windows设置>安全设置>本地策略>用户权限>归属>管理审核和安全日志
  3. 进入其属性窗口
  4. 选择定义这些策略设置
  5. 加入管理员组
  6. 添加Authenticated Users组
  7. 保存并为受影响的计算机执行gpupdate/force。

这是我可以让我的网站用户写入事件日志的唯一方法。

我在第1个部分步骤6中提到我将解释我们添加的字符串。请参阅此页面了解详情http://support.microsoft.com/kb/323076

+0

追加(A ;; 0x2 ;;; AU)后不需要重新启动。你确实需要做一个iisreset,否则你可能会遇到无效的句柄异常。 – Llyle 2011-04-25 22:47:26

0

错误,正如您似乎已经发现的,涉及写入事件源或创建它们。我建议你尝试以下。

您并未指出事件源是否存在于注册表中,或者无法识别由系统创建的.evt文件,或者如果将它们放在机器上,所以很难确定卡在哪一点。

您还没有提到,如果这个工程的一些开发人员的机器,在这种情况下,你可以比较一下登记,甚至手动创建密钥,如果你要上。

  1. 看看... \ Eventlog是否已创建日志的密钥(MyApp?)。
  2. 看一下HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog \ MyApp。 应该有一个名为Sources的键。你的来源是否出现在这里?

如果这些条目不存在,那么错误在于您的用户没有创建自定义日志和来源的权限。

在错误消息应该表明ThreadIdentity参数,它应说明其用户帐户它正试图用它来做到这一点。您还可以打开对HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog的权限并查询此特定用户的“有效权限”,以确保它实际上完全具有完全控制权。

尝试给予完全控制整个目录C:\ WINDOWS \ system32 \设置\而不仅仅是.EVT文件系统需要在这里创建了一些额外的文件。

最后你可以尝试启用对网站的匿名访问等所有的按键设置得到它回到你喜欢的方式之前创建的运行它的计算机/域管理员的用户一次。您也可以尝试在web.config文件中启用模拟,以确保没有Windows身份的情况下不会运行模拟。这些你应该都能够撤消一旦正确的键和文件已经创建。

让我们知道你在这之后发现什么,我们可以进一步研究。

+0

我所有上述尝试和似乎没有解决这个问题。我发布了我发现的唯一解决方案。 – 2010-12-06 17:28:16

相关问题