WMI查询读取'Microsoft-Windows-AppLocker/EXE和DLL'C#

Eli*_*hne 7 c# wmi wql

我创建了一个代理来使用WMI读取Windows事件.我使用过去3年的代理来收集活动.它用于SEIM产品.查询看起来像

SELECT * FROM Win32_NTLogEvent where LogFile = 'System' or logFile='Active Directory Web Services'
Run Code Online (Sandbox Code Playgroud)

我能够正确地获得这些活动.但现在我想阅读apploacker事件'Microsoft-Windows-AppLocker/EXE和DLL'(应用程序和安全日志 - > Microsoft - > Windows - > AppLocker - > Exe和DLL).

我尝试了下面的查询,但它返回零记录,虽然我有40多条记录.我可以在事件查看器中看到记录.

SELECT * FROM Win32_NTLogEvent where LogFile = 'Microsoft-Windows-AppLocker/EXE and DLL'
Run Code Online (Sandbox Code Playgroud)

我试过"wbemtest"但没有记录没有错误.

我不确定是否可以通过任何其他方式使用WMI实现.我知道Powershell有一个cmdlet,通过它我可以读取'Microsoft-Windows-AppLocker/EXE和DLL'事件.但我想用WMI阅读它.

任何指针都将受到高度赞赏.

提前感谢所有观众.

Nie*_*s V 6

似乎WMI查询解析了HKLM\SYSTEM\CurrentControlSet\Services\EventLog可用事件日志的注册表位置(请参阅MSDN论坛帖子).检查您在那里找到的列表以及查询结果Select * FROM Win32_NTEventLogFile.

要为WMI操作添加日志文件,请在上面的注册表位置添加一个新密钥,其中包含日志名称(在您的情况下为"Microsoft-Windows-AppLocker/EXE和DLL").现在它应该使用您的WMI查询返回该日志.