Dig*_*805 12 c# windows exception event-log
以下是我在运行紧随其后的代码时遇到的异常:
找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全性.
代码是
if (!EventLog.SourceExists(this.EventLogSource))
Run Code Online (Sandbox Code Playgroud)
异常的内容对我来说很有意义,这就是为什么不这样做.此行在Visual Studio 2010,.NET 4中作为控制台应用程序运行(暂时).我已经在不同的环境中运行了这个,但我不希望我是远程桌面的事实打破这种方法.我试过更改HKML\CCS\Services\eventlog权限 - 无济于事,以及C:\Windows\System32\Winevt\Logs\Security.evtx权限.再一次,无济于事.
我的问题如下:
任何建议都会很棒.
com*_*ech 17
Microsoft要求您是管理员才能执行此方法,原因很简单.
这是他们的解释(来自MSDN文档):
要在Windows Vista及更高版本或Windows Server 2003中搜索事件源,您必须具有管理权限.
此要求的原因是必须搜索所有事件日志(包括安全性)以确定事件源是否唯一.从Windows Vista开始,用户无权访问安全日志; 因此,抛出SecurityException.
你如何解决它将完全取决于你需要做什么.如果您无法以管理员身份登录,那么最好的建议是尝试在try/catch块中执行操作,如果抛出SecurityException,则执行一些备用操作.
| 归档时间: |
|
| 查看次数: |
19111 次 |
| 最近记录: |