小编Ori*_*ami的帖子

PowerShell Export-CSV - 缺少列

这是 PowerShell 的后续问题| EVTX | 将消息与数组进行比较(例如)

\n

我稍微改变了策略,现在我正在收集所有已安装的服务,

\n
$7045 = Get-WinEvent -FilterHashtable @{ Path="1system.evtx"; Id = 7045 } | select \n@{N=\xe2\x80\x99Timestamp\xe2\x80\x99; E={$_.TimeCreated.ToUniversalTime().ToString(\'yyyy-MM-ddTHH:mm:ssZ\')}},\nId, \n@{N=\xe2\x80\x99Machine Name\xe2\x80\x99; E={$_.MachineName}},\n@{N=\xe2\x80\x99Service Name\xe2\x80\x99; E={$_.Properties[0].Value}},@{N=\xe2\x80\x99Image Path\xe2\x80\x99;E=$_.Properties[1].Value}},\n@{N=\xe2\x80\x99RunAsUser\xe2\x80\x99; E={$_.Properties[4].Value}},@{N=\xe2\x80\x99Installed By\xe2\x80\x99; E={$_.UserId}}\n
Run Code Online (Sandbox Code Playgroud)\n

现在,我匹配每个对象的任何可疑特征,如果找到,我会添加一个值为“是”的“可疑”列。这是因为我想将决定权留给分析师,并且非常确定坏人可能会使用我们以前从未见过的东西。

\n
foreach ($Evt in $7045)\n{\nif ($Evt.\'Image Path\' -match $sus)\n    {\n\n    $Evt | Add-Member -MemberType NoteProperty -Name \'Suspicious\' -Value \'Yes\'\n\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

现在,我无法让 PowerShell 显示所有列,除非我特别指定Select它们

\n
$7045 | Format-Table\n
Run Code Online (Sandbox Code Playgroud)\n

CSV 导出也是如此。前两个不包括Suspicious列,但第三个包括,但那是因为我明确要求它这样做。

\n
$7045 | select * | Export-Csv -Path test.csv -NoTypeInformation\n$7045 …
Run Code Online (Sandbox Code Playgroud)

powershell export-csv

1
推荐指数
1
解决办法
3089
查看次数

标签 统计

export-csv ×1

powershell ×1