Менеджер попросил меня регистрировать время и дату запуска и остановки, когда пользователь запускает определенную программу (Starcraft II). Я включил ведение журнала на машине пользователя, чтобы он сообщал обо всех созданных и завершенных процессах. (Журналы Windows -> Безопасность)
Я не могу фильтровать журналы, чтобы показать "только" создание и завершение процесса указанных программ.
Информация о создании процесса выглядит следующим образом.
NewProcessId 0xc10 NewProcessName C:\Program Files (x86)\StarCraft II\StarCraft II.exe TokenElevationType %%1936 ProcessId 0xa70 NewProcessId 0xf18 NewProcessName C:\Program Files (x86)\StarCraft II\Support\SC2Switcher.exe TokenElevationType %%1936 ProcessId 0xc10 NewProcessId 0x1a0c NewProcessName C:\Program Files (x86)\StarCraft II\Versions\Base16605\SC2.exe TokenElevationType %%1936 ProcessId 0xf18
Завершение процесса использует ту же информацию ProcessId.
Какой XML-запрос даст "только" рассматриваемые журналы?
Все это в среде Windows 7.
Выражения Microsoft xpath, похоже, не поддерживают фильтрацию значений с атрибутами. В глубине XML контейнеризация выглядит так:
[EventID] [Data Name="NewProcessName"]"C:\Program Files (x86)\StarCraft II\StarCraft II.exe"[/Data] [/EventID]
Проблема в том, что выражения Microsoft XPath не могут указывать равенство для значения этого поля. Он может проверить, существует ли равенство, за его пределами.
Может, я еще не откопал. В любом случае это может помочь:
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[EventData[Data[@Name="NewProcessName"]] and System[(EventID=4688)]]</Select>
</Query>
</QueryList>
Если вы не прочь немного поработать с PowerShell, попробуйте. Он сбросит CSV-файл, с которым вы можете играть в Excel, в текущем каталоге.
Get-EventLog Security -ComputerName RemotePC | ?{$_.Message -ilike '*StarCraft*'} | Export-Csv SecurityLog.csv
Вы также можете добавить такие дополнительные условия:
Get-EventLog Security -ComputerName RemotePC | ?{$_.Message -ilike '*StarCraft*' -or $_.Message -ilike '*Something Else*'} | Export-Csv SecurityLog.csv