gpt4 book ai didi

C# EventLog 无法访问的日志

转载 作者:可可西里 更新时间:2023-11-01 12:34:11 25 4
gpt4 key购买 nike

下面是我在运行紧接着的代码时遇到的异常:

The source was not found, but some or all event logs could not be searched. Inaccessible logs: Security.

代码是

if (!EventLog.SourceExists(this.EventLogSource))

异常的内容对我来说很有意义,这就是为什么没有。此行作为控制台应用程序(暂时)在 Visual Studio 2010、.NET 4 中运行。我已经在不同的环境中运行了它,但我不希望我在远程办公 table 的事实会破坏这种方法。我试过更改 HKML\CCS\Services\eventlog 权限 - 无济于事,以及 C:\Windows\System32\Winevt\Logs\Security.evtx权限。同样,无济于事。

我的问题如下:

  1. 为什么没有覆盖来忽略安全日志,
  2. 我该如何解决这个问题(以编程方式)
  3. 这是因为我在远程办公吗。

任何建议都会很棒。

最佳答案

Microsoft 要求您是管理员才能执行此方法,这正是您找到的原因。

这是他们的解释(来自 the MSDN documentation ):

To search for an event source in Windows Vista and later or Windows Server 2003, you must have administrative privileges.

The reason for this requirement is that all event logs, including security, must be searched to determine whether the event source is unique. Starting with Windows Vista, users do not have permission to access the security log; therefore, a SecurityException is thrown.

如何解决它完全取决于您需要做什么。如果您无法以管理员身份登录,最好的建议是尝试在 try/catch block 中执行您的操作,如果抛出 SecurityException,则执行一些替代操作。

关于C# EventLog 无法访问的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8825573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com