2017-04-20 14 views

答えて

3

-Idパラメータは、プロパティ名によるパイプライン入力を受け付けるため、PIDを含む適切な名前を持つ別のプロパティを追加する必要があります。可能であれば、通常は直接ルートを使用します:

​​
2

これを行う方法はいくつかあります。変数がプロパティによって照合できないときは、Joey's answerのようにForEach-Objectループを使用するか、何か狂ったことをしたい場合は、ニーズに合わせてパイプラインオブジェクトを調整できます。 Get-Process以来

Get-NetTCPConnection -State Listen -LocalPort 6005 | 
    Select-Object @{Name="PID";E={$_.OwningProcess}} | 
    Get-Process 

私達はちょうどそれが何を望んでそれを与えるために計算されたプロパティを使用してパイプラインの変数プロパティのPIDと一致しようとしています。

この場合、ForEach-Objectを使用する方がずっと簡単です。ちょうど別の方法があることを知りたがっていました。

3

ここには、私が見ることのできるカップルオプションがあります。まず、最も単純な、あなたがForEach-Objectループへのパイプをすることができ、そしてその中でGet-Processを実行します。

また
Get-NetTCPConnection -State Listen -LocalPort 6005 | 
    ForEach-Object { 
     Get-Process -PID $_.OwningProcess 
    } 

あなたがGet-Help Get-Process -PArameter Idを実行する場合は、idパラメータは、プロパティ名でパイプラインからの値を受け入れることがわかりますので、あなたそのプロパティを作成できます。直接Get-Processにパイプすることができます。

Get-NetTCPConnection -State Listen -LocalPort 6005 | 
    Select @{l='Id';e={$_.OwningProcess}} | 
    Get-Process 
関連する問題