(Get-NetUDPEndpoint |
Select-Object LocalPort, OwningProcess
) (Get-NetTCPConnection |
Select-Object LocalPort, OwningProcess
) |
Sort-Object LocalPort, LocalAddress
Get-WmiObject win32_service | Select-Object Name, ProcessId
我想結合上面的兩個代碼并輸出如下
Name LocalPort OwningProcess
application name 135 1148
application name 135 1148
application name 137 4
application name 138 4
application name 138 2084
application name 139 4
application name 445 4
application name 500 3932
application name 500 3932
謝謝
uj5u.com熱心網友回復:
首先構建兩個將行程 ID 映射到行程和服務的字典:
$processes = @{}
Get-Process |ForEach-Object { $processes[$_.Id] = $_ }
$services = @{}
Get-CimInstance Win32_Service |ForEach-Object {
# multiple services might share a process host, make sure we always store or update an array
if(-not $services.ContainsKey($_.ProcessId)){
$services[$_.ProcessId] = @( $_ )
} else {
$services[$_.ProcessId] = $_
}
}
既然我們已經方便地將行程 ID 映射到行程和服務物體,我們可以使用計算屬性來根據 PID 決議名稱:
@(
Get-NetUDPEndpoint
Get-NetTCPConnection
) |Select @{Name='Process';Expression={ $processes[[int]$_.OwningProcess].Name }},@{Name='Services';Expression={ $services[$_.OwningProcess].Name }},LocalPort,OwningProcess
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/372239.html
上一篇:使用Invoke-Item通過可變檔案夾路徑呼叫.exe并傳遞/qn引數
下一篇:PowerShell獲取程式目錄
