我正在运行漏洞扫描,并且我有一个导入的原始CSV文件。我从文件中删除 Risk = None ,然后提取我需要的信息(名称的漏洞,主机,风险, CVE ,说明,解决方案,另请参阅)。
我想做的是将文件更多地删除并创建
根据每个漏洞名称(主机,风险,CVE,说明等),使用结果填充单独的文件。因此,在文件V001中,V001漏洞的所有受影响主机都将填充在该文件中,依此类推。
$all = Import-Csv c:\scan.csv
$all_with_none_removed = $all | Where-Object {$_.Risk -ne "None"}
$Sumary_By_Vuln = $all_with_none_removed |
select Name, Host, Risk, CVSS, CVE, Description, Solution, 'See Also' |
Sort-Object Name
$Sumary_By_Vuln | Export-Csv C:\final.csv
答案 0 :(得分:1)
您可以按名称对输入进行分组,并将每个组导出到单独的文件中:
$all_with_none_removed |
Select-Object Name, Host, Risk, CVSS, CVE, Description, Solution, 'See Also' |
Group-Object Name |
ForEach-Object { $_.Group | Export-Csv ($_.Name + '.csv') }
答案 1 :(得分:0)
提示:您可以先从数据中提取所有不同的名称:
$Names = $all_with_none_removed | Select-Object Name -Unique
然后循环使用这些名称的代码foreach
(提示提示),过滤掉您发现的结果,方法与删除无风险结果的方式类似。
很抱歉没有提供完整的解决方案,但您在这里学习正确吗?