查询事件日志时未经授权的操作

时间:2016-07-27 11:33:26

标签: c# events windows-7

我有以下代码用于查询远程计算机上的某些事件:

filter = $"*[System[(EventID='5061' or EventID='5058') and TimeCreated[timediff(@SystemTime) <= {Timespan}]]]";
EventLogSession session;

using (var pw = GetPassword())
{
    session = new EventLogSession(
    "PCNAME",
    "DOMAIN",
    "USERNAME",
    pw,
    SessionAuthentication.Default);
}

var query = new EventLogQuery("Security", PathType.LogName, filter)
    { Session = session };

var reader = EventLogReader(query);

当我们到达最后一行时,EventLogReader(query)会抛出错误:

  

尝试执行未经授权的操作。

用户USERNAME是同一域中AD上Event Log Readers组的成员。他需要成为其他一些团体吗?或者是否有某种方法可以配置Event Log Readers组以允许某些类型的访问?

1 个答案:

答案 0 :(得分:1)

发生这种情况是因为EventLogSession中指定的用户在被查询的PC上没有本地管理员权限。

在“PCNAME”上添加“USER”作为本地管理员后,我能够成功查询日志。

我认为这已经设置好了,但是因为“USER”作为管理员通过脚本添加到所有PC,所以它应用的计算机列表必须由于该脚本中的错误而不完整。 / p>