I'm dealing with a .csv export from Nessus, where essentially I have a column of Host IPs and a column with Plugin IDs
My customer wants an output where, for example, Plugin X would be in a column, and then next to it would be a comma separated list of affected Host IPs, and then next to THAT would be a count of the affected Host IPs.
After importing the Nessus CSV with Powershell, I was able to start to get what I needed with this:
$allfiltered | select-object 'Host IP','Plugin ID' | Where-Object 'Plugin ID' -like "57041" | Format-Table -Property 'Plugin ID','Host IP'
This gives me an output like this:
57041 10.1.1.1
57041 10.1.1.2
57041 10.1.1.3
57041 10.1.1.4
57041 10.1.1.5
57041 10.1.1.6
57041 10.1.1.7
But as you can see, I have a long way to go to pull this into the output I need (see pic above).
I think I'm eventually going to need a for loop to get all the plugin values assessed, but I need to figure out how to essentially query for "Take all IPs that match plugin X and place them into a comma separated list" and go from there.
Can you help steer me in the right direction?
-B