【发布时间】:2022-01-25 18:43:04
【问题描述】:
这是PowerShell | EVTX | Compare Message with Array (Like)的后续问题
我稍微改变了策略,现在我正在收集所有安装的服务,
$7045 = Get-WinEvent -FilterHashtable @{ Path="1system.evtx"; Id = 7045 } | select
@{N=’Timestamp’; E={$_.TimeCreated.ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ')}},
Id,
@{N=’Machine Name’; E={$_.MachineName}},
@{N=’Service Name’; E={$_.Properties[0].Value}},@{N=’Image Path’;E=$_.Properties[1].Value}},
@{N=’RunAsUser’; E={$_.Properties[4].Value}},@{N=’Installed By’; E={$_.UserId}}
现在我匹配每个对象的任何可疑特征,如果找到,我添加一个值为“是”的“可疑”列。这是因为我想把决定权留给分析师,并且很确定坏人可能会使用我们以前从未见过的东西。
foreach ($Evt in $7045)
{
if ($Evt.'Image Path' -match $sus)
{
$Evt | Add-Member -MemberType NoteProperty -Name 'Suspicious' -Value 'Yes'
}
}
现在,我无法让 PowerShell 显示所有列,除非我专门 Select 他们
$7045 | Format-Table
CSV 导出也是如此。前两个不包含 Suspicious 列,但第三个包含,但那是因为我明确要求它。
$7045 | select * | Export-Csv -Path test.csv -NoTypeInformation
$7045 | Export-Csv -Path test.csv -NoTypeInformation
$7045 | Select-Object Timestamp, Id, 'Machine Name', 'Service Name', 'Image Path', 'RunAsUser', 'Installed By', Suspicious | Export-Csv -Path test.csv -NoTypeInformation
我阅读了 MS 上的 Export-CSV 文档。在 StackOverFlow 上搜索了一些提示,我认为这与 PS 检查第一行然后比较第二行的属性是否存在等有关。 谢谢
【问题讨论】:
-
是的,iRon!我会看线程并感谢您与我分享。好善良。很有帮助。哇
标签: powershell export-csv