2016-01-22 9 views
7

Ho creato un agente per leggere l'evento di Windows utilizzando WMI. Sto usando l'agente degli ultimi 3 anni per raccogliere eventi. È utilizzato in un prodotto SEIM. La query appare comeQuery WMI per leggere "Microsoft-Windows-AppLocker/EXE e DLL" C#

SELECT * FROM Win32_NTLogEvent where LogFile = 'System' or logFile='Active Directory Web Services' 

Sono in grado di ottenere correttamente gli eventi. Ma ora voglio leggere gli eventi apploacker 'Microsoft-Windows-AppLocker/EXE e DLL' (Registri applicazioni e sicurezza -> Microsoft -> Windows -> AppLocker -> Exe e DLL).

Ho provato la query seguente ma restituisce zero record anche se ho più di 40 record. Posso vedere il record nel visualizzatore di eventi.

SELECT * FROM Win32_NTLogEvent where LogFile = 'Microsoft-Windows-AppLocker/EXE and DLL' 

Ho provato con "wbemtest" ma nessun record senza errori.

Non sono sicuro se questo può essere raggiunto in qualsiasi altro modo utilizzando WMI. So che Powershell ha un cmdlet e attraverso il quale sono in grado di leggere eventi "Microsoft-Windows-AppLocker/EXE e DLL". Ma voglio leggerlo usando WMI.

Qualsiasi suggerimento sarà molto apprezzato.

Grazie in anticipo a tutti gli spettatori.

+0

si sono in esecuzione come amministratore? – mikep

+0

Sì, certo. Senza dominio. Spegni/Attiva UAC non influisce. – Zam

risposta

6

Sembra che la Query WMI analizzi la posizione del registro di sistema HKLM\SYSTEM\CurrentControlSet\Services\EventLog per i registri eventi disponibili (vedere MSDN Forum post). Controlla la lista che trovi lì con il risultato della query Select * FROM Win32_NTEventLogFile.

Per aggiungere un file di registro per le operazioni WMI, aggiungere una nuova chiave nella posizione del registro sopra con il nome del registro ('Microsoft-Windows-AppLocker/EXE e DLL' nel proprio caso). Ora dovrebbe restituire quel registro con la tua query WMI.