Sehr schön Erik Bitemo! Ich dachte daran, eine Variable für den Pfad hinzuzufügen, dann wurde mir klar, dass Sie das bereits haben, obwohl es nicht definiert war. Also war der Code, den ich wiederverwendet habe:
$nets = netstat -ano |select-string LISTENING;
foreach ($n in $nets)
{
# make split easier PLUS make it a string instead of a match object
$p = $n -replace ' +',' ';
# make it an array
$nar = $p.Split(' ')
# pick last item...
$pname = $(Get-Process -id $nar[-1]).ProcessName
$ppath = $(Get-Process -id $nar[-1]).Path;
# print the modified line with processname instead of PID
$n -replace "$($nar[-1])","$($ppath) $($pname)" | where {$pname -like "*GMSVP*"}
}
Ich habe versucht, die Prozesse und Dienste für eine Anwendung zu finden, bei der ich einen etwas anderen 2-Liner verwendet habe.
Get-Service | select status,name,displayname,servicename | where {($_.DisplayName -like "myserv*") -or ($_.servicename -like "post*")} | ft -auto
Get-Process | select id, processname,cpu,path,description | where {$_.path -like "*myserv*"} | ft -auto