get-nettcpconnection | select local*,remote*,state,@{Name='Process';Expression={(Get-Process -Id $_.OwningProcess).ProcessName }}

список всех процессов, мне нужно отфильтровать по имени процесса.

1 ответ1

0

если я правильно понял вопрос, вы хотите, чтобы возвращались только определенные процессы. Вы можете сделать это с помощью фильтра where .

добавьте процессы, которые вы хотите вернуть, в $searchfor

$searchfor = @("wininit","TeamViewer")
get-nettcpconnection | 
    select local*,remote*,state,@{Name='Process';Expression={(Get-Process -Id $_.OwningProcess).ProcessName }} |
        where { $_.Process -in $searchfor }

Вы также можете сделать это следующим образом, что, вероятно, немного быстрее, поскольку вы запускаете get-nettcpconnection только для процессов, которые вас интересуют:

$searchfor = @("wininit","TeamViewer")
Get-Process $searchfor | % { 
    $Proc = $_
    Get-nettcpconnection -OwningProcess $_.ID |
        select local*,remote*,state,@{Name='Process';Expression={$Proc.ProcessName}}
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .