将日志写入Windows事件查看器

时间:2018-10-12 17:04:19

标签: c# windows event-log event-viewer eventsource

Windows服务/ Web应用程序(c#)是否可以在非本地管理员的Windows域帐户下运行的地方写入日志条目?

我已经针对非管理员Windows域帐户尝试了以下两种方法:

  1. 写入应用程序日志(带有“测试”源)。但这给了我“访问被拒绝” 错误。
  2. 最初使用本地管理Windows用户帐户设置一个名为“测试”的新自定义日志,该日志将出现在“应用程序和服务日志”下。 然后,我尝试使用非管理员Windows用户帐户向其中写入日志,但最终仍然出现“ 访问被拒绝”错误。

我看到了一些需要修改注册表的建议,但是我真的不想走那条路,因为它感觉很黑,而且..嘛..只是不正确!

当我将Windows用户切换为本地管理员时,我可以同时使用上述两个选项,但我不希望这样做。

任何建议,我们将不胜感激。 (如果这是重复的POST,请提前道歉)

1 个答案:

答案 0 :(得分:0)

您需要授予对该日志的访问权限。参见Delegating access to the event logs

  

打开注册表编辑器。

     

导航到以下注册表路径:

     

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog

     

您将看到每个事件日志都有可用的键。选择您要委派访问权限的事件日志。

     

将名称为CustomSD的新密钥添加到所选的事件日志中。

     

将新的String值添加到CustomSD键。该字符串的名称不是必需的,但它代表了安全描述符定义语言(SDDL)语法中事件日志的访问控制列表。在此过程中,此值将称为SDDLACL。

关于SDDL,请参见Security Descriptor String Format