Geo Asked:2020-08-28 15:11:43 +0000 UTC2020-08-28 15:11:43 +0000 UTC 2020-08-28 15:11:43 +0000 UTC 从 WinEvenlog golang 读取 772 请告诉我一个使用golang从winEventLog读取的工作包(最好有例子),我尝试使用gopkg.in/elastic/beats.v1/winlogbeat/eventlog它,但是包的源代码和github.com/elastic/beats/winlogbeat windows 2 个回答 Voted Sheridan 2020-08-28T16:01:27Z2020-08-28T16:01:27Z 不幸的是,我还没有看到一个用于读取 golang 的 windows 事件日志条目的库 但是有解析 EVTX 文件的实现,我认为这会对您有所帮助: https://github.com/0xrawsec/golang-evtx https://github.com/elastic/beats/tree/master/winlogbeat/eventlog Best Answer user26807 2020-08-31T19:19:27Z2020-08-31T19:19:27Z 您可以通过 WMI / WMQ 来做到这一点,例如像这样 package main import ( "fmt" "log" "github.com/StackExchange/wmi" ) type Win32_Process struct { ComputerName string Message string } func main() { var dst []Win32_Process err := wmi.Query("SELECT * FROM Win32_NTLogEvent WHERE Logfile = 'System'", &dst) if err != nil { log.Fatal(err) } for _, v := range dst { fmt.Println(v) } } 此处的 MS 网站上有完整的字段列表,顺便说一句,这可以远程完成。
不幸的是,我还没有看到一个用于读取 golang 的 windows 事件日志条目的库
但是有解析 EVTX 文件的实现,我认为这会对您有所帮助:
您可以通过 WMI / WMQ 来做到这一点,例如像这样
此处的 MS 网站上有完整的字段列表,顺便说一句,这可以远程完成。