[cmdletbinding()]
param (
[string[]]$targets
)
cls
foreach ($targetHost in $targets){
[xml]$nmapResults = nmap -Pn -oX - $targetHost;
$portResults = @();
foreach ($port in $nmapresults.nmaprun.host.ports.port){
$portinfo = New-Object System.Object;
$portinfo|add-member -membertype noteproperty -name hostname -value $targetHost;
$portinfo|add-member -membertype noteproperty -name protocol -value $($port.protocol);
$portinfo|add-member -membertype noteproperty -name portid -value $($port.portid);
$portinfo|add-member -membertype noteproperty -name state -value $($port.state.state);
$portinfo|add-member -membertype noteproperty -name reason -value $($port.state.reason);
$portinfo|add-member -membertype noteproperty -name reason_ttl -value $( $port.state.reason_ttl);
$portinfo|add-member -membertype noteproperty -name servicename -value $($port.service.name);
$portinfo|add-member -membertype noteproperty -name method -value $($port.service.method);
$portinfo|add-member -membertype noteproperty -name conf -value $($port.service.conf);
$portResults += $portinfo;
}
}
$portresults |ft -auto;