如何使用Python读取远程机器的Windows事件日志?

2 投票
2 回答
2907 浏览
提问于 2025-04-16 08:36

我正在用Python从远程机器获取Windows事件日志。

我试了以下代码:

import win32evtlog 

server = 'aRemoteMachineHostName' 
logtype = 'System' 
hand = win32evtlog.OpenEventLog(server,logtype)
total = win32evtlog.GetNumberOfEventLogRecords(hand)

但是我遇到了“访问被拒绝”的错误。

然后我尝试使用win32security.Logon进行身份验证,想在访问事件日志之前先登录。

但是在win32security.Logon的文档中,我发现这个API只支持本地登录。

所以,我现在有点卡住了。我想知道Python能否进行远程Windows登录?

任何建议或提示都很有帮助。

谢谢。

2 个回答

0

只要执行这个脚本的用户有权限连接并读取事件日志,这个ActiveState的做法就对我有效。我在几个不同的场合都用过它。

ActiveState WinEvtLogViewer

0

可能用SNMP会更简单一些。

撰写回答