2

我是 Powershell 新手,有一个简短的问题。我正在使用的输出来自 sysinternals.com CSV 格式的 autorunsc 工具。该脚本的目的是在 CSV 中搜索某些二进制名称。

导入按预期进行,但我无法将其写入我的过滤信息

$IOCFiles = "es.dll", "null.sys" 

$data = import-csv "D:\autoruns.csv" -header("Entry_Location","Entry","Enabled","Category","Description","Publisher","Image_Path","Launch_String","MD5","SHA-1","SHA-256") 

foreach ($K in $data)  
{ 
    foreach($element in $IOCFiles) 
    { 
        if ($k.Image_Path -match $element) 
        { 
            $hits = $k.Entry + "          " + $K.Publisher + "          " + $K.Image_Path 
            $hits | export-csv -Path c:\HITS.csv -NoTypeInformation
        } 
   } 
}

以上内容不会生成 CSV 中的实际数据,而是生成有关值长度的信息。有许多很好的导入/导出示例,但我没有看到一个包含导入列的示例。由于我正在玩类似的东西,我必须使用列导入方法。

谢谢!

4

1 回答 1

4

Powershell 使这种事情变得非常容易:

Import-csv "D:\autoruns.csv" -header("Entry_Location","Entry","Enabled","Category" |
  Where-Object{($IOCFiles -match $_.Image_Path) -ne $null} | 
  Select-Object Entry, Publisher, Image_Path |
  Export-CSV -Path c:\HITS.csv -NoTypeInformation

我现在没有时间测试它,所以它可能存在一些问题,但这就是它的要点。

于 2012-06-15T14:27:06.663 回答