尝试写入事件日志时出错 – 无法打开源“SourceName”的日志。 您可能没有写访问权限

我们目前正在尝试将现有的经典ASP页面集成到我们记录到事件日志的新方法中。 我们通过将.NET程序集公开为COM对象来实现此目的,该对象执行实际日志记录到事件日志。 这一切都正常,但是当我们尝试写入事件日志时,我们收到错误“无法打开源’SourceName’的日志。您可能没有写访问权限。” 从aspx页面调用时,日志代码本身也可以工作。 这显然是IUSR_machinename帐户的权限问题,但是,通过查看其他一些相关post,我们尝试了许多解决方案而没有任何成功。

  • 编辑HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services / EventLog / Application / RestrictGuestAccess – 将其设置为0
  • 将IUSR_machinename添加到本地管理员组并删除来宾组
  • 编辑CustomSD并将(A ;; 0x0002 ;;; AU)附加到此处的值

我们唯一的成功是使用ASP.NET模拟在服务器上使用新创建的本地管理员帐户。 使用此用户可以使用,但这是一种解决方法,而不是解决初始权限问题。 还有什么我们可以尝试使用IUSR_machinename帐户获取权限吗?

我们最终通过授予访客用户访问事件日志的权限来解决这个问题。 您可以通过将(A ;; 0xf0002 ;;; BG)添加到customSD或替换(D ;; 0xf0007 ;;; BG)(如果它存在)来执行此操作。 然后将RestrictGuestAccess设置为0。

通过将web.config中的impersonate标记设置为false来解决此问题: