查询事件日志时的越权操作

Unauthorized Operation When Querying Event Logs

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

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) 抛出一个错误:

Attempted to perform an unauthorized operation.

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

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

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


我以为这已经设置好了,但是因为"USER"是通过脚本添加为所有PC的管理员,所以它应用的计算机列表一定是不完整的,因为一个bug那个脚本。