在 Windows 7 上为标准用户读取 EventLog 条目时出现问题

在 Windows 7 上为标准用户读取 EventLog 条目时出现问题

我正在尝试通过通知读取 Windows 安全事件日志。

下面是示例代码行,但当我以标准用户身份在 Windows 7 上运行它时,出现异常:

EventLog _eventlog = new EventLog("Security"); //Monitor on the Security events 
_eventlog.EntryWritten += new EntryWrittenEventHandler(OnSecurityEventLogWritten);
_eventlog.EnableRisingEvents = True; // I get an exception at this line with a Windows 7 standard user

我收到异常信息 Requested Registry is not allowed。我尝试将用户添加到事件日志读取器但这并没有帮助。

值得注意的是,当我使用本地管理员权限运行此应用程序时,它运行正常。

我的要求是在发生 Windows 安全事件时获取通知并为标准登录用户编写。

答案1

要读取 Windows 7 上的安全事件,请将网络服务帐户添加到事件日志读取器组。

答案2

将用户添加到“事件日志读取器”组应该可行,至少根据 Microsoft 的说法。您是否注销用户并重新登录?请记住,组成员身份更改需要用户登录和注销后才能生效。

还请记住,让普通用户访问安全事件日志可能会使您的网络受到攻击。

最后,您应该看看这些文章,它们解释了如何将自定义权限应用于事件日志:

http://technet.microsoft.com/en-us/library/cc722385%28WS.10%29.aspx

http://blogs.technet.com/b/janelewis/archive/2010/04/30/giving-non-administrators-permission-to-read-event-logs-windows-2003-and-windows-2008.aspx

相关内容