我从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”时 事件日志,然后它给了我正确的结果。
请帮忙。