我试图通过在 select-xml 和Get-WinEvent
. 但有些Get-WinEvent
模式似乎不适用于Select-Xml
. 我得到:
表达式必须计算为节点集
如果我输入“|”,它会起作用 而不是第一个“和”。我从 Windows 日志中创建了一个 xml 文件。我猜你不能在第二个命令中“和”两条路径?我想应该是
*[System[EventID=4624] and EventData[Data [@Name='TargetUserName'] and Data='testuser']]
但Get-WinEvent
更宽容。
# works ok (login event)
Get-WinEvent Security -FilterXPath "*[System[EventID=4624]] and
*[EventData[Data[@Name='TargetUserName'] and Data='testuser']]"
# error
# "| select -expand node" if you want the xml object
select-xml "*[System[EventID=4624]] and
*[EventData[Data [@Name='TargetUserName'] and Data='testuser']]" event.xml
select-xml : Expression must evaluate to a node-set.
At line:1 char:2
+ select-xml "*[System[EventID=4624]] and *[EventData[Data [@Name='Tar ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Select-Xml], XPathException
+ FullyQualifiedErrorId : System.Xml.XPath.XPathException,Microsoft.PowerShell.Commands.SelectXmlCommand
这是一个简化的 event.xml:
<Event>
<System>
<EventID>4624</EventID>
</System>
<EventData>
<Data Name="TargetUserName">testuser</Data>
</EventData>
</Event>