【问题标题】:Task Scheduler - Custom event filter trigger is not triggering action任务计划程序 - 自定义事件过滤器触发器未触发操作
【发布时间】:2015-11-19 07:38:05
【问题描述】:

我们的服务器在任务计划程序中有许多任务,这些任务按不同的计划运行。只有当一项特定任务完成时,我才需要通过电子邮件收到通知。看到成功完成任务的相应事件 ID 是 102,我能够创建一个事件,该事件会在任何任务完成时向我发送电子邮件,确保我的电子邮件操作配置正确。当我试图为我的名为“电子邮件解析器”的任务触发此电子邮件时,我的问题就出现了,我相信我需要一个自定义触发器才能发生这种情况。

我做了什么:

在我的电子邮件事件的“触发器”选项卡中,我选择开始任务“在事件上”,选择“自定义”单选框,然后选择“编辑事件过滤器”。

我选择了“按源”并从下拉列表中选择了“TaskScheduler”。在文本框显示“<All Event IDs>”的地方,我将其更改为 102。为简单起见,我暂时将其他所有内容保持不变。

XML 选项卡自动填充以下内容:

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-TaskScheduler/Debug">
    <Select Path="Microsoft-Windows-TaskScheduler/Debug">*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and (EventID=102)]]</Select>
    <Select Path="Microsoft-Windows-TaskScheduler/Diagnostic">*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and (EventID=102)]]</Select>
    <Select Path="Microsoft-Windows-TaskScheduler/Operational">*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and (EventID=102)]]</Select>
    <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and (EventID=102)]]</Select>
  </Query>
</QueryList>

当我单击“确定”并尝试确认这些更改时,我收到一个弹出窗口,提示“错误消息:报告了以下错误:不支持该请求..”

在对自定义触发器进行了更多研究后,我发现http://www.thegreenbutton.tv/forums/viewtopic.php?f=22&t=4948 是为自定义触发器创建正确 XML 的明确参考。

按照这些说明,我构建了以下内容:

<QueryList>
  <Query Id="0" Path="System">
    <Select Path="System">
*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and (EventID=102)]] 
and 
*[EventData[Data[@Name='TaskName'] and (Data='Email Parser')]]
</Select>
  </Query>
</QueryList>

当我单击确定并输入密码进行确认时,任务计划程序似乎接受了触发器的这些参数,但事件永远不会触发!我可以手动告诉这个事件运行没有问题。问题在于我的触发器,但我需要另一双眼睛来告诉我我错过了什么。

我从电子邮件解析器任务的“历史记录”选项卡中引用的相关详细信息如下:

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Microsoft-Windows-TaskScheduler" Guid="{de7b24ea-73c8-4a09-985d-5bdadcfa9017}" /> 
  <EventID>102</EventID> 
  <Version>0</Version> 
  <Level>4</Level> 
  <Task>102</Task> 
  <Keywords>0x8000000000000000</Keywords>  
  <Channel>Microsoft-Windows-TaskScheduler/Operational</Channel> 
  </System>
- <EventData Name="TaskSuccessEvent">
  <Data Name="TaskName">\Email Parser</Data>  
  </EventData>
  </Event>

提前感谢您的帮助!

【问题讨论】:

    标签: xml windows triggers server scheduled-tasks


    【解决方案1】:

    这似乎是一篇旧帖子,但当我也在尝试类似的解决方案时,我找到了解决方案。希望这对那些解决这个问题的人有用。

    XML 查询应包含\

    *[EventData[Data[@Name='TaskName'] and (Data='\Email Parser')]]
    

    另外在另一个网站 (blog_link) 上,还有其他方法可以添加 taskname 的约束,如下所示:

    *[EventData[Data[1]='\Email Parser']]
    

    【讨论】:

      猜你喜欢
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 2013-03-01
      • 2014-02-14
      • 2020-11-26
      • 1970-01-01
      相关资源
      最近更新 更多