Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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
Python WMI名字对象问题_Python_Wmi_Moniker - Fatal编程技术网

Python WMI名字对象问题

Python WMI名字对象问题,python,wmi,moniker,Python,Wmi,Moniker,我无法使用WMI查询日志“安全性”。其他日志工作正常。以下是我使用的: import wmi c = wmi.GetObject(r"winmgmts:{impersonationLevel=delegate,(Security)}!\\.\root\cimv2") for i in c.ExecQuery("SELECT * FROM Win32_NTLogEvent WHERE Logfile = 'Security'"): print i 它返回空结果,并在安全日志中创建reac

我无法使用WMI查询日志“安全性”。其他日志工作正常。以下是我使用的:

import wmi
c = wmi.GetObject(r"winmgmts:{impersonationLevel=delegate,(Security)}!\\.\root\cimv2")
for i in c.ExecQuery("SELECT * FROM Win32_NTLogEvent WHERE Logfile = 'Security'"):
    print i
它返回空结果,并在安全日志中创建reacord“审核失败”。正如我提到的,我可以查询所有其他日志,但不能查询这个特定的日志。 所以我想问题出在这里

c=wmi.GetObject(这里有个问题


您是否考虑过使用
win32evtlog
方式?这是我在过去使用过的一部分,它似乎工作得很好

import win32evtlog

outfile = open('NTLog.log', 'w')
server = 'SERVER_Name'
logtype = 'Security'
hand = win32evtlog.OpenEventLog(server, logtype)
flags = win32evtlog.EVENTLOG_BACKWARDS_READ|win32evtlog.EVENTLOG_SEQUENTIAL_READ
total = win32evtlog.GetNumberOfEventLogRecords(hand)
count = 0
while count != total:
    events = win32evtlog.ReadEventLog(hand, flags,0)
    if events:
        for event in events:
            data = event.StringInserts
            if data:
                outfile.write(data[0])
这并不是一个真正完整的实现,但希望它能让您回到正轨