Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
Xml 获取Windows事件日志列表VBA访问_Xml_Ms Access_Vba - Fatal编程技术网

Xml 获取Windows事件日志列表VBA访问

Xml 获取Windows事件日志列表VBA访问,xml,ms-access,vba,Xml,Ms Access,Vba,我正在尝试生成设置为在事件中触发的XML任务。因此,我需要将每个日志的确切格式注入到通用XML模板中。有没有办法插入上面突出显示的字段,将它们添加到数据库中的表中?经过大量研究,我能找到的最接近的答案是扫描注册表文件夹中的所有可用日志 对于我关注的字段,这些字段位于以下位置: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\ 从这里开始,我使用循环来获取文件夹名称。虽然要获得所有结果,我必须扫描它们的子文件夹(这是通过


我正在尝试生成设置为在事件中触发的XML任务。因此,我需要将每个日志的确切格式注入到通用XML模板中。有没有办法插入上面突出显示的字段,将它们添加到数据库中的表中?

经过大量研究,我能找到的最接近的答案是扫描注册表文件夹中的所有可用日志

对于我关注的字段,这些字段位于以下位置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\
从这里开始,我使用循环来获取文件夹名称。虽然要获得所有结果,我必须扫描它们的子文件夹(这是通过更改路径完成的。下面是一个代码片段,以防其他人发现此问题)

Function test()
Const HKEY_LOCAL_MACHINE = &H80000002
Dim temp As Object
Dim strComputer As String
Dim rPath As String
Dim arrSubKeys()
Dim strAsk

strComputer = "."
Set temp = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")

rPath = "SYSTEM\CurrentControlSet\Services\EventLog\Application"
temp.EnumKey HKEY_LOCAL_MACHINE, rPath, arrSubKeys
For Each strAsk In arrSubKeys
    Debug.Print strAsk
Next
End Function

经过大量研究后,我能找到的最接近的答案是扫描注册表文件夹中的所有可用日志

对于我关注的字段,这些字段位于以下位置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\
从这里开始,我使用循环来获取文件夹名称。虽然要获得所有结果,我必须扫描它们的子文件夹(这是通过更改路径来完成的。下面是一个代码片段,以防其他人发现此问题

Function test()
Const HKEY_LOCAL_MACHINE = &H80000002
Dim temp As Object
Dim strComputer As String
Dim rPath As String
Dim arrSubKeys()
Dim strAsk

strComputer = "."
Set temp = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")

rPath = "SYSTEM\CurrentControlSet\Services\EventLog\Application"
temp.EnumKey HKEY_LOCAL_MACHINE, rPath, arrSubKeys
For Each strAsk In arrSubKeys
    Debug.Print strAsk
Next
End Function

为什么要将事件触发器中的字段放入数据库?还是要将事件的日志字段和源字段放入数据库?如果后者是事件日志条目对象上的字段,则后者是正确的。您能否详细说明如何从Access/VBA中使用事件日志条目对象,以便导入你应该能够找到很多使用WMI读取事件日志的脚本示例:这是从其他(基于Com的)方法中最简单的方法VB变体。对对象进行一些研究似乎很容易查询实际日志,但我关注的是日志/源的类型。抱歉,澄清一下,我对实际日志不感兴趣。只关注可能出现的日志类型。因此,所有类型的日志,以及它们的源。您希望将事件触发器中的字段放入其中的原因是什么您的数据库。或者您的意思是将事件的日志和源字段放入您的数据库?如果后者是事件日志条目对象上的字段,则后者是正确的。您能否详细说明我将如何从Access/VBA中使用事件日志条目对象,以便将它们导入到表中?您应该能够找到许多脚本使用WMI读取事件日志的示例:这是从其他(基于Com)读取事件日志的最简单方法VB变体。对对象进行一些研究似乎很容易查询实际日志,但我关注的是日志/源的类型。抱歉,澄清一下,我对实际日志不感兴趣。只对可能出现的日志类型感兴趣。所以所有类型的日志,以及它们的源