我正在尝试在Windows 10中实现计划任务。该任务由多个事件触发,我想将触发任务的事件ID传递给操作。
所以我有以下值查询:
<ValueQueries>
<Value name="eventID">Event/System/EventID</Value>
</ValueQueries>
还有ExecAction中的参数:
<Arguments>--event $(eventID)</Arguments>
但是当任务被触发时,我得到一个错误代码:2147942409
将其转换为十六进制是0x80070009。
Windows错误? “存储控制块地址无效”?
我不明白它要告诉我什么?
在命令行中没有$ {eventID)的情况下任务执行正常(只是没有任何用处)。
答案 0 :(得分:0)
我终于找到了答案-出差了一段时间,没有从事这个项目。
该脚本实际上要求任务计划程序在两个事件上触发,并且对于触发器集合中的每个事件ID都有单独的触发器定义。这样可行。不起作用的是对每个定义中的值查询使用相同的name属性。这就是产生错误的原因-尽管它是有效的XML,但实际上我两次声明了相同的变量,因此调度程序决定通过抛出无意义的错误来惩罚我。
解决方案是将两个触发器定义合并为一个,这意味着仅定义了一个值查询:
<EventTrigger>
<Enabled>true</Enabled>
<Subscription><QueryList><Query Id="0"><Select Path="Microsoft-Windows-NetworkProfile/Operational">*[System[(EventID=10000) or (EventID=10001)]]</Select></Query></QueryList></Subscription>
<ValueQueries>
<Value name="eventID">Event/System/EventID</Value>
</ValueQueries>
</EventTrigger>
现在很高兴,原型已经交付给客户!