从过滤xml get-winEvent收到错误的参数

时间:2016-01-22 12:06:37

标签: xml powershell logging event-log

我从xml文件中过滤事件日志字段(EventData),并将值作为参数传递给powershell脚本。以下是我使用值查询标记获取的值: -

<ValueQueries>
        <Value name="ServiceName">Event/EventData/Data[@Name='param1']</Value>
        <Value name="Status">Event/EventData/Data[@Name='param2']</Value>
        <Value name="eventID">Event/System/EventID</Value>
      </ValueQueries>

以下是事件日志文件

中的事件数据字段
 <EventData>
  <Data Name="param1">PW Service</Data> 
  <Data Name="param2">stopped</Data> 
  <Binary>500057002F0031000000</Binary> 
  </EventData>

这是我将参数传递给我的脚本的方式

 <Exec>
      <Command>Powershell.exe</Command>
      <Arguments>C:\Users\AKSHAY\Desktop\BatchScripting\PWDown.ps1 $(eventID) $(ServiceName) $(Status)</Arguments>
    </Exec>

现在当我根据我创建的过滤器将参数传递给我的脚本时,它应该给我如下: -

eventID=7036
ServiceName=PW Service
Status=Stopped

相反,它给我如下: -

eventID=7036
ServiceName=PW
Status=Service
  

要添加,我怀疑这是因为“PW服务”中的(空格)   因为当我将服务名称(eventData字段中的param1)更改为“PW”时   事件日志,然后它给了我正确的结果。

请帮忙。

0 个答案:

没有答案