get-nettcpconnection | select local*,remote*,state,@{Name='Process';Expression={(Get-Process -Id $_.OwningProcess).ProcessName }}
список всех процессов, мне нужно отфильтровать по имени процесса.
get-nettcpconnection | select local*,remote*,state,@{Name='Process';Expression={(Get-Process -Id $_.OwningProcess).ProcessName }}
список всех процессов, мне нужно отфильтровать по имени процесса.
если я правильно понял вопрос, вы хотите, чтобы возвращались только определенные процессы. Вы можете сделать это с помощью фильтра 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}}
}