我正在尝试通过通知读取 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