2017-04-20 1 views

답변

3

-Id 매개 변수는 속성 이름별로 파이프 라인 입력을 허용하므로 PID가 들어있는 적절한 이름으로 다른 속성을 추가해야합니다. 가능한 한 직접 경로를 사용합니다.

Get-NetTCPConnection | ForEach-Object { Get-Process -Id $_.OwningProcess } 
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-Help Get-Process -PArameter Id를 실행하는 경우 또는 당신은 ID 매개 변수는 속성 이름으로 파이프 라인의 값을 받아 볼 수 있습니다

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

을, 당신 때문에 해당 속성을 만들면 Get-Process에 직접 연결하면됩니다.

Get-NetTCPConnection -State Listen -LocalPort 6005 | 
    Select @{l='Id';e={$_.OwningProcess}} | 
    Get-Process 
관련 문제