Я пишу событие, которое срабатывает, когда специальный USB-ключ отключен от устройства, чтобы заблокировать его. Я могу запустить следующий штраф из PowerShell с помощью Get-WinEvent, и я получу ожидаемые результаты.Почему этот XPath работает в PowerShell, но не Task Scheduler?
*[System[(EventID=2102)]] and *[UserData[UMDFHostDeviceRequest[@instance="SWD\WPDBUSENUM\_??_USBSTOR`#DISK&VEN_&PROD_&REV_PMAP#070732AAB9D7B007&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}"]]]
Однако затыкать, что в результатах запроса фильтра Редактирование событий в 'Запрос журнала событий является недопустимым. Что дает? Весь фильтр такой:
<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>
Спасибо!
Я не знаю, почему PowerShell не жаловался на это. Большое спасибо! – Bigsby
Это не для XPath, а для самого XML, что '&' должно быть экранировано. Если вы указали XPath на PowerShell или любую другую библиотеку в виде строки, а не вставляли в XML-файл, вы могли бы использовать необработанные '&' без проблем. – kjhughes