Powershell进一步解析select-object

时间:2016-04-21 02:23:43

标签: powershell

所以对于@Frode F.给我的这个剧本,我怎么能进一步解析呢? 这是@Frode F.给我的 -

Get-WinEvent -FilterHashtable @{
LogName = 'Security'
ID = 4688
} | Select-Object TimeCreated,@{name='NewProcessName';expression={ $_.Properties[5].Value }}, @{name='CommandLine';expression={ $_.Properties[8].Value }}

现在我如何解析它以删除某些事件?这是我的代码 -

$search = @("C:\*")
Get-WinEvent -FilterHashtable @{
LogName = 'Security'
ID = 4688
} | Select-Object TimeCreated,@{name='NewProcessName';expression={ $_.Properties[5].Value }}, @{name='CommandLine';expression={ $_.Properties[8].Value }
}  | Where-Object -FilterScript { $_.Properties[8].Value -notlike $search} 

这一直让我无法索引到null数组。

1 个答案:

答案 0 :(得分:2)

Where-Object cmdlet正在对前面的Select-Object cmdlet中传出的结果进行操作。

尝试更换:

$_.Properties[8].Value -notlike $search

使用:

$_.CommandLine -notlike $search

编辑:@Negorath和@Kiran是正确的。如果您在选择之前重新安排管道以过滤,则可能会得到性能更佳的解决方案。