Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从事件id或关键字获取事件日志列表_C#_Event Log - Fatal编程技术网

C# 从事件id或关键字获取事件日志列表

C# 从事件id或关键字获取事件日志列表,c#,event-log,C#,Event Log,我正在尝试获取一个事件列表,其中有人试图登录到我们的服务器,并在x尝试失败后立即阻止ip 以下是我到目前为止的情况: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { EventLog eventLog; eventLog = new EventLog(); e

我正在尝试获取一个事件列表,其中有人试图登录到我们的服务器,并在
x
尝试失败后立即阻止ip

以下是我到目前为止的情况:

public partial class Form1 : Form
{
public Form1()
{
  InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
  EventLog eventLog;
  eventLog = new EventLog();
  eventLog.Log = "Security";;
  eventLog.Source = "Security-Auditing";
  eventLog.MachineName = "TGSERVER";

  var count = 0;
  foreach (EventLogEntry log in eventLog.Entries)
  {
    if (count > 200)
    {
      return;
    }
    Console.Write("eventLog.Log: {0}", eventLog.Log);
    count++;
  }
}
没什么,但这只是个开始

我的问题是,我似乎无法隔离这些特定事件,因为我无法按
eventid
关键字
进行筛选,或者至少我看不到一种方法

我的目标是获得那些糟糕尝试的ip


有人有什么建议吗?

EventLogEntry
包含
EventID
属性。但是要小心,因为
EventID
现在是obsolote。请阅读中的备注部分。据我所知,EventID显示在windows eventviewer(eventvwr.msc)中,但在eventlog文件(.evtx)中,事件存储在
InstanceId

中,为什么不能按
EventID
关键字
进行过滤?在eventlog中,它没有给我这个选项。我还缺少其他方法吗?@ErocM
EventLogEntry
包含
EventID
属性。这很有效。。。你应该把它作为一个答案,这样我就可以给你评分了。根据InstanceID文档,“EventID属性等于InstanceID,上面两位被屏蔽了。”既然如此,你可以测试InstanceID的事件ID,如下所示:
bool isDesiredEvent=(eventLogEntry.InstanceID&0x3fffff)==所需的公开信息