Erik Bitemo rất đẹp! Tôi đã nghĩ đến việc thêm một biến cho đường dẫn sau đó tôi nhận ra bạn đã có nó mặc dù nó không được xác định. Vì vậy, mã tôi sử dụng lại là:
$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*"}
}
Tôi đã cố gắng tìm các quy trình và dịch vụ cho một ứng dụng mà tôi đã sử dụng 2 lớp lót khác nhau.
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