如何通过进程名称和 ID 来定位事件?

如何通过进程名称和 ID 来定位事件?

我已成功创建了一个由事件 ID 触发的计划任务。例如,我有一个任务,每当记录事件 ID 4688 时,它都会运行 winver.exe。因此,如果我从运行提示符运行 notepad.exe,winver.exe 也会运行。但这意味着运行的任何 EXE 都会触发该任务,进而运行 winver.exe。这个范围太广了。我想缩小范围,以便只有当记录了正确类型的 4688 事件(即 cmd.exe 或 diskpart.exe)时,才会触发任务。

有什么简单的方法可以做到这一点?不仅要针对事件 ID,还要针对记录该事件 ID 的预定义进程名称?

补充截图...

补充

答案1

似乎没有简单易行的方法来实现这一点。只有通过使用 XPath 表达式创建用于触发器的自定义事件过滤器才有可能。换句话说,编辑事件过滤器对话框中没有 GUI 控件元素可以帮助您选择特定数据字段(例如流程名称)来触发任务。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
        *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 13312 and (band(Keywords,9007199254740992)) and (EventID=4688)]]
        and
        *[EventData[Data[@Name='NewProcessName'] and (Data='C:\Windows\System32\cmd.exe')]]
</Select>
  </Query>
</QueryList>

此示例仅当记录事件 ID 4688 且“新进程名称”字段包含字符串时,才会触发任务执行操作(在我的情况下运行 winver.exe)"C:\Windows\System32\cmd.exe"

如果您想做类似的事情,但希望其他字段触发任务,请查看您想要定位的事件。eventvwr.msc从运行提示符运行并浏览到 Windows 日志、安全。双击事件或右键单击,然后单击事件属性以打开属性对话框。然后单击详细信息选项卡并选择 XML 视图。这将帮助您找出可以用作目标的其他字段。使用与上面示例相同的语法。

补充截图...

事件属性

答案2

根据以下事件 [无法上传截图],此查询是否正确: 在此处输入图片描述 * [System[Provider[@Name='Microsoft-Windows-NetworkProfile'] 和 EventID=10000] 和 [System[Data Name[@Name='donain.local']]

Log Name:      Microsoft-Windows-NetworkProfile/Operational
Source:        Microsoft-Windows-NetworkProfile
Date:          30/01/2024 11:22:17
Event ID:      10000
Task Category: None
Level:         Information
Keywords:      (35184372088832),(32)
User:          LOCAL SERVICE
Computer:      hostname.domain.local
Description:
Network Connected
    Name: domain.local
    Desc: domain.local
    Type: Managed
    State: Connected,IPV4 (Internet)
    Category: Domain Authenticated

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-NetworkProfile" Guid="{fbcfac3f-8459-419f-8e48-1f0b49cdb85e}" />
    <EventID>10000</EventID>
    <Version>0</Version>
    <Level>4</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x4000200000000020</Keywords>
    <TimeCreated SystemTime="2024-01-30T11:22:17.7886211Z" />
    <EventRecordID>2958</EventRecordID>
    <Correlation />
    <Execution ProcessID="3060" ThreadID="10400" />
    <Channel>Microsoft-Windows-NetworkProfile/Operational</Channel>
    <Computer>hostname.domain.local</Computer>
    <Security UserID="S-1-5-19" />
  </System>
  <EventData>
    <Data Name="Name">domain.local</Data>
    **<Data Name="Description">domain.local</Data>**
    <Data Name="Guid">{87863f8a-97c6-47f3-918d-1503887f4e70}</Data>
    <Data Name="Type">1</Data>
    <Data Name="State">9</Data>
    <Data Name="Category">2</Data>
  </EventData>
</Event>

相关内容