【问题标题】:Accessing results of event viewer value query in task scheduler action在任务计划程序操作中访问事件查看器值查询的结果
【发布时间】:2018-11-22 03:37:46
【问题描述】:

我正在尝试在 Windows 10 中实现计划任务。该任务由多个事件触发,我想将触发该任务的事件 ID 传递给操作。

所以我有以下值查询:

      <ValueQueries>
         <Value name="eventID">Event/System/EventID</Value>
      </ValueQueries>

以及 ExecAction 中的参数:

<Arguments>--event $(eventID)</Arguments>

但是当任务被触发时,我得到一个错误代码:2147942409

将其转换为十六进制是 0x80070009。

Windows 错误? “存储控制块地址无效”?

我不明白它想告诉我什么?

在命令行上没有 $(eventID) 的情况下,任务可以正常执行(只是没有做任何有用的事情)。

【问题讨论】:

    标签: xml windows task scheduler


    【解决方案1】:

    我最终找到了答案 - 并且已经旅行了一段时间,并且没有从事这个项目。

    该脚本实际上要求任务调度程序在两个事件上触发,并为触发器集合中的每个事件 id 有一个单独的触发器定义。这样可行。不起作用的是在每个定义中对值查询使用相同的名称属性。这就是产生错误的原因——尽管它是有效的 XML,但我实际上两次声明了同一个变量,所以调度程序决定通过抛出一个无意义的错误来惩罚我。

    解决方法是将两个触发器定义合二为一,即只定义一个值查询:

        <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0"&gt;&lt;Select Path="Microsoft-Windows-NetworkProfile/Operational"&gt;*[System[(EventID=10000) or (EventID=10001)]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
      <ValueQueries>
        <Value name="eventID">Event/System/EventID</Value>
      </ValueQueries>
    </EventTrigger>
    

    现在一切顺利,原型已交付给客户!

    【讨论】:

      猜你喜欢
      • 2018-12-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2014-11-14
      • 2015-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多