为什么这个 XPath 在 PowerShell 中有效,但在 Task Scheduler 中无效?

Why will this XPath work in PowerShell but not Task Scheduler?

我正在编写一个事件,当从机器上拔下特定的 USB 密钥以锁定它时会触发该事件。我可以在 PowerShell 中使用 Get-WinEvent 运行以下命令,我得到了我期望的结果。

*[System[(EventID=2102)]] and *[UserData[UMDFHostDeviceRequest[@instance="SWD\WPDBUSENUM\_??_USBSTOR`#DISK&VEN_&PROD_&REV_PMAP#070732AAB9D7B007&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}"]]]

但是,将其插入“编辑事件过滤器”查询会导致 'The Event Log query specified is invalid.' 给出了什么?整个过滤器是这样的:

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational">
    <Select Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational">
*[System[(EventID=2102)]] and *[UserData[UMDFHostDeviceRequest[@instance="SWD\WPDBUSENUM\_??_USBSTOR#DISK&VEN_&PROD_&REV_PMAP#070732AAB9D7B007&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}"]]]
    </Select>
  </Query>
</QueryList>

谢谢!

您的 XML QueryList 格式不正确,因为原始 & 个字符。

尝试 &amp; 代替 & 的四次出现中的每一个。