【问题标题】:Writing log to Windows Event Viewer将日志写入 Windows 事件查看器
【发布时间】:2018-10-12 17:04:19
【问题描述】:

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

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

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

我已经看到需要修改注册表的建议,但我真的不想走那条路,因为它感觉很老套,而且......好吧......只是不对!

当我将 Windows 用户切换到本地管理员时,我可以让上述两个选项都起作用,但我不想要这个。

任何建议都非常感谢.. (如果这是重复的POST,请提前道歉)

【问题讨论】:

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


    【解决方案1】:

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

    打开注册表编辑器。

    导航到以下注册表路径:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog

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

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

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

    关于 SDDL,请参阅Security Descriptor String Format

    【讨论】:

      猜你喜欢
      • 2019-05-16
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多